@charset "UTF-8";
/* reset -------- */
*, *::before, *::after {
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
}
html {
    -ms-text-size-adjust: 100%;
	-webkit-text-size-adjust: 100%;
	line-height: 1;
}
body {
	position: relative;
	margin: 0;
	padding: 0;
}
article, aside, figure, footer, header, hgroup, nav, section {
	display: block;
}
img, object, embed {
	border-style: none;
	vertical-align: middle;
}
img {
	max-width: 100%;
	height: auto;
	line-height: 0;
}
table {
	border-spacing: 0;
	border-collapse: collapse;
    table-layout: fixed;
}
th {
	text-align: left;
}
em {
	font-style: normal;
	font-weight: bold;
}
a {
	color: inherit;
	text-decoration: none;
	background-color: transparent;
}
video {
	width: 100%;
}
input:focus {
	outline: 0;
	border-color: orange;
}
input[type="submit"] {
	-webkit-appearance: none;
}
sup {
	vertical-align: super;
	font-size: 80%;
}
sub {
	vertical-align: sub;
	font-size: 80%;
}
hr {
	-webkit-box-sizing: content-box;
	box-sizing: content-box;
	height: 0;
	overflow: visible;
}
pre {
	font-family: monospace, monospace;
	font-size: 1em;
}
abbr[title] {
	border-bottom: none;
	text-decoration: underline;
	-webkit-text-decoration: underline dotted;
	text-decoration: underline dotted;
}
b, strong {
	font-weight: bolder;
}
code, kbd, samp {
	font-family: monospace, monospace;
	font-size: 1em;
}

/* Interactive
	 ========================================================================== */
/*
 * Add the correct display in Edge, IE 10+, and Firefox.
 */
details {
	display: block;
}
/*
 * Add the correct display in all browsers.
 */
summary {
	display: list-item;
}
/* Misc
	 ========================================================================== */
/**
 * Add the correct display in IE 10+.
 */
template {
	display: none;
}
/**
 * Add the correct display in IE 10.
 */
[hidden] {
	display: none;
}
/*** coomon ***/
html {
	font-family: "游ゴシック", YuGothic, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
	font-size: 16px;
	color: #000000;
}
@media (max-width: 768px) {
	html {
		font-size: 16px;
	}
}
@media (max-width: 320px) {
	html {
		font-size: 13px;
	}
}


@media (max-width: 768px) {
	.pc {
		display: none !important;
	}
}
@media (min-width: 769px) {
	.sp {
		display: none !important;
	}
}
/* all -------- */
.clearfix {
	zoom: 1;
}
.clearfix:after {
	content: "";
	display: block;
	clear: both;
}
.clearfix .left {
	float: left;
}
.clearfix .right {
	float: right;
}

.mt10{
    margin-top: 10px !important;
}
.mt20{
    margin-top: 20px !important;
}
.mt30{
    margin-top: 30px !important;
}
.mt40{
    margin-top: 40px !important;
}
.mt50{
    margin-top: 50px !important;
}
.mb20{
    margin-bottom: 20px !important;
}
.mb30{
    margin-bottom: 30px !important;
}
.mb40{
    margin-bottom: 40px !important;
}

/*** row ***/
.row {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	margin: -10px;
}
.row > * {
	padding: 10px;
}
.col2 {
	width: 50%;
	width: calc(100% / 2 - 1px);
	max-width: calc(100% / 2);
	-webkit-box-flex: 1;
	-ms-flex-positive: 1;
	flex-grow: 1;
}
.col3 {
	width: 32%;
	width: calc(100% / 3 - 1px);
	max-width: calc(100% / 3);
	-webkit-box-flex: 1;
	-ms-flex-positive: 1;
	flex-grow: 1;
}
.col4 {
	width: 25%;
	width: calc(100% / 4 - 1px);
	max-width: calc(100% / 4);
	-webkit-box-flex: 1;
	-ms-flex-positive: 1;
	flex-grow: 1;
}
.col5 {
	width: 20%;
	width: calc(100% / 5 - 1px);
	max-width: calc(100% / 5);
	-webkit-box-flex: 1;
	-ms-flex-positive: 1;
	flex-grow: 1;
}
.col6 {
	width: 16%;
	width: calc(100% / 6 - 1px);
	max-width: calc(100% / 6);
	-webkit-box-flex: 1;
	-ms-flex-positive: 1;
	flex-grow: 1;
}
.col_inner {
	display: block;
	width: 100%;
	height: 100%;
}

