@charset "utf-8";


.link_btn{display: block; position: relative; padding: 7px 0 0 ; margin: 45px 0 0;}
.link_btn:before{content: ""; display: block; width: 100%; height: 74px; background: #FF7A00; border-radius: 8px;}
.link_btn span{display: block; width: 100%; background: linear-gradient(90deg, #FF7600, #FFC400); position: absolute; top: 0px; left: 0px; color: #fff; padding: 21px 0 23px; line-height: 142.82%; font-size: 21px; text-align: center; border-radius: 8px; transition: 0.5s;}
.link_btn span:before{content: ""; display: block; width: 10px; height: 10px; border-right: 1px solid #fff; border-bottom: 1px solid #fff; top: 50%; transform: translateY(-50%) rotateZ(-45deg); right: 21px; position: absolute;}
.link_btn:hover span{top: 8px; transition: 0.5s;}

.title_box{position: relative;}
.title_box:before{content: ""; display: block; width: 100%; background: url(../images/priceinfo/bg_1.svg) repeat-x center center; background-size: 1840.85px; height: 42.71px; position: absolute; bottom: -12px;}
.title_box .bg_box{background: #254595;  z-index: 1; text-align: center; position: relative;}
.title_box .bg_box h3{position: relative;padding: 45px 0 55px;}
.title_box .bg_box h3 span{position: relative;color: #fff; font-weight: 500; font-size: 30px; line-height: 146.66%; z-index: 1;}
.title_box .bg_box h3:before,
.title_box .bg_box h3:after{content: ""; display: block; position: absolute;bottom: 0px;}
.title_box .bg_box h3:before{left: 0px;}
.title_box .bg_box h3:after{right: 0px;}
/* ------------------------------------------------------------ #customer */
#customer{padding: 52px 0 0;}
#customer h3{text-align: center; font-size: 27px; font-weight: 700; line-height: 144.5%;}
#customer h3 span{border-bottom: 4px solid #254595; font-size: 37px; font-weight: 700; display: inline-block; padding: 0 0 20px; line-height: 146%; margin: 0 0 30px;}
#customer .blue_box{ background: #DAEEFE; padding: 61px 0; margin: 52px 0 0;}
#customer .blue_box .flex_box{background: #fff; border-radius: 26px; padding: 53px 50px 63px; display: flex; align-items: center; justify-content: space-between;}
#customer .blue_box .flex_box .left_box{ width: 546px; height: auto;}
#customer .blue_box .flex_box .left_box h4{font-size: 22px; line-height: 160%; text-align: left; font-weight: 500;}
#customer .blue_box .flex_box .left_box ul{padding: 22px 0 0 ;}
#customer .blue_box .flex_box .left_box ul li{display: flex; align-items: center; gap: 12px;}
#customer .blue_box .flex_box .left_box ul li:not(:last-child){margin: 0 0 10px;}
#customer .blue_box .flex_box .left_box ul li .flex{display: flex; align-items: center; background: #DAEEFE; width: 100%;}
#customer .blue_box .flex_box .left_box ul li .flex p{ font-size: 18px; line-height: 110%; padding: 20px 0 25px 18px;}
#customer .blue_box .flex_box .right_box{width: 420px; height: auto; padding: 35px 0 0;}
#customer .bg_box{background: url(../images/priceinfo/customer_bg_1.png) no-repeat center top 198px; background-size: 1433px; padding: 133px 0 239px; text-align: center;}
#customer .bg_box h4{font-size: 37px; line-height: 160%; display: inline; background: linear-gradient(transparent 85%, #FFF102 85%); font-weight: 700;}
#customer .bg_box p{padding: 37px 0 0; line-height: 225%;}

/* ------------------------------------------------------------ #tuition */
#tuition{background: #DAEEFE; padding:  0 0 129px;}
#tuition .title_box .bg_box h3:before{width: 143px; height: 184px;background: url(../images/priceinfo/tuition_img_1.svg) no-repeat center center; background-size: 100%; bottom: -28px;}
#tuition .title_box .bg_box h3:after{width: 118px; height: 144px;background: url(../images/priceinfo/tuition_img_2.svg) no-repeat center center; background-size: 100%;}
#tuition .content_box{padding: 37px 0 0;}
#tuition .content_box .mini_tt{text-align: center; font-size: 16px; line-height: 137.5%; letter-spacing: 0.03em;}
#tuition .content_box .box{padding: 54px 0 0;}
#tuition .content_box .box .btn_box{display: flex; justify-content: space-between;}
#tuition .content_box .box .btn_box p{width: 355px; border-radius: 10px 10px 0 0; text-align: center; color: #fff; line-height: 144%; font-size: 25px; letter-spacing: 0.03em; font-weight: 500; padding: 17px 0; background: #A0ADD0;}
#tuition .content_box .box .btn_box p.active{background: #254495;}
#tuition .content_box .box .table_box{background: #fff; padding: 38px 50px ;}
#tuition .content_box .box .table_box .data{display: none;}
#tuition .content_box .box .table_box .data.active{display: block;}
#tuition .content_box .box .table_box .data table{ width: 100%;}
#tuition .content_box .box .table_box .data table thead tr th{background: #254495; border-top:4px solid #254495; border-bottom:4px solid #254495; border-right: 1.5px solid #fff;}
#tuition .content_box .box .table_box .data table thead tr th span{color: #fff; font-size: 20px; line-height: 155%; padding: 11px 0 12px; display: block;}
#tuition .content_box .box .table_box .data table thead tr th:not(:first-child){width: 216px;}
#tuition .content_box .box .table_box #data_2.data table thead tr th:not(:first-child){width: auto;}
#tuition .content_box .box .table_box #data_3.data table thead tr th:not(:first-child){width: auto;}
#tuition .content_box .box .table_box .data table tbody tr th{background: #EEF3F7; font-size: 14px; line-height: 142.8%; color: #000; letter-spacing: 0.1em; padding: 14px 0 11px;  font-weight: 500;}
#tuition .content_box .box .table_box .data table tbody tr th span{font-size: 20px; line-height: 145%; color: #000;}
#tuition .content_box .box .table_box .data table tbody tr:not(:last-child) th,
#tuition .content_box .box .table_box .data table tbody tr:not(:last-child) td{border-bottom: 1.5px solid #E3E3E3;}
#tuition .content_box .box .table_box .data table tbody tr td:not(:last-child){border-right: 1.5px solid #E3E3E3;}
#tuition .content_box .box .table_box .data table tbody tr td{text-align: center; font-size: 20px; line-height: 145%; color: #000;}
#tuition .content_box .box .table_box .data p{font-size: 14px; line-height: 157.2%; padding: 13px 0 0; letter-spacing: 0.03em;}
#tuition .content_box a.link_btn{margin: 54px auto 0; width: 608px;}
/* ------------------------------------------------------------ #session */
#session{background: #FEFCEF; padding: 0 0 118px;}
#session .title_box .bg_box h3:before{width: 212px; height: 244px;background: url(../images/priceinfo/session_img_1.svg) no-repeat center center; background-size: 100%; bottom: -42px; left: 50px;}
#session .title_box .bg_box h3:after{width: 201px; height: 233px;background: url(../images/priceinfo/session_img_2.svg) no-repeat center center; background-size: 100%; bottom: -45px; right: 50px;}
#session h4{padding: 87px 0 0; font-size: 37px; text-align: center; line-height: 160%; font-weight: 700;}
#session p.text{text-align: center; font-size: 14px; letter-spacing: 0.03em; line-height: 157.2%; padding: 23px 0 0;}
#session p.text span{font-size: 16px; line-height: 240%; display: inline-block; padding: 0 0 23px;}
#session .box{border-radius: 22px; border: 2px solid #254595; background: #fff; position: relative; margin: 84px 0 0;}
#session .box h5{position: absolute; transform: translateX(-50%); left: 50%; background: #264395; width: 680px; top: -36px; color: #fff; text-align: center; padding: 13px 0 11px; clip-path: polygon(0 0, 100% 0, 97% 50%, 100% 100%, 0 100%, 3% 50%); font-size: 19px; line-height: 160%;}
#session .box h5 span{font-size: 31px; font-weight: 700; line-height: 145.14%;}
#session .box ul{padding: 75px 50px 54px; display: flex; flex-wrap: wrap; justify-content: space-between; gap: 38px 0;}
#session .box ul li{padding: 0 0 0 39px; line-height: 160%; font-size: 20px; line-height: 145%; width: calc(50% - 39px); text-align: left; position: relative; font-weight: 700;}
#session .box ul li:nth-child(2),
#session .box ul li:nth-child(4){width: calc(42% - 39px);}
#session .box ul li:nth-child(1){padding: 0 0 0 28px; width: calc(50% - 28px);}
#session .box ul li:before{content: ""; display: block; width: 27px; height: 27px; position: absolute; left: 0px; top: 50%; transform: translateY(-50%); background: url(../images/priceinfo/session_icn_1.svg) no-repeat center center; background-size: 100%;}
#session .box.box_2{margin: 60px 0 0;}
#session .box.box_2 .tbe_box{padding: 79px 50px 64px;}
#session .box.box_2 .tbe_box table{width: 100%; height: auto;}
#session .box.box_2 .tbe_box table thead th{background: #254495; text-align: center; color: #fff; font-size: 20px; line-height: 145%; padding: 15px 0 16px; font-weight: 500;}
#session .box.box_2 .tbe_box table thead th:first-child{width: 213px;}
#session .box.box_2 .tbe_box table tbody tr th{background: #EEF2F6; padding: 17px 0 22px; text-align: center;  border-bottom: 1px solid #E3E3E3; }
#session .box.box_2 .tbe_box table tbody tr th.t_box{text-align: left; padding: 17px 0 22px 24px;}
#session .box.box_2 .tbe_box table tbody tr th span{display: inline-block; color: #000; font-size: 20px; font-weight: 500; letter-spacing: 0.1em; line-height: 145%;}
#session .box.box_2 .tbe_box table tbody tr th span.bg_box{background: #264395; border-radius: 100px; color: #fff; letter-spacing: 0.1em; text-align: center; width: 76px; padding: 4px 0 5px; font-size: 14px;line-height: 142.8%;margin: 0 5px 0 0; vertical-align: bottom;}
#session .box.box_2 .tbe_box table tbody tr td{padding: 17px 0 22px; text-align: center; color: #000; font-size: 20px; line-height: 145%; border-bottom: 1px solid #E3E3E3; font-weight: 500;}
#session .box.box_2 .tbe_box table tbody tr td:not(:last-child) {border-right: 1px solid #E3E3E3;}
#session a.link_btn{margin: 70px auto 0; width: 608px;}
/* ------------------------------------------------------------ #reason */

#reason{padding: 0px 0 186px;}
#reason .title_box .bg_box h3:before{width: 258px; height: 186px; background: url(../images/priceinfo/reason_img_1.svg) no-repeat center center; background-size: 100%; bottom: -28px; left: 0px;}
#reason .title_box .bg_box h3:after{width: 265px; height: 186px; background: url(../images/priceinfo/reason_img_2.svg) no-repeat center center; background-size: 100%; bottom: -25px; right: -20px;}

#reason .flist_box{padding: 137px 0 0;}
#reason .flist_box .flex{display: flex; align-items: center; gap:0px 64px;}
#reason .flist_box .flex:not(:last-child){padding: 0 0 125px;}
#reason .flist_box .flex.left_flex{flex-direction: row-reverse;}
#reason .flist_box .flex .img_box{position: relative;}
#reason .flist_box .flex .img_box .icn{position: absolute; top: -27px; left: -47px;}
#reason .flist_box .flex .text_box h4{}
#reason .flist_box .flex .text_box h4 span{display: inline-block; font-weight: 700; background: #254595; display: inline-block;; font-size: 32px; line-height: 168.76%; color: #fff; padding: 0 20px 0 14px;}
#reason .flist_box .flex .text_box h4 span:first-child{margin: 0 0 7px;}
#reason .flist_box .flex .text_box p{line-height: 212.5%; padding: 19px 0 0;}
/* ------------------------------------------------------------ contact */
#contact { background: #e5f0f9; padding: 80px 0 60px; }
#contact ol { width: 900px; margin: 0 auto 60px; }
#contact ol li { float: left; width: 270px; border-bottom: solid 3px #a3a3a3; margin: 0 0 0 45px; padding: 0 0 15px; color: #a3a3a3; }
#contact ol li:nth-of-type(3n+1) { clear: both; margin: 0 auto; }
#contact ol li.active { border-bottom: solid 3px #004bb2; color: #004bb2; }
#contact ol + p { line-height: 28px; text-align: center; margin: 0 auto 40px; }
#contact form { width: 1000px; margin: 0 auto; background: #fff; padding: 90px 50px; -webkit-box-sizing: border-box; -ms-box-sizing: border-box; box-sizing: border-box; }
#contact form table { width: 100%; }
#contact form table tr { border-top: solid 1px #e5e5e5; }
#contact form table tr:first-of-type { border-top: none; }

#contact form table tr.ex th { vertical-align: top; }
#contact form table tr.ex th h3 { margin: 15px auto 0; }
#contact form table th { width: 310px; text-align: left; padding: 20px 0; }
#contact form table th h3 { font-size: 16px; }
#contact form table th h3 span { display: inline-block; *display: inline; *zoom: 1; font-size: 12px; color: #fff; background: #a40035; padding: 5px 8px 6px; margin: 0 0 0 15px; }
#contact form table th small { display: block; font-size: 14px; text-align: left; color: #8c8c8c; margin: 5px auto 0; }

#contact form table td { padding: 20px 0; }
#contact form table td input[type="text"],
#contact form table td input[type="checkbox"],
#contact form table td select,
#contact form table td textarea { width: 100%; padding: 20px; -webkit-box-sizing: border-box; -ms-box-sizing: border-box; box-sizing: border-box; border: solid 1px #dcdcdc; }
#contact form table tr.address td .cfx { margin: 0 auto 10px; }
#contact form table tr.address td .cfx p { float: left; width: 100px; font-size: 14px; line-height: 20px; margin: 25px 0 0; }
#contact form table tr.address td .cfx:last-of-type p { margin: 15px 0 0; }
#contact form table tr.address td .cfx input { float: left; width: calc(100% - 105px); -webkit-box-sizing: border-box; -ms-box-sizing: border-box; box-sizing: border-box; }
#contact form table tr.radiobutton td label { margin: 0 25px 0 0; }

#contact form .gradation_btn2 { text-align: center; margin: 40px auto; }
#contact form .gradation_btn2 a { border-radius: 100px; -webkit-border-radius: 100px; }
#contact form .gradation_btn2 span { display: block; font-size: 14px; margin: 0 auto 10px; }
#contact form .privacy_policy { text-align: center; }
#contact form .privacy_policy a { background: url(../images/common/tab.svg) no-repeat left center; padding: 0 35px; color: #004bb2; text-decoration: underline; }

#contact .questionnaire { margin: 70px auto; }
#contact .questionnaire h3 { background: #004bb2; padding: 20px; color: #fff; margin: 0 auto 35px; }
#contact .questionnaire p { margin: 0 auto 20px; }
#contact .questionnaire h4 { margin: 0 auto 20px; text-indent: -1em; }
#contact .questionnaire > div { border-top: solid 1px #e5e5e5; padding: 30px 0; }
#contact .questionnaire > div:first-of-type { border: none; }
#contact .questionnaire .q1 label { display: inline-block; *display: inline; *zoom: 1; margin: 0 0 17px 0px; width: 49%; }
#contact .questionnaire .q1 input[type="text"] { width: 88%; }
#contact .questionnaire .q2 input[type="text"] { width: 88%; }
#contact .questionnaire .q2 label { float: left; width: 50%; margin: 0 auto 10px; text-indent: -1em; padding: 0 1em 0 1em; line-height: 24px; -webkit-box-sizing: border-box; -ms-box-sizing: border-box; box-sizing: border-box; }
#contact .questionnaire .q2 label:nth-of-type(4n+1) { clear: both; }
#contact .questionnaire .q2 label input { margin: 5px 5px 0 0; }

#contact .questionnaire .q1 .other label { width: inherit; display: inline-block; margin-right: 11px;}
#contact .questionnaire .q2 .other label { width: inherit; display: inline-block;}

#contact .questionnaire label input { margin: 2px 5px 0 0; vertical-align: top; }
#contact .questionnaire textarea { border: solid 1px #e5e5e5; width: 100%; }


/* ------------------------------------------------------------ エラー画面 */
.note { padding: 70px 0; margin: 100px auto 0; border-top: solid 1px #e5e5e5; border-bottom: solid 1px #e5e5e5; }
.note h3 { font-size: 27px; text-align: center; font-family: 'Noto-Sans-JP-Medium'; padding: 0 0 25px; }
.note .caution { font-size: 14px; text-align: center; border: solid 1px #000; padding: 20px 0; width: 700px; margin: 0 auto 40px; }
.note .alert { margin: 0 auto 40px; }
.note .alert span { display: block; font-size: 16px; text-align: center; padding: 0 0 20px; }
.note .btn { text-align: center; }
.note .btn a { background: #ef6646; display: inline-block; *display: inline; *zoom: 1; width: 300px; font-size: 16px; text-align: center; color: #fff; line-height: 60px; }

/* ------------------------------------------------------------ 確認画面 */
.note table { min-width: 700px; margin: 0 auto; }
.note table tr { border-bottom: 1px solid #d5d5d5; }
.note table th { width: 200px; padding: 30px 0; text-align: left; font-family: 'Noto-Sans-JP-Bold'; }
.note table td { font-size: 18px; padding: 30px 0 30px 40px; }
.note input[type="submit"] { background: #286fbe; display: inline-block; *display: inline; *zoom: 1; width: 300px; vertical-align: top; color: #fff; line-height: 60px; margin: 0 0 0 10px; }
.note.confirm .btn { margin: 50px auto 0; }


.note ol { width: 900px; margin: 0 auto 60px; }
.note ol li { float: left; width: 270px; border-bottom: solid 3px #a3a3a3; margin: 0 0 0 45px; padding: 0 0 15px; font-family: 'Noto-Sans-JP-Medium'; color: #a3a3a3; }
.note ol li:nth-of-type(3n+1) { clear: both; margin: 0 auto; }
.note ol li.active { border-bottom: solid 3px #004bb2; color: #004bb2; }
.note ol + p { line-height: 28px; text-align: center; margin: 0 auto 40px; }

/* ------------------------------------------------------------ サンクス  */
.intro h3 { font-size: 27px; text-align: center; font-family: 'Noto-Sans-JP-Medium'; padding: 0 0 25px; }
.intro .caution { font-size: 14px; line-height: 24px; text-align: center; border: solid 1px #000; padding: 20px 0; width: 700px; margin: 0 auto 40px; }
.intro .gradation_btn2 { text-align: center; }





/* ------------------------------------------------------------ mobile */
@media only screen and (max-width:640px){
	.link_btn{padding: 7px 0 0 ; margin: 21px 0 0;}
	.link_btn:before{height: 58px; }
	.link_btn span{ padding: 17px 0 19px; line-height: 137.5%; font-size: 16px; border-radius: 8px;}
	.link_btn span:before{ width: 10px; height: 10px; right: 21px; position: absolute;}
	
	.title_box:before{background-size: 1840.85px; height: 42.71px; bottom: -12px;}
	.title_box .bg_box h3{padding: 22px 0 27px;}
	.title_box .bg_box h3 span{font-size: 20px; }
	/* ------------------------------------------------------------ #customer */
	#customer{padding: 26px 0 0;}
	#customer h3{font-size: 20px;}
	#customer h3 span{border-bottom: 1px solid #254595; font-size: 28px; padding: 0 0 10px; line-height: 140%; margin: 0 0 15px;}
	#customer .blue_box{ padding: 30px 0; margin: 26px 0 0;}
	#customer .blue_box .flex_box{border-radius: 13px; padding: 26px 5% 31px; display: block; }
	#customer .blue_box .flex_box .left_box{ width: 100%; height: auto;}
	#customer .blue_box .flex_box .left_box h4{font-size: 18px;}
	#customer .blue_box .flex_box .left_box ul{padding: 22px 0 0 ;}
	#customer .blue_box .flex_box .left_box ul li img.icn{width: 43px; height: auto;}
	#customer .blue_box .flex_box .left_box ul li{display: flex; align-items: center; gap: 6px;}
	#customer .blue_box .flex_box .left_box ul li:not(:last-child){margin: 0px 0px 10px;}
	#customer .blue_box .flex_box .left_box ul li .flex{display: flex; width: 100%;}
	#customer .blue_box .flex_box .left_box ul li .flex img{width: 80px; height: auto;}
	#customer .blue_box .flex_box .left_box ul li .flex p{ font-size: 12px; line-height: 142.8%; padding: 5px 10px;}
	#customer .blue_box .flex_box .right_box{width: 100%; padding: 10px 0 0;}
	#customer .blue_box .flex_box .right_box img{width: 100%; height: auto;}
	#customer .bg_box{background: url(../images/priceinfo/customer_bg_1_sp.jpg) no-repeat center bottom 12%;background-size: 100%; padding: 65px 0 35%; }
	#customer .bg_box h4{font-size: 20px; line-height: 160%; }
	#customer .bg_box p{padding: 23px 0 0; line-height: 210%; font-size: 11px;}
	
	/* ------------------------------------------------------------ #tuition */
	#tuition{padding: 0 0 50px;}
	#tuition .title_box .bg_box h3:before{width: 79px; height: 102px; bottom: -16px; left: -15px;}
	#tuition .title_box .bg_box h3:after{width: 66px; height: 80px; right: -15px;}
	#tuition .content_box{padding: 18px 0 0;}
	#tuition .content_box .mini_tt{font-size: 13px; padding: 10px 0 0;}
	#tuition .content_box .box{padding: 27px 0 0;}
	#tuition .content_box .box .btn_box p{width: calc(100% / 3 - 5px);; font-size: 16px; padding: 12px 0; }
	#tuition .content_box .box .table_box{padding: 20px 5%;}
	#tuition .content_box .box .table_box .data table{ width: 100%;}
	#tuition .content_box .box .table_box .data table tbody tr.header_box th{background: #254495; padding: 11px 0 12px; border-bottom: none;}
	#tuition .content_box .box .table_box .data table tbody tr.header_box th span{color: #fff; font-size: 14px; font-weight: 500; ; line-height: 160%;}
	#tuition .content_box .box .table_box .data table tbody tr th:not(:last-child), 
	#tuition .content_box .box .table_box .data table tbody tr td:not(:last-child) { border-right: 1px solid #E3E3E3; border-bottom: none;}
	#tuition .content_box .box .table_box .data table tbody tr:not(:last-child) th, 
	#tuition .content_box .box .table_box .data table tbody tr:not(:last-child) td{ border-right: 1px solid #E3E3E3; border-bottom: none;}
	
	#tuition .content_box .box .table_box .data table tbody tr.title_tbl th span{font-size: 14px; padding: 5px 0 7px; line-height: 130%;}
	#tuition .content_box .box .table_box .data table tbody tr.title_tbl th{ font-size: 11px; padding: 8px 0 10px; font-weight: 500; border-bottom: none;}
	#tuition .content_box .box .table_box .data table tbody tr td{padding: 14px 0 16px; font-size:14px; font-weight: 500;border-bottom: none; }
	#tuition .content_box .box .table_box .data p{font-size: 11px; padding: 8px 0 0; }
	#tuition .content_box a.link_btn{margin: 27px auto 0; width: 100%;}
	#tuition .content_box a.link_btn:before{height: 80px;}
	/* ------------------------------------------------------------ #session */
	#session{padding: 0 0 50px;}
	#session .title_box .bg_box h3:before{width: 109px; height: 125px;bottom: -29px; left: -15px;}
	#session .title_box .bg_box h3:after{width: 103px; height: 120px; bottom: -31px; right: -15px;}
	#session h4{padding: 45px 0 0; font-size: 20px;}
	#session p.text{font-size: 11px; line-height: 157.2%; padding: 23px 0 0;}
	#session p.text span{font-size: 13px; padding: 0 0 16px;display: block;}
	#session .box{border-radius: 11px; margin: 60px 0 0;}
	#session .box h5{ width: 90%; top:-33px; padding: 8px 0px; font-size: 13px; line-height: 130%;}
	#session .box h5 span{font-size: 19px; line-height: 130%; }
	#session .box ul{padding: 50px 5% 27px; display: block; }
	#session .box ul li{padding: 0 0 0 28px; font-size: 16px; width: calc(100% - 20px); }
	#session .box ul li:nth-child(1){padding: 0 0 0 28px; width: calc(100% - 20px);}
	#session .box ul li:nth-child(2),
	#session .box ul li:nth-child(4){width: calc(100% - 39px);}
	#session .box ul li:not(:last-child){margin: 0 0 13px;}
	#session .box ul li:before{ width: 20px; height: 20px;}
	#session .box.box_2{margin: 60px 0 0;}
	#session .box.box_2 h5{ top:-30px;}
	#session .box.box_2 .tbe_box{padding: 40px 5% 20px;}
	#session .box.box_2 .tbe_box table{width: 100%; height: auto;}
	#session .box.box_2 .tbe_box table thead th{font-size: 15px; padding: 2px 0 3px;}
	#session .box.box_2 .tbe_box table thead th:first-child{width: auto;}
	#session .box.box_2 .tbe_box table tbody tr th{padding: 2px 0 3px; }
	#session .box.box_2 .tbe_box table tbody tr th.t_box{padding: 4px 0 3px; text-align: center;;}
	#session .box.box_2 .tbe_box table tbody tr th span{font-size: 15px;}
	#session .box.box_2 .tbe_box table tbody tr th span.bg_box{width: 80%; padding: 2px 0 3px; font-size: 11px; margin: 0; }
	#session .box.box_2 .tbe_box table tbody tr td{padding: 2px 0 3px; font-size: 15px; }
	#session a.link_btn{margin: 35px auto 0; width: 100%;}
	#session a.link_btn:before{height: 80px;}
	/* ------------------------------------------------------------ #reason */
	
	#reason{padding: 0px 0 50px;}
	#reason .title_box .bg_box h3:before{width: 116px; height: 83px;bottom: -10px; left: -15px;}
	#reason .title_box .bg_box h3:after{width: 119px; height: 83px; bottom: -10px; right: -20px;}
	
	#reason .flist_box{padding: 70px 0 0;}
	#reason .flist_box .flex{display: block;;}
	#reason .flist_box .flex:not(:last-child){padding: 0 0 50px;}
	#reason .flist_box .flex.left_flex{flex-direction: row-reverse;}
	#reason .flist_box .flex .img_box img{width: 100%; height: auto;}
	#reason .flist_box .flex .img_box .icn{width:15%; height: auto; top: -8%; left: -4%;}
	#reason .flist_box .flex .text_box{padding: 15px 0 0;}
	#reason .flist_box .flex .text_box h4 span{font-size: 22px; padding: 0 10px 0 7px;}
	#reason .flist_box .flex .text_box h4 span:first-child{margin: 0 0 7px;}
	#reason .flist_box .flex .text_box p{line-height: 180%; padding: 12px 0 0; font-size: 13px;}
	
	/* ------------------------------------------------------------ contact */
	#contact { padding: 40px 0; }
	#contact ol { width: 100%; margin: 20px auto; }
	#contact ol li { width: calc(30% - 5px); margin: 0 0 0 5px; padding: 0 0 10px; font-size: 11px; }
	#contact ol li:nth-of-type(3n+1) { clear: inherit; margin: 0 auto; }
	#contact ol li:nth-of-type(2) { width: calc(40% - 5px); }
	#contact ol + p { font-size: 13px; line-height: 22px; text-align: left; margin: 0 auto 20px; }
	#contact form { width: 90%; padding: 20px 20px 40px; }
	#contact form table,
	#contact form table tbody { display: block; width: 100%; }
	#contact form table tr { display: block; }
	#contact form table tr:first-of-type { border-top: none; }
	#contact form table tr.ex th { display: block; }
	#contact form table tr.ex th h3 { margin: 0 auto; }
	#contact form table th { display: block; width: 100%; padding: 20px 0 10px; }
	#contact form table th h3 { font-size: 14px; }
	#contact form table th h3 span { font-size: 11px; margin: 0 0 0 10px; }
	#contact form table th small { font-size: 11px; margin: 5px auto 0; }
	#contact form table td { display: block; padding: 0 0 20px; }
	#contact form table td input[type="text"],
	#contact form table td input[type="checkbox"],
	#contact form table td select,
	#contact form table td textarea { width: 100%; padding: 12px; font-size: 14px; -webkit-box-sizing: border-box; -ms-box-sizing: border-box; box-sizing: border-box; border: solid 1px #dcdcdc; appearance: none; -webkit-appearance: none; border-radius: 0; }
	#contact form table tr.address td .cfx { margin: 0 auto 10px; }
	#contact form table tr.address td .cfx p { width: 90px; font-size: 12px; line-height: 18px; margin: 15px 0 0; }
	#contact form table tr.address td .cfx:last-of-type p { margin: 0 auto; }
	#contact form table tr.address td .cfx input { width: calc(100% - 90px); margin: 0 auto; }
	#contact form table tr.radiobutton td label { font-size: 14px; margin: 0 15px 0 0; }
	
	#contact form .gradation_btn2 { margin: 20px auto; }
	#contact form .gradation_btn2 a { }
	#contact form .gradation_btn2 span { font-size: 11px; margin: 0 auto 10px; }
	#contact form .privacy_policy { font-size: 12px; }
	#contact form .privacy_policy a { background-size: 15px; padding: 0 25px; }
	
	#contact .questionnaire { margin: 20px auto; }
	#contact .questionnaire h3 { font-size: 14px; line-height: 24px; padding: 10px 15px; margin: 0 auto; }
	#contact .questionnaire p { font-size: 14px; line-height: 24px; margin: 0 auto 20px; }
	#contact .questionnaire h4 { margin: 0 auto 15px; font-size: 14px; line-height: 24px; }
	
	#contact .questionnaire > div { padding: 20px 0; }
	#contact .questionnaire > div:first-of-type { border: none; }
	#contact .questionnaire .q1 label { display: block; margin: 0 auto 10px; font-size: 12px; width: 100%;}
	#contact .questionnaire .q1 label input { margin: 0 5px 0 0; }
	#contact .questionnaire .q2 label { width: 100%; margin: 0 0 15px 0; padding: 0 0 0 1.5em; font-size: 12px; line-height: 16px; text-indent: -1.5em; }
	#contact .questionnaire .q2 label:nth-of-type(2n+1) { clear: both; margin: 0 auto 15px; }
	#contact .questionnaire .q2 label input { margin: 2px 5px 0 0; }
	#contact .questionnaire label input { margin: 2px 5px 0 0; vertical-align: top; }
	#contact .questionnaire textarea { border: solid 1px #e5e5e5; width: 100%; appearance: none; -webkit-appearance: none; border-radius: 0; }
	
	
	/* ------------------------------------------------------------ エラー画面 */
	.note { padding: 50px 0; margin: 60px auto 0; }
	.note h3 { font-size: 24px; padding: 0 0 20px; }
	.note .caution { font-size: 14px; padding: 10px 5%; width: 90%; margin: 0 auto 30px; line-height: 24px; }
	.note .alert { margin: 0 auto 20px; }
	.note .alert span { display: block; font-size: 14px; padding: 0 0 15px; }
	.note .btn { padding: 0; display: flex; flex-direction: column-reverse;}
	.note .btn a { width: 240px; font-size: 14px; line-height: 50px; margin: 0 auto;}
	
	/* ------------------------------------------------------------ 確認画面 */
	.note.confirm .flow { margin: 0 auto 40px; }
	.note table { margin: 0 auto; display: block; width: 100%; min-width: inherit; }
	.note table tbody,
	.note table tr { display: block; width: 100%; }
	.note table th { display: block; width: 100%; padding: 15px 10px 10px; font-size: 14px; }
	.note table td { display: block; width: 100%; padding: 0 10px 15px; font-size: 14px; }
	.note input[type="submit"] { line-height: 50px; padding: 0; margin: 0 auto 10px; width: 240px; }
	
	.note ol { width: 100%; margin: 20px auto; }
	.note ol li { width: calc(30% - 5px); margin: 0 0 0 5px; padding: 0 0 10px; font-size: 11px; }
	.note ol li:nth-of-type(3n+1) { clear: inherit; margin: 0 auto; }
	.note ol li:nth-of-type(2) { width: calc(40% - 5px); }
	.note ol + p { font-size: 13px; line-height: 22px; text-align: left; margin: 0 auto 20px; }
	
	/* ------------------------------------------------------------ サンクス */
	.intro h3 { font-size: 22px; padding: 0 0 25px; }
	.intro .caution { width: 100%; font-size: 13px; line-height: 24px; text-align: left; padding: 15px; -webkit-box-sizing: border-box; -ms-box-sizing: border-box; box-sizing: border-box; }
	.intro .btn { padding: 10px 0 40px; }
	.intro .btn a { width: 240px; font-size: 14px; line-height: 50px; }

}
