.text-center { text-align: center; }
.text-left { text-align: left; }
.text-right { text-align: right; }
.d-inline-block { display: inline-block; }
.d-flex { display: flex; }
.d-block { display: block; }
.d-none { display: none; }
.align-items-center { align-items: center; }
.mgb10{margin-bottom:10px!important;}.mgb15{margin-bottom:15px!important;}.mgb20{margin-bottom:20px!important;}.mgb25{margin-bottom:25px!important;}.mgb30{margin-bottom:30px!important;}.mgb35{margin-bottom:35px!important;}.mgb40{margin-bottom:40px!important;}.mgb45{margin-bottom:45px!important;}.mgb50{margin-bottom:50px!important;}.mgb55{margin-bottom:55px!important;}.mgb60{margin-bottom:60px!important;}.mgb65{margin-bottom:65px!important;}.mgb70{margin-bottom:70px!important;}.mgb75{margin-bottom:75px!important;}.mgb80{margin-bottom:80px!important;}.mgb85{margin-bottom:85px!important;}.mgb90{margin-bottom:90px!important;}.mgb95{margin-bottom:95px!important;}.mgb100{margin-bottom:100px!important;}.mgt10{margin-top:10px!important;}.mgt15{margin-top:15px!important;}.mgt20{margin-top:20px!important;}.mgt25{margin-top:25px!important;}.mgt30{margin-top:30px!important;}.mgt35{margin-top:35px!important;}.mgt40{margin-top:40px!important;}.mgt45{margin-top:45px!important;}.mgt50{margin-top:50px!important;}.mgt55{margin-top:55px!important;}.mgt60{margin-top:60px!important;}.mgt65{margin-top:65px!important;}.mgt70{margin-top:70px!important;}.mgt75{margin-top:75px!important;}.mgt80{margin-top:80px!important;}.mgt85{margin-top:85px!important;}.mgt90{margin-top:90px!important;}.mgt95{margin-top:95px!important;}.mgt100{margin-top:100px!important;}
.container-fluid { max-width: 940px; margin: 0 auto; padding: 0 20px; }
.page_hero { position: relative; background-position: center; background-size: cover; margin-bottom: 120px;}
.page_hero .catch { margin-left: auto; display: block; margin-bottom: -170px; }
.page_hero .wrap { position: relative; bottom: -90px; }
.flex_wrap { display: flex; flex-wrap: wrap; margin: 0 -15px; align-items: center; }
.flex_wrap > .image { width: 40%; padding: 0 15px; text-align: center;}
.flex_wrap > .image p { font-size: 18px; margin-top: 10px; text-align: left; }
.flex_wrap > .text { width: 60%; padding: 0 15px; }
.flex_wrap > .text.full { width: 100%; }
.flex_wrap_tri { display: flex; flex-wrap: wrap; align-items: center;}
.flex_wrap_tri .prev { width: 35%; padding: 0 50px; }
.flex_wrap_tri .arrow { width: 15%; }
.flex_wrap_tri .next { width: 50%; border: 3px dashed #087b4a; padding: 30px; border-radius: 10px;}
.flex_wrap_tri .next .wrap > div { display: flex; justify-content: space-between; margin-bottom: 20px; }
.flex_wrap_tri .next .wrap h4 { background: #087b4a; color: #fff; font-weight: bold; border-radius: 10px; font-size: 29px; letter-spacing: .03em; line-height: 36px; padding: 10px 25px; }
.flex_wrap_tri .next .wrap strong { font-weight: bold; font-size: 23px; letter-spacing: .03em; color: #087b4a; display: block; margin-bottom: 5px; }
.icon_title { border-top: 3px dashed #087b4a; border-bottom: 3px dashed #087b4a; margin-top: 45px; text-align: center; font-size: 30px; letter-spacing: .03em; font-weight: bold; padding: 10px 0; margin-bottom: 30px;}
.icon_title * { vertical-align: middle; }
.icon_title .icon { margin-right: 10px; }
.icon_title.yel { border-color: #e0b71d; position: relative; min-height: 82px; padding: 15px 0; margin-bottom: 55px;}
.icon_title.yel .icon { position: absolute; top: 0; bottom: 0; margin: auto 0; margin-left: 20px; }
.bt_title { color: #800000; font-size: 29px; letter-spacing: .03em; font-weight: bold; border-bottom: 3px solid #e0b71d; }
.bt_title small { font-size: 20px; margin-left: 5px; }
.row { display: flex; flex-wrap: wrap; margin-left: -15px; margin-right: -15px; }
.row > .col-4 { width: 33.33333%; padding-left: 15px; padding-right: 15px; }
.row > .col-5 { width: 40%; padding-left: 15px; padding-right: 15px; }
.row > .col-6 { width: 50%; padding-left: 15px; padding-right: 15px; }
.row > .col-7 { width: 60%; padding-left: 15px; padding-right: 15px; }
.row > .col-8 { width: 66.66666%; padding-left: 15px; padding-right: 15px; }
.order-1 { order: 1; }
.order-2 { order: 2; }
.c-red { color: #e50012; }
.acc_title { position: relative; margin-bottom: 30px; }
.acc_title .l { position: absolute; left: 0; top: 0; }
.acc_title .r { position: absolute; right: 0; top: 0; }
.p_list ul { display: flex; flex-wrap: wrap; justify-content: space-around; }
.p_list ul li { padding: 0 10px!important; }
.detail_wrap { background: #d1ecf9; padding-bottom: 60px; }
.umai h2 { background: #75d6ff; padding: 25px 0!important; margin-bottom: 60px; }
.umai h3 { text-align: center; margin-bottom: 20px; font-weight: bold; }
.umai h3 strong { font-size: 46px; letter-spacing: .05em; font-weight: bold; }
.umai h3 span { display: block; font-size: 33px; }
.eiyo h2 { margin-bottom: 30px; }
.karusiumu h2 { margin-bottom: 70px; }
.karusiumu h3 { font-size: 41px; font-weight: bold; color: #0040bd; }
.karusiumu h3.title { text-align: center; }
.karusiumu .sub_image2 { margin-top: 60px; text-align: center; }
.white_wrap { background: #fff; padding: 45px 60px 20px; border-radius: 15px; }
.white_wrap h3 { text-align: center; font-size: 45px; letter-spacing: .05em; font-weight: bold; margin-bottom: 25px; color: #007aff; }
.main_subimage { padding: 70px 0; }
.marks .title1 { margin-bottom: 45px; text-align: center; background: #ff7e97; padding: 25px 15px; }
.marks .title3 { margin-bottom: 50px; text-align: center; }
.marks .p2 { margin-bottom: 85px; }
.marks .p_list { margin-bottom: 100px; }
.marks .list > div { margin-bottom: 100px; }
.marks .list h3 { margin-bottom: 50px; }
.marks .list .img { text-align: center; }
main { font-size: 20px; letter-spacing: .05em; line-height: 1.5; overflow: hidden;}
main .fv { margin-bottom: 60px; text-align: center; }
main .fv img { width: 100%; }
main section.s01 ul { margin-top: 60px; }
main section.s01 ul li { margin-bottom: 80px; position: relative; overflow: hidden;}
main section.s01 ul h2 { position: relative; text-align: center; font-size: 46px; font-weight: bold; letter-spacing: .05em; }
main section.s01 ul h2 span { display: block; }
main section.s01 ul h2.is_icon { color: #fff; }
main section.s01 ul h2.is_icon:before { content: ""; position: absolute; left: -300vw; top: 0; width: 1000vw; height: 100%; background: #008eed; margin: 0 auto; }
main section.s01 ul h2.is_icon span { display: inline-block; position: relative; z-index: 1; }
main section.s01 ul h2.is_icon .icon_left { position: absolute; right: 100%; top: 0; bottom: 0; margin: auto 0; }
main section.s01 ul h2.is_icon .icon_right { position: absolute; left: 100%; top: 0; bottom: 0; margin: auto 0; }
main section.s01 ul h2.is_icon + p { text-align: center; }
main section.s01 ul h2.text-left span { text-align: left; }
main section.s01 ul h3.border_title { margin-top: 40px; font-size: 30px; letter-spacing: .03em; text-align: center; font-weight: bold; border-bottom: 1px solid #808080; position: relative; padding-bottom: 10px; margin-bottom: 50px;}
main section.s01 ul h3.border_title:before { content: ""; position: absolute; left: 0; bottom: -2px; height: 3px; width: 120px; background: #000; }
/*main section.s01 ul li:nth-child(1) h2 { margin-bottom: 10px }
main section.s01 ul li:nth-child(1) .small { margin-bottom: 40px; text-align: right; font-size: 15px; }*/
main section.s01 .main_banner { margin-top: 90px; }
main section.s05 { padding: 0 0 30px; }
main section.s05 .bc { width: 1100px; margin: 130px auto 0; }
main section.s05 .bc a { text-decoration: none; color: #000; font-size: 14px; }
main section.s05 .bc span {	font-size: 14px; }
@media (min-width: 768px) {
	.sp { display: none; }
}
@media (max-width: 767px) {
	.pc { display: none; }
	.page_hero { background: none!important; margin-bottom: 25px; }
	.flex_wrap > .image { width: 100%; }
	.flex_wrap > .image p { margin-bottom: 30px; font-size: 12px; text-align: center; }
	.flex_wrap > .text { width: 100%; }
	.flex_wrap > .text p { padding: 0; }
	.flex_wrap .col-4 { width: 100%; }
	.flex_wrap_tri { display: block; }
	.flex_wrap_tri > * { width: 100%!important; }
	.flex_wrap_tri .prev { width: 100%; text-align: center; }
	.flex_wrap_tri .arrow { padding: 35px 10px; text-align: center; }
	.flex_wrap_tri .arrow img { transform: rotate(90deg); }
	.flex_wrap_tri .next { padding: 15px; }
	.flex_wrap_tri .next .wrap h4 { font-size: 16px; line-height: 26px; display: flex; align-items: center; margin-left: 20px;}
	.flex_wrap_tri .next .wrap strong { font-size: 18px; }
	.flex_wrap_tri .next .wrap > div { justify-content: center; }
	.bt_title { font-size: 23px; }
	.icon_title { font-size: 23px; }
	.icon_title:not(.yel) { display: flex; align-items: center; justify-content: center; }
	.icon_title.yel { min-height: 0; padding: 15px 0; margin-bottom: 30px; }
	.icon_title.yel .icon { height: 100px; }
	.order-1 { order: 2; }
	.order-2 { order: 1; margin-bottom: 15px; }
	.row > .col-4,
	.row > .col-5,
	.row > .col-6,
	.row > .col-7,
	.row > .col-8 { width: 100%; }
	.rokushu .wrap { padding-left: 35px; }
	.rokushu .wrap .num { font-size: 24px; }
	.rokushu .wrap .title { font-size: 24px; margin-bottom: 10px; }
	.tokutyo .col-6,
	.katsuyou .col-6,
	.kodawari .col-6,
	.tyourirei .col-6 { margin-bottom: 30px; }
	.nishu .wrap { padding-left: 35px; }
	.nishu .wrap .num { font-size: 24px; }
	.nishu .wrap .title { font-size: 24px; margin-bottom: 10px; }
	.p_list ul li { width: 50%; text-align: center; }
	.detail_wrap { padding-bottom: 40px; }
	.umai h3 strong { font-size: 25px; }
	.umai h3 span { font-size: 20px; }
	.white_wrap { padding: 20px 15px 20px; }
	.white_wrap h3 { font-size: 20px; }
	.karusiumu h3 { font-size: 20px; }
	.karusiumu .img.mgt80 { margin-top: 20px!important; }
	.karusiumu .sub_image2 { margin-top: 20px; }
	.main_subimage { padding: 40px 0; }
	.marks .p2 { margin-bottom: 50px; }
	.marks .p_list { margin-bottom: 40px; }
	.marks .title3 { margin-bottom: 20px; }
	/*.marks .p_list img { transform: scale(.7); }*/
	.marks .list > div { margin-bottom: 50px; }
	.marks .list h3 { margin-bottom: 20px; }
	.marks .list > div:nth-child(3) .img { overflow: scroll; }
	.marks .list > div:nth-child(3) .img img { max-width: none; width: 130%; }
	main { font-size: 16px; }
	main .fv { margin-bottom: 30px; }
	main section.s01 ul { margin-top: 30px; }
	main section.s01 ul li { padding: 0 0 0; margin-bottom: 40px; }
	main section.s01 ul li:nth-child(1) .small { font-size: 12px; }
	main section.s01 ul li:last-child { padding-bottom: 0; }
	main section.s01 ul h2 { font-size: 20px; margin-bottom: 15px; text-align: center!important; }
	main section.s01 ul h2.text-left span { text-align: center; }
	main section.s01 ul h2:before,
	main section.s01 ul h2:after { width: 30px; height: 30px; }
	main section.s01 ul h3.border_title { font-size: 23px; margin-bottom: 25px; }
	main section.s01 ul h3.border_title:before { width: 70px; }
	main section.s01 ul h2.is_icon .icon_left { width: 30px; right: 94%; }
	main section.s01 ul h2.is_icon .icon_right { width: 30px; left: 94%; }
	main section.s01 .main_banner { margin-top: 40px; }
	main section.s05 .bc { width: 100%; margin-top: 50px; padding: 0 20px 20px; }
	main section.s05 .bc a { text-decoration: none; color: #000; font-size: 12px; }
	main section.s05 .bc span { font-size: 12px; }

}