@media (max-width: 1024px) {
	.col2_md {
		width: 50%;
		width: calc(100% / 2 - 1px);
		max-width: calc(100% / 2);
		-webkit-box-flex: 1;
		-ms-flex-positive: 1;
		flex-grow: 1;
	}
	.col3_md {
		width: 32%;
		width: calc(100% / 3 - 1px);
		max-width: calc(100% / 3);
		-webkit-box-flex: 1;
		-ms-flex-positive: 1;
		flex-grow: 1;
	}
	.col4_md {
		width: 25%;
		width: calc(100% / 4 - 1px);
		max-width: calc(100% / 4);
		-webkit-box-flex: 1;
		-ms-flex-positive: 1;
		flex-grow: 1;
	}
	.col5_md {
		width: 20%;
		width: calc(100% / 5 - 1px);
		max-width: calc(100% / 5);
		-webkit-box-flex: 1;
		-ms-flex-positive: 1;
		flex-grow: 1;
	}
	.col6_md {
		width: 16%;
		width: calc(100% / 6 - 1px);
		max-width: calc(100% / 6);
		-webkit-box-flex: 1;
		-ms-flex-positive: 1;
		flex-grow: 1;
	}
}

@media (max-width: 768px) {
	.col2, .col3, .col4, .col5, .col6,
	.col2_md, .col3_md, .col4_md, .col5_md, .col6_md{
		width: 100%;
		max-width: none;
	}
	.row {
		margin: -5px;
	}
	.row > * {
		padding: 5px;
	}
	.col2_sp {
		width: 50%;
		width: calc(100% / 2 - 1px);
		max-width: calc(100% / 2);
		-webkit-box-flex: 1;
		-ms-flex-positive: 1;
		flex-grow: 1;
	}
	.col3_sp {
		width: 32%;
		width: calc(100% / 3 - 1px);
		max-width: calc(100% / 3);
		-webkit-box-flex: 1;
		-ms-flex-positive: 1;
		flex-grow: 1;
	}
	.col4_sp {
		width: 25%;
		width: calc(100% / 4 - 1px);
		max-width: calc(100% / 4);
		-webkit-box-flex: 1;
		-ms-flex-positive: 1;
		flex-grow: 1;
	}
	.col5_sp {
		width: 20%;
		width: calc(100% / 5 - 1px);
		max-width: calc(100% / 5);
		-webkit-box-flex: 1;
		-ms-flex-positive: 1;
		flex-grow: 1;
	}
	.col6_sp {
		width: 16%;
		width: calc(100% / 6 - 1px);
		max-width: calc(100% / 6);
		-webkit-box-flex: 1;
		-ms-flex-positive: 1;
		flex-grow: 1;
	}
}


/*** font ***/
.alC {
	text-align: center !important;
}
.alR {
	text-align: right !important;
}
.alL {
	text-align: left !important;
}
.f_small {
	font-size: 90% !important;
}
.f_xsmall {
	font-size: 80% !important;
}
.f_xxsmall {
	font-size: 70% !important;
}
.f_xxxsmall {
	font-size: 60% !important;
}
.f_large {
	font-size: 110% !important;
}
.f_xlarge {
	font-size: 120% !important;
}
.f_xxlarge {
	font-size: 130% !important;
}
.f_xxxlarge {
	font-size: 140% !important;
}
.f_bold {
	font-weight: bold !important;
}
.f_underline {
	display: inline-block;
	text-decoration: underline;
}
.f_black {
	color: #000000 !important;
}
.f_white {
	color: #FFFFFF !important;
}
.f_yellow {
	color: #f67e41 !important;
}
.f_orange {
	color: #f67e41 !important;
}
.f_blue {
	color: #00479f;
}
.f_bg_yellow {
	display: inline;
	background-color: #ffea5a;
}
.f_line_yellow {
	display: inline;
	background: -webkit-gradient(linear, left top, left bottom, from(rgba(255, 255, 255, 0)), color-stop(54%, rgba(255, 240, 198, 0)), color-stop(55%, #fff0c5), to(#fff0c5));
	background: linear-gradient(to bottom, rgba(255, 255, 255, 0) 0%, rgba(255, 240, 198, 0) 54%, #fff0c5 55%, #fff0c5 100%);
	filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#00ffffff", endColorstr="#fff0c5", GradientType=0);
}
.f_link {
	text-decoration: none;
	-webkit-transition: color 0.3s ease;
	transition: color 0.3s ease;
}
.f_link:hover {
	color: #69318e;
	/*text-decoration: none;*/
}
/*** youtube ***/
.youtube, .wp-block-embed__wrapper {
	width: 100%;
	padding-bottom: calc(100% * 340 / 600);
	height: 0px;
	position: relative;
	margin-bottom: 10px;
}
.youtube iframe, .wp-block-embed__wrapper iframe {
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
}
/*** width ***/
.full_width {
	width: 100vw;
	margin-left: calc((100vw - 100%) / -2);
	margin-right: calc((100vw - 100%) / -2);
}
/*** hover ***/
.hover_opacity {
	opacity: 1;
	-webkit-transition: opacity 0.3s ease, -webkit-filter 0.3s ease;
	transition: opacity 0.3s ease, -webkit-filter 0.3s ease;
	transition: opacity 0.3s ease, filter 0.3s ease;
	transition: opacity 0.3s ease, filter 0.3s ease, -webkit-filter 0.3s ease;
}
.hover_opacity:hover {
	opacity: 0.7;
	filter: alpha(opacity=70);
	-ms-filter: "alpha( opacity=70 )";
}
.hover_reverse {
	display: block;
	position: relative;
}
.hover_reverse .btn_on {
	position: absolute;
	left: 0px;
	top: 0px;
	opacity: 0;
	-webkit-transition: opacity 0.3s ease;
	transition: opacity 0.3s ease;
}
.hover_reverse .btn_off {
	opacity: 1;
	-webkit-transition: opacity 0.3s ease;
	transition: opacity 0.3s ease;
}
.hover_reverse:hover .btn_on {
	opacity: 1;
}
.hover_reverse:hover .btn_off {
	opacity: 0;
}
@media (max-width: 768px) {
    a:hover,
    a:hover img{
        opacity: 1 !important;
    }
}

/*** table_basic ***/
.table_basic {
	width: 100%;
	border-left: 1px solid #CCCCCC;
	border-top: 1px solid #CCCCCC;
}
.table_basic th {
	padding: 10px 20px;
	vertical-align: top;
	text-align: left;
	background-color: #EEEEEE;
	border-right: 1px solid #CCCCCC;
	border-bottom: 1px solid #CCCCCC;
}
.table_basic td {
	padding: 10px 20px;
	border-right: 1px solid #CCCCCC;
	border-bottom: 1px solid #CCCCCC;
}
@media (max-width: 768px) {
	.table_basic,
    .table_basic thead,
    .table_basic tbody,
    .table_basic tr,
    .table_basic th,
    .table_basic td{
		display: block;
        width: 100%;
	}
	.table_basic th {
		padding: 10px;
	}
	.table_basic td {
		padding: 10px;
        margin-bottom: 10px;
	}
}
/*** gmap ***/
.gmap iframe {
	width: 100%;
	height: 300px;
	/*-webkit-filter: grayscale(100%);
	-moz-filter: grayscale(100%);
	-ms-filter: grayscale(100%);
	filter: grayscale(100%);*/
}
@media (max-width: 768px) {
	.gmap iframe {
		height: 280px;
	}
}
/* layout -------- */
#wrapper {
	overflow: hidden;
}
.container {
	max-width: 1020px;
	margin-left: auto;
	margin-right: auto;
    padding-right: 30px;
    padding-left: 30px;
}
@media (max-width: 768px) {
    #wrapper {
    }
	.container {
		padding-left: 15px;
		padding-right: 15px;
	}
	.main_content {
		padding-top: 50px;
		padding-bottom: 50px;
	}
	.side_content {
		padding-top: 50px;
		padding-bottom: 50px;
	}
	.content_2col {
		display: block;
	}
	.content_2col .main_content {
		width: 100%;
	}
	.content_2col .side_content {
		width: 100%;
	}
}
/*** text ***/
h1, h2, h3, h4, h5, h6, p, li, th, td, address, small, i {
	margin: 0;
	padding: 0;
	line-height: 1.5;
}
ol, ul, dl, dt, dd {
	list-style-type: none;
	margin: 0;
	padding: 0;
}
.tar {text-align: right;}
.tac {text-align: center;}

/*** header ***/
.header {
	background-color: #FFFFFF;
    padding-top: 10px;
    padding-bottom: 10px;
}


/*** footer ***/
.footer {
    background-color: #041d4f;
    color: #FFFFFF;
    text-align: center;
    padding-top: 60px;
    padding-bottom: 60px;
}
.f_company {
	font-size: 1rem;
}
.copyright{
    font-size: 1rem;
    margin-top: 10px;
}


@media (max-width: 768px) {
    .footer {
        padding-top: 30px;
        padding-bottom: 30px;
    }
	.footer img {
       width: 50%;
    }
    .f_company {
        font-size: 0.63rem;
    }
    .copyright{
        font-size: 0.63rem;
    }
}


/*** visual ***/

#visual {
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
}
}

@media (max-width: 768px) {
    #visual img{
		width: 100%;
    }
}


/*** common ***/
.subtitle{
    font-size: 2.25rem;
    font-weight: bold;
    line-height: 1.4;
    color: #000000;
    text-align: center;
    margin-bottom: 10px;
}
.title_underline{
    position: relative;
    padding-bottom: 20px;
    margin-bottom: 50px;
}
.title_underline:after{
    content: "";
    display: inline-block;
    width: 70px;
    height: 3px;
    background-color: #000000;
    position: absolute;
    left: 50%;
    bottom: 0px;
    transform: translate3d(-50%,0,0);
}
.w-box{
    padding: 70px 0;
	width: 750px;
	margin: auto;
}
.w-box p{
    margin-bottom: 20px;
}
.w-box p:last-child{
    margin-bottom: 0;
}

@media (max-width: 768px) {
    .subtitle{
        font-size: 1.5rem;
    }
    .title_underline{
        padding-bottom: 10px;
        margin-bottom: 25px;
    }
    .title_underline:after{
        width: 35px;
        height: 2px;
    }
	.w-box{
        padding-top: 35px;
        padding-bottom: 43px;
		width: 100%;
    }
}


.subtitle2{
    font-size: 2.25rem;
    font-weight: bold;
    line-height: 1.4;
    color: #ffffff;
    text-align: center;
    margin-bottom: 10px;
}
.title_underline2{
    position: relative;
    padding-bottom: 20px;
    margin-bottom: 50px;
}
.title_underline2:after{
    content: "";
    display: inline-block;
    width: 70px;
    height: 3px;
    background-color: #ffffff;
    position: absolute;
    left: 50%;
    bottom: 0px;
    transform: translate3d(-50%,0,0);
}

@media (max-width: 768px) {
    .subtitle2{
        font-size: 1.5rem;
    }
    .title_underline2{
        padding-bottom: 10px;
        margin-bottom: 25px;
    }
    .title_underline2:after{
        width: 35px;
        height: 2px;
    }
}


/*** #anxiety ***/
#anxiety2{
	background: url("../images/cm-bg.jpg") left top no-repeat;
	background-size: cover;
    padding: 70px 0 60px;
	width: 750px;
	margin: auto;
}
#anxiety2 p{
	font-size: 1.2em;
	color: #ffffff;
	text-align: center;
	margin-bottom: 20px;
}
#anxiety{
	background: url("../images/anx-bg.jpg") left top no-repeat;
	background-size: cover;
    padding: 70px 0;
	width: 750px;
	margin: auto;
}

.anxiety_list .box{
    display: flex;
    align-items: center;
    padding: 25px 0;
    border-bottom: 1px dashed #ffffff;
}
.anxiety_list .box_detail{
    flex: 1;
}
.anxiety_list .box_detail p{
    font-size: 1.5rem;
    line-height: 1.3;
    font-weight: bold;
    padding-left: 25px;
	color: #ffffff;
}

@media (max-width: 768px) {
    #anxiety2{
        padding-top: 35px;
        padding-bottom: 40px;
		width: 100%;
    }
	#anxiety{
        padding-top: 35px;
        padding-bottom: 40px;
		width: 100%;
    }
    .anxiety_list .box{
        display: flex;
        align-items: center;
        padding: 10px 0px;
        border-bottom: 1px solid #cccccc;
    }
    .anxiety_list .box_head{
        width: 15px;
    }
    .anxiety_list .box_detail p{
        font-size: 1rem;
        padding-left: 5px;
    }
}


/*** #hope ***/
#hope{
	background: url("../images/hope-bg.jpg") left top no-repeat;
	background-size: cover;
    padding: 70px 0;
	width: 750px;
	margin: auto;
}

.hope_list .box{
    display: flex;
    align-items: center;
    padding: 25px 0;
    border-bottom: 1px dashed #cccccc;
}
.hope_list .box_detail{
    flex: 1;
}
.hope_list .box_detail p{
    font-size: 1.5rem;
    line-height: 1.3;
    font-weight: bold;
    padding-left: 25px;
	color: #000000;
}

@media (max-width: 768px) {
    #hope{
        padding-top: 35px;
        padding-bottom: 40px;
		width: 100%;
    }
    .hope_list .box{
        display: flex;
        align-items: center;
        padding: 10px 0px;
        border-bottom: 1px solid #cccccc;
    }
    .hope_list .box_head{
        width: 15px;
    }
    .hope_list .box_detail p{
        font-size: 1rem;
        padding-left: 5px;
    }
}


/*** #kilotape ***/
#kilotape{
    padding: 70px 0 30px;
	width: 750px;
	margin: auto;
}

@media (max-width: 768px) {
    #kilotape{
        padding-top: 35px;
        padding-bottom: 20px;
		width: 100%;
    }
}


/*** #feature ***/
#feature{
	width: 750px;
    padding-top: 30px;
    padding-bottom: 95px;
	margin: auto;
}
.txt-box {padding: 20px;}
#feature h4 {text-align: center; margin-bottom: 10px;}

@media (max-width: 768px) {
    #feature{
		width: 100%;
        padding: 20px 0;
    }
}


/*** #voice ***/
#voice{
	background-color: #ececec;
    padding: 70px 0;
	width: 750px;
	margin: auto;
}
.voice_list { background-color: #ffffff;
	border-radius: 10px;
	padding: 10px; 
margin: 10px 20px 20px;}
.voice_list .box{
    display: flex;
    align-items: center;
    padding: 10px 0;
}
.voice_list .box_detail{
    flex: 1;
}
.voice_list .box_detail p{
    font-size: 1.5rem;
    line-height: 1.3;
    font-weight: bold;
    padding-left: 25px;
	color: #000000;
}
.voice_list .box_detail .fwl{
	font-weight: normal;
}

@media (max-width: 768px) {
    #voice{
		background-color: #ececec;
        padding-top: 35px;
        padding-bottom: 40px;
		width: 100%;
    }
    .voice_list .box{
        display: flex;
        align-items: center;
        padding: 5px 0px;
    }
    .voice_list .box_head{
        width: 25%;
    }
    .voice_list .box_detail p{
        font-size: 0.875rem;
        padding-left: 10px;
    }
}


/*** #faq ***/
#faq{
	width: 750px;
	margin: auto;
    background-color: #ececec;
    padding-top: 60px;
    padding-bottom: 80px;
}

@media (max-width: 768px) {
    #faq{
		width: 100%;
        padding-top: 30px;
        padding-bottom: 40px;
    }
}

.faq_list{
}
.faq_list dt{
    font-size: 1.13rem;
    line-height: 1.2;
    background-color: #e1ebff;
    padding: 25px 75px 25px 75px;
    position: relative;
    border: 1px solid #cccccc;
    cursor: pointer;
}
.faq_list dt:before {
	content: "";
	display: inline-block;
	background: url("../images/faq_q.png") left top no-repeat;
	background-size: contain;
	width: 46px;
	height: 46px;
	position: absolute;
	left: 15px;
	top: 50%;
    transform: translate3d(0,-50%,0);
	transition: transform 0.3s ease;
}
@media only screen and (-webkit-min-device-pixel-ratio: 2) {
    .faq_list dt:before{
        background-image: url("../images/faq_q@2x.png");
    }
}

.faq_list dt:after {
	content: "";
	display: inline-block;
	background: url("../images/faq_icon02.png") left center no-repeat;
	background-size: contain;
	width: 24px;
	height: 24px;
	position: absolute;
	right: 25px;
	top: 50%;
    transform: translate3d(0,-50%,0);
}
@media only screen and (-webkit-min-device-pixel-ratio: 2) {
    .faq_list dt:after{
        background-image: url("../images/faq_icon02@2x.png");
    }
}

.faq_list.active dt:after {
	background-image: url("../images/faq_icon01.png");
}
@media only screen and (-webkit-min-device-pixel-ratio: 2) {
    .faq_list.active dt:after{
        background-image: url("../images/faq_icon01@2x.png");
    }
}

.faq_list dd {
	overflow: hidden;
	height: 0px;
	transition: height 0.3s ease;
}
.faq_list dd .inner {
	position: relative;
    padding: 25px 25px 25px 75px;
    font-size: 1.13rem;
    border: 1px solid #cccccc;
    background-color: #FFFFFF;
}
.faq_list dd .inner:before {
	content: "";
	display: inline-block;
	background: url("../images/faq_a.png") left top no-repeat;
	background-size: contain;
	width: 46px;
	height: 46px;
	position: absolute;
	left: 15px;
	top: 15px;
	transition: transform 0.3s ease;
}
@media only screen and (-webkit-min-device-pixel-ratio: 2) {
    .faq_list dd .inner:before{
        background-image: url("../images/faq_a@2x.png");
    }
}

.faq_list dd p:not(:last-child){
    margin-bottom: 1.5em;
}
.faq_list dd ul{
    list-style-type: disc;
    padding-left: 1.5em;
    margin-bottom: 1.5em;
    margin-top: -1.5em
}


@media (max-width: 768px) {
    #qa{
        padding-bottom: 25px;
    }
    .faq_list dt{
        padding: 15px 60px 15px 60px;
    }
    .faq_list dt:before {
        width: 30px;
        height: 30px;
        left: 15px;
    }
    .faq_list dt:after {
        width: 18px;
        height: 18px;
        right: 20px;
    }
    .faq_list dd .inner{
        padding: 15px 15px 15px 60px;
    }
    
    .faq_list dd .inner:before {
        width: 30px;
        height: 30px;
        left: 15px;
    }
}

#kilotape2{
    padding: 0 0 30px;
	width: 750px;
	margin: auto;
}
.y-box { background-color: #fffedd;
	border-radius: 10px;
	padding: 20px; 
margin: 10px 20px 20px;}
.y-box p {font-weight: bold;}
.txtredline {text-decoration: underline; color: #a40505;}

@media (max-width: 768px) {
    #kilotape2{
        padding-bottom: 20px;
		width: 100%;
    }
}

div.vid_contents {
width: 100%;
text-align: center;
margin: auto;
padding: 0;

}
video.vid_main {
width: 100%;
}
