@charset "UTF-8";
.img_20 img {
	width: 20% !important;
}
.tit_bm00 {
	margin-bottom: 0px !important;
}
.tit_bm00 .gnv_tmp_h4_bg {
	margin: 0 auto 5px !important;
}
.mt0 {
	margin-top: 0px !important;
}
.mr0 {
	margin-right: 0px !important;
}
.mb0 {
	margin-bottom: 0px !important;
}
.ml0 {
	margin-left: 0px !important;
}
.pt0 {
	padding-top: 0px !important;
}
.pr0 {
	padding-right: 0px !important;
}
.pb0 {
	padding-bottom: 0px !important;
}
.pl0 {
	padding-left: 0px !important;
}
.mt5 {
	margin-top: 5px !important;
}
.mr5 {
	margin-right: 5px !important;
}
.mb5 {
	margin-bottom: 5px !important;
}
.ml5 {
	margin-left: 5px !important;
}
.pt5 {
	padding-top: 5px !important;
}
.pr5 {
	padding-right: 5px !important;
}
.pb5 {
	padding-bottom: 5px !important;
}
.pl5 {
	padding-left: 5px !important;
}
.mt10 {
	margin-top: 10px !important;
}
.mr10 {
	margin-right: 10px !important;
}
.mb10 {
	margin-bottom: 10px !important;
}
.ml10 {
	margin-left: 10px !important;
}
.pt10 {
	padding-top: 10px !important;
}
.pr10 {
	padding-right: 10px !important;
}
.pb10 {
	padding-bottom: 10px !important;
}
.pl10 {
	padding-left: 10px !important;
}
.mt15 {
	margin-top: 15px !important;
}
.mr15 {
	margin-right: 15px !important;
}
.mb15 {
	margin-bottom: 15px !important;
}
.ml15 {
	margin-left: 15px !important;
}
.pt15 {
	padding-top: 15px !important;
}
.pr15 {
	padding-right: 15px !important;
}
.pb15 {
	padding-bottom: 15px !important;
}
.pl15 {
	padding-left: 15px !important;
}
.mt20 {
	margin-top: 20px !important;
}
.mr20 {
	margin-right: 20px !important;
}
.mb20 {
	margin-bottom: 20px !important;
}
.ml20 {
	margin-left: 20px !important;
}
.pt20 {
	padding-top: 20px !important;
}
.pr20 {
	padding-right: 20px !important;
}
.pb20 {
	padding-bottom: 20px !important;
}
.pl20 {
	padding-left: 20px !important;
}
.mt25 {
	margin-top: 25px !important;
}
.mr25 {
	margin-right: 25px !important;
}
.mb25 {
	margin-bottom: 25px !important;
}
.ml25 {
	margin-left: 25px !important;
}
.pt25 {
	padding-top: 25px !important;
}
.pr25 {
	padding-right: 25px !important;
}
.pb25 {
	padding-bottom: 25px !important;
}
.pl25 {
	padding-left: 25px !important;
}
.mt30 {
	margin-top: 30px !important;
}
.mr30 {
	margin-right: 30px !important;
}
.mb30 {
	margin-bottom: 30px !important;
}
.ml30 {
	margin-left: 30px !important;
}
.pt30 {
	padding-top: 30px !important;
}
.pr30 {
	padding-right: 30px !important;
}
.pb30 {
	padding-bottom: 30px !important;
}
.pl30 {
	padding-left: 30px !important;
}
.mt35 {
	margin-top: 35px !important;
}
.mr35 {
	margin-right: 35px !important;
}
.mb35 {
	margin-bottom: 35px !important;
}
.ml35 {
	margin-left: 35px !important;
}
.pt35 {
	padding-top: 35px !important;
}
.pr35 {
	padding-right: 35px !important;
}
.pb35 {
	padding-bottom: 35px !important;
}
.pl35 {
	padding-left: 35px !important;
}
.mt40 {
	margin-top: 40px !important;
}
.mr40 {
	margin-right: 40px !important;
}
.mb40 {
	margin-bottom: 40px !important;
}
.ml40 {
	margin-left: 40px !important;
}
.pt40 {
	padding-top: 40px !important;
}
.pr40 {
	padding-right: 40px !important;
}
.pb40 {
	padding-bottom: 40px !important;
}
.pl40 {
	padding-left: 40px !important;
}
.mt45 {
	margin-top: 45px !important;
}
.mr45 {
	margin-right: 45px !important;
}
.mb45 {
	margin-bottom: 45px !important;
}
.ml45 {
	margin-left: 45px !important;
}
.pt45 {
	padding-top: 45px !important;
}
.pr45 {
	padding-right: 45px !important;
}
.pb45 {
	padding-bottom: 45px !important;
}
.pl45 {
	padding-left: 45px !important;
}
.mt50 {
	margin-top: 50px !important;
}
.mr50 {
	margin-right: 50px !important;
}
.mb50 {
	margin-bottom: 50px !important;
}
.ml50 {
	margin-left: 50px !important;
}
.pt50 {
	padding-top: 50px !important;
}
.pr50 {
	padding-right: 50px !important;
}
.pb50 {
	padding-bottom: 50px !important;
}
.pl50 {
	padding-left: 50px !important;
}
.mt55 {
	margin-top: 55px !important;
}
.mr55 {
	margin-right: 55px !important;
}
.mb55 {
	margin-bottom: 55px !important;
}
.ml55 {
	margin-left: 55px !important;
}
.pt55 {
	padding-top: 55px !important;
}
.pr55 {
	padding-right: 55px !important;
}
.pb55 {
	padding-bottom: 55px !important;
}
.pl55 {
	padding-left: 55px !important;
}
.mt60 {
	margin-top: 60px !important;
}
.mr60 {
	margin-right: 60px !important;
}
.mb60 {
	margin-bottom: 60px !important;
}
.ml60 {
	margin-left: 60px !important;
}
.pt60 {
	padding-top: 60px !important;
}
.pr60 {
	padding-right: 60px !important;
}
.pb60 {
	padding-bottom: 60px !important;
}
.pl60 {
	padding-left: 60px !important;
}
.mt65 {
	margin-top: 65px !important;
}
.mr65 {
	margin-right: 65px !important;
}
.mb65 {
	margin-bottom: 65px !important;
}
.ml65 {
	margin-left: 65px !important;
}
.pt65 {
	padding-top: 65px !important;
}
.pr65 {
	padding-right: 65px !important;
}
.pb65 {
	padding-bottom: 65px !important;
}
.pl65 {
	padding-left: 65px !important;
}
.mt70 {
	margin-top: 70px !important;
}
.mr70 {
	margin-right: 70px !important;
}
.mb70 {
	margin-bottom: 70px !important;
}
.ml70 {
	margin-left: 70px !important;
}
.pt70 {
	padding-top: 70px !important;
}
.pr70 {
	padding-right: 70px !important;
}
.pb70 {
	padding-bottom: 70px !important;
}
.pl70 {
	padding-left: 70px !important;
}
.mt75 {
	margin-top: 75px !important;
}
.mr75 {
	margin-right: 75px !important;
}
.mb75 {
	margin-bottom: 75px !important;
}
.ml75 {
	margin-left: 75px !important;
}
.pt75 {
	padding-top: 75px !important;
}
.pr75 {
	padding-right: 75px !important;
}
.pb75 {
	padding-bottom: 75px !important;
}
.pl75 {
	padding-left: 75px !important;
}
.mt80 {
	margin-top: 80px !important;
}
.mr80 {
	margin-right: 80px !important;
}
.mb80 {
	margin-bottom: 80px !important;
}
.ml80 {
	margin-left: 80px !important;
}
.pt80 {
	padding-top: 80px !important;
}
.pr80 {
	padding-right: 80px !important;
}
.pb80 {
	padding-bottom: 80px !important;
}
.pl80 {
	padding-left: 80px !important;
}
.mt85 {
	margin-top: 85px !important;
}
.mr85 {
	margin-right: 85px !important;
}
.mb85 {
	margin-bottom: 85px !important;
}
.ml85 {
	margin-left: 85px !important;
}
.pt85 {
	padding-top: 85px !important;
}
.pr85 {
	padding-right: 85px !important;
}
.pb85 {
	padding-bottom: 85px !important;
}
.pl85 {
	padding-left: 85px !important;
}
.mt90 {
	margin-top: 90px !important;
}
.mr90 {
	margin-right: 90px !important;
}
.mb90 {
	margin-bottom: 90px !important;
}
.ml90 {
	margin-left: 90px !important;
}
.pt90 {
	padding-top: 90px !important;
}
.pr90 {
	padding-right: 90px !important;
}
.pb90 {
	padding-bottom: 90px !important;
}
.pl90 {
	padding-left: 90px !important;
}
.mt95 {
	margin-top: 95px !important;
}
.mr95 {
	margin-right: 95px !important;
}
.mb95 {
	margin-bottom: 95px !important;
}
.ml95 {
	margin-left: 95px !important;
}
.pt95 {
	padding-top: 95px !important;
}
.pr95 {
	padding-right: 95px !important;
}
.pb95 {
	padding-bottom: 95px !important;
}
.pl95 {
	padding-left: 95px !important;
}
.mt100 {
	margin-top: 100px !important;
}
.mr100 {
	margin-right: 100px !important;
}
.mb100 {
	margin-bottom: 100px !important;
}
.ml100 {
	margin-left: 100px !important;
}
.pt100 {
	padding-top: 100px !important;
}
.pr100 {
	padding-right: 100px !important;
}
.pb100 {
	padding-bottom: 100px !important;
}
.pl100 {
	padding-left: 100px !important;
}
.pa50 {
	padding: 50px!important;
}
/* float */
.fr {
	float: right !important;
}
.fl {
	float: left !important;
}
/* clears */
.clearfix, .feature02.b_11.b_11_column3 .wrap div.column_c, .feature02.b_11.b_11_column3 .wrap div.column_l, .feature02.b_11.b_11_column3 .wrap div.column_r, .feature03.b_11.b_11_column2 .wrap div.column_c .box, .feature03.b_11.b_11_column2 .wrap div.column_l .box, .feature03.b_11.b_11_column2 .wrap div.column_r .box, .concept01 .wrap .btns, .concept02 .wrap .btns {
 *zoom: 1;
}
.clearfix:after, .feature02.b_11.b_11_column3 .wrap div.column_c:after, .feature02.b_11.b_11_column3 .wrap div.column_l:after, .feature02.b_11.b_11_column3 .wrap div.column_r:after, .feature03.b_11.b_11_column2 .wrap div.column_c .box:after, .feature03.b_11.b_11_column2 .wrap div.column_l .box:after, .feature03.b_11.b_11_column2 .wrap div.column_r .box:after, .concept01 .wrap .btns:after, .concept02 .wrap .btns:after {
	content: "";
	display: table;
	clear: both;
}
.cl {
	clear: both !important;
}
/* text indent */
/* text-align */
.tac {
	text-align: center !important;
}
.tar {
	text-align: right !important;
}
.tal {
	text-align: left !important;
}
/* font-weight */
.fb {
	font-weight: bold !important;
}
/*--------------------------------------
-------------------------------------------------------------
■ Module
-------------------------------------------------------------
	1. Heading
	├ 1-1. other heading(news,blog,sitemap.notfound)
	├ 1-2. h2
	├ 1-3. h3
	├ 1-4. h4
	└ 1-5. h5
	2. Table
	├ 2-1. gnv_tmp_table01
	└ 2-2. gnv_tmp_table02
	3. Img
	├ 3-1. img layout
	└ 3-2. img effects
	4. List
	├ 4-1. ic_01
	├ 4-2. ic_02
	├ 4-3. ic_arrow_01
	└ 4-4. ic_arrow_02
	5. Buttons
	└ 5-1. gnv_tmp_bt
	6.Under Template
	├ 6-1. List of Check Design
	├ 6-2 手順矢印(下)
	├ 6-3. table01
	├ 6-4. anchorlinks
	└ 6-5. 症例写真 (クラスに「case_photo」を追加。画像サイズが大きくなり過ぎないように調整)
	7. Others
	├ 7-1. MAP
	├ 7-2. VIEMO
	├ 7-3. Q&A
	├ 7-4. flow
	├ 7-5. before after
	├ 7-6. SNS
	├ 7-7. ステップ形式(コンテンツ下に三角形の矢印を配置)
	├ 7-8. ステップリスト
	├ 7-9. チェックリストデザイン
	├ 7-10. 吹き出しリード文
	├ 7-11. w960
	└ 7-12. googlecalender、googleMap、インドアビュー
--------------------------------------*/
/* =====================================
	Default setting
===================================== */
/*-----------------------------------------------------------
■ Module
-----------------------------------------------------------*/
/* =====================================
	1. Heading
===================================== */
/*--------------------------------------
	1-1. other heading(news,blog,sitemap.notfound)
--------------------------------------*/
/* =====================================
	2. Table
===================================== */
/*--------------------------------------
	2-1. gnv_tmp_table01
--------------------------------------*/
table.gnv_tmp_table01 {
	margin-bottom: 1.5em;
}
table.gnv_tmp_table01 th, table.gnv_tmp_table01 td {
	text-align: left;
}
table.gnv_tmp_table01 {
	background: #fff;
	width: 100%;
}
table.gnv_tmp_table01 thead th {
	background: #ddd;
	border-top: 1px dotted #ccc;
}
table.gnv_tmp_table01 th {
	background: #efefef;
	border-top: 1px dotted #ccc;
	border-bottom: 1px dotted #ccc;
}
table.gnv_tmp_table01 td {
	background: #fff;
	border-bottom: 1px dotted #ccc;
	border-top: 1px dotted #ccc;
}
/*--------------------------------------
	2-2. gnv_tmp_table02
--------------------------------------*/
/*下部に統合しました*/
/*--------------------------------------
	2-3. table design 1
--------------------------------------*/
table.tableDesign01, table .tableDesign01 {
	width: 100%;
	table-layout: fixed;
}
.tableDesign01 th, .tableDesign01 td {
	padding: 0.5em;
	text-align: center;
	vertical-align: middle;
}
.tableDesign01 thead th {
	background: #002e4e;
	color: #fff;
}
.tableDesign01 tbody th {
	background: #ddebf1;
	border-bottom: 1px solid #ccc;
}
.tableDesign01 tbody td {
	border-bottom: 1px solid #ccc;
}
 @media screen and (max-width: 767px) {
table.tableDesign01, table .tableDesign01 {
	font-size: 85%;
}
.tableDesign01 th, .tableDesign01 td {
	padding: 0.2em;
}
}
@media (max-width: 480px) {
table.tableDesign01, table .tableDesign01 {
	font-size: 70%;
}
}
/*--------------------------------------
	2-4. table design 2
--------------------------------------*/
table.tableDesign02, table .tableDesign02 {
	width: 100%;
	table-layout: fixed;
}
.tableDesign02 th, .tableDesign02 td {
	padding: 0.5em;
	vertical-align: middle;
}
.tableDesign02 tbody th {
	border: none;
	border-bottom: 1px solid #103956;
	text-align: center;
}
.tableDesign02 tbody td {
	border: none;
	border-bottom: 1px solid #ccc;
}
.tableDesign02 .b_06_item {
	background: none;
}
/*--------------------------------------
	2-5. timetable
--------------------------------------*/
table.timetable, table .timetable {
	width: 100%;
	table-layout: fixed;
}
table.timetable .c1, table .timetable .c1 {
	color: #ff9600;
}
.timetable th, .timetable td {
	padding: 0.5em;
	text-align: center;
	vertical-align: middle;
}
.timetable thead th {
    background: #ffcb81;
    color: #75503d;
    font-weight: normal;
}
.timetable thead th:first-child {
	width: 30%;
}
.timetable thead th:last-child {
	width: 20%;
}
.timetable tbody th {
	background: #fff;
	border-bottom: 1px solid #e3e3e3;
	font-weight: normal;
}
.timetable tbody td {
	border-bottom: 1px solid #e3e3e3;
	background: #fff;
}

 @media screen and (max-width: 767px) {
table.timetable, table .timetable {
	font-size: 85%;
}
.timetable th, .timetable td {
	padding: 0.2em;
}
}
@media (max-width: 480px) {
table.timetable, table .timetable {
	font-size: 70%;
}
}
/* =====================================
	3. Img
===================================== */
/*--------------------------------------
	3-1. img layout
--------------------------------------*/
/* img width */
.b_11 .b_11_in span img {
	width: 36%;
	float: right;
	margin: 0 0 1em 1em;
}
/* left */
.img_l span img {
	float: left !important;
	margin: 0 20px 20px 0 !important;
}
/* right */
.img_r span img {
	float: right !important;
	margin: 0 0 20px 20px !important;
}
/* 画像下のテキスト回り込み回避 */
.text_box {
    float: left;
    width: 60%;
}
 @media screen and (max-width: 767px) {
/* img width */
.b_11 .b_11_in span img {
	width: 100%;
}
/* 1列 */
.b_11 .b_11_in span img, .b_11_2_in span img {
	margin: 0 0 0.5em;
	width: 100%;
}
.b_10.b_10_column2.img_list {
	border: medium none;
	border-collapse: collapse;
	display: table;
	line-height: 1px;
	table-layout: fixed;
	width: 100%;
}
/* 2列 */
.img_list.b_10.b_10_column2 div.column_l {
	display: table-cell;
	line-height: 1px;
	padding-right: 10px;
	vertical-align: top;
	width: auto;
}
.img_list.b_10.b_10_column2 div.column_r {
	display: table-cell;
	line-height: 1px;
	padding-left: 10px;
	vertical-align: top;
	width: auto;
}
/* 3列 */
.b_10.b_10_column3 div.column_blank {
	display: table-cell !important;
	vertical-align: top;
	width: auto;
}
.img_list.b_10_column3 div.column_c, .img_list.b_10_column3 div.column_l {
	display: table-cell;
	width: 32%;
	margin-right: 1%;
}
.img_list.b_10_column3 div.column_r {
	display: table-cell;
	width: 32%;
	margin-right: 0;
}
.b_10.b_10_column3.img_list {
	display: table;
}
/* 画像下のテキスト回り込み回避  */
.text_box {
	float: none;
	width: 100%;
}
}
/*--------------------------------------
	3-2. img effects
--------------------------------------*/
/* 角丸 */
/*.image img,
.text_image img,
.gnv_tmp_style img {

}
*/
/* rollover */
.rollover a img:hover, .rollover span a img:hover, .rollover .img_r span a img:hover {
	opacity: 0.8;
	filter: alpha(opacity=80);
	-ms-filter: "alpha( opacity=80 )";
}
/* =====================================
	4. List
===================================== */
/*--------------------------------------
	4-1. ic_01
--------------------------------------*/
.ic_01 {
	width: 100%;
}
.ic_01 .clearfix, .ic_01 .feature02.b_11.b_11_column3 .wrap div.column_c, .feature02.b_11.b_11_column3 .wrap .ic_01 div.column_c, .ic_01 .feature02.b_11.b_11_column3 .wrap div.column_l, .feature02.b_11.b_11_column3 .wrap .ic_01 div.column_l, .ic_01 .feature02.b_11.b_11_column3 .wrap div.column_r, .feature02.b_11.b_11_column3 .wrap .ic_01 div.column_r, .ic_01 .feature03.b_11.b_11_column2 .wrap div.column_c .box, .feature03.b_11.b_11_column2 .wrap div.column_c .ic_01 .box, .ic_01 .feature03.b_11.b_11_column2 .wrap div.column_l .box, .feature03.b_11.b_11_column2 .wrap div.column_l .ic_01 .box, .ic_01 .feature03.b_11.b_11_column2 .wrap div.column_r .box, .feature03.b_11.b_11_column2 .wrap div.column_r .ic_01 .box, .ic_01 .concept01 .wrap .btns, .concept01 .wrap .ic_01 .btns, .ic_01 .concept02 .wrap .btns, .concept02 .wrap .ic_01 .btns {
	padding: 5px 5px 5px 25px;
}
.ic_01 span {
	position: relative;
	line-height: 1;
}
.ic_01 span:before {
	content: "";
	position: absolute;
	background: #7E94C5;
	top: 10px;
	left: -16px;
	margin-top: -4px;
	height: 7px;
	width: 7px;
	border-radius: 50%;
}
.ic_01 ul {
	margin: 25px;
}
.ic_01 li {
	position: relative;
	padding: 5px 5px 5px 0;
}
.ic_01 li:before {
	content: "";
	position: absolute;
	background: #f3dd65;
	top: 14px;
	left: -16px;
	margin-top: 0px;
	height: 7px;
	width: 7px;
	border-radius: 50%;
}
/*--------------------------------------
	4-2. ic_02
--------------------------------------*/
.ic_02 .clearfix, .ic_02 .feature02.b_11.b_11_column3 .wrap div.column_c, .feature02.b_11.b_11_column3 .wrap .ic_02 div.column_c, .ic_02 .feature02.b_11.b_11_column3 .wrap div.column_l, .feature02.b_11.b_11_column3 .wrap .ic_02 div.column_l, .ic_02 .feature02.b_11.b_11_column3 .wrap div.column_r, .feature02.b_11.b_11_column3 .wrap .ic_02 div.column_r, .ic_02 .feature03.b_11.b_11_column2 .wrap div.column_c .box, .feature03.b_11.b_11_column2 .wrap div.column_c .ic_02 .box, .ic_02 .feature03.b_11.b_11_column2 .wrap div.column_l .box, .feature03.b_11.b_11_column2 .wrap div.column_l .ic_02 .box, .ic_02 .feature03.b_11.b_11_column2 .wrap div.column_r .box, .feature03.b_11.b_11_column2 .wrap div.column_r .ic_02 .box, .ic_02 .concept01 .wrap .btns, .concept01 .wrap .ic_02 .btns, .ic_02 .concept02 .wrap .btns, .concept02 .wrap .ic_02 .btns {
	padding: 5px 5px 5px 35px;
}
.ic_02 .clearfix span, .ic_02 .feature02.b_11.b_11_column3 .wrap div.column_c span, .feature02.b_11.b_11_column3 .wrap .ic_02 div.column_c span, .ic_02 .feature02.b_11.b_11_column3 .wrap div.column_l span, .feature02.b_11.b_11_column3 .wrap .ic_02 div.column_l span, .ic_02 .feature02.b_11.b_11_column3 .wrap div.column_r span, .feature02.b_11.b_11_column3 .wrap .ic_02 div.column_r span, .ic_02 .feature03.b_11.b_11_column2 .wrap div.column_c .box span, .feature03.b_11.b_11_column2 .wrap div.column_c .ic_02 .box span, .ic_02 .feature03.b_11.b_11_column2 .wrap div.column_l .box span, .feature03.b_11.b_11_column2 .wrap div.column_l .ic_02 .box span, .ic_02 .feature03.b_11.b_11_column2 .wrap div.column_r .box span, .feature03.b_11.b_11_column2 .wrap div.column_r .ic_02 .box span, .ic_02 .concept01 .wrap .btns span, .concept01 .wrap .ic_02 .btns span, .ic_02 .concept02 .wrap .btns span, .concept02 .wrap .ic_02 .btns span {
	position: relative;
	line-height: 1;
}
.ic_02 span:before {
	content: "\00a0";
	display: block;
	border: solid 9px #000;
	height: 0;
	width: 0;
	position: absolute;
	left: -29px;
	top: 10px;
	margin-top: -8px;
}
.ic_02 span:after {
	content: "\00a0";
	display: block;
	width: 4px;
	height: 7px;
	border: solid #fff;
	border-width: 0 2px 2px 0;
	position: absolute;
	left: -23px;
	top: 10px;
	margin-top: -4px;
	-webkit-transform: rotate(45deg);
	-moz-transform: rotate(45deg);
	-o-transform: rotate(45deg);
	transform: rotate(45deg);
}
.ic_02 ul {
	margin: 35px;
}
.ic_02 li {
	position: relative;
	padding: 5px 5px 5px 0;
}
.ic_02 li:before {
	content: "\00a0";
	display: block;
	border: solid 9px #000;
	height: 0;
	width: 0;
	position: absolute;
	left: -29px;
	top: 10px;
	margin-top: -4px;
}
.ic_02 li:after {
	content: "\00a0";
	display: block;
	width: 4px;
	height: 7px;
	border: solid #fff;
	border-width: 0 2px 2px 0;
	position: absolute;
	left: -23px;
	top: 10px;
	margin-top: 0;
	-webkit-transform: rotate(45deg);
	-moz-transform: rotate(45deg);
	-o-transform: rotate(45deg);
	transform: rotate(45deg);
}
/*--------------------------------------
	4-3. ic_arrow_01
--------------------------------------*/
.ic_arrow_01 div {
	padding: 5px 5px 5px 25px;
}
.ic_arrow_01 span {
	position: relative;
}
.ic_arrow_01 span:before {
	display: block;
	content: "";
	position: absolute;
	left: -15px;
	width: 0;
	height: 0;
	margin-top: 6px;
	border: 5px solid transparent;
	border-left: 5px solid #000;
}
.ic_arrow_01 span:hover:before {
	left: -12px;
}
.ic_arrow_01 ul {
	margin: 25px;
}
.ic_arrow_01 li {
	position: relative;
	padding: 5px 5px 5px 0;
}
.ic_arrow_01 li:before {
	display: block;
	content: "";
	position: absolute;
	top: 10px;
	left: -15px;
	width: 0;
	height: 0;
	margin-top: -1px;
	border: 5px solid transparent;
	border-left: 5px solid #000;
}
/*--------------------------------------
	4-4. ic_arrow_02
--------------------------------------*/
.ic_arrow_02 .clearfix, .ic_arrow_02 .feature02.b_11.b_11_column3 .wrap div.column_c, .feature02.b_11.b_11_column3 .wrap .ic_arrow_02 div.column_c, .ic_arrow_02 .feature02.b_11.b_11_column3 .wrap div.column_l, .feature02.b_11.b_11_column3 .wrap .ic_arrow_02 div.column_l, .ic_arrow_02 .feature02.b_11.b_11_column3 .wrap div.column_r, .feature02.b_11.b_11_column3 .wrap .ic_arrow_02 div.column_r, .ic_arrow_02 .feature03.b_11.b_11_column2 .wrap div.column_c .box, .feature03.b_11.b_11_column2 .wrap div.column_c .ic_arrow_02 .box, .ic_arrow_02 .feature03.b_11.b_11_column2 .wrap div.column_l .box, .feature03.b_11.b_11_column2 .wrap div.column_l .ic_arrow_02 .box, .ic_arrow_02 .feature03.b_11.b_11_column2 .wrap div.column_r .box, .feature03.b_11.b_11_column2 .wrap div.column_r .ic_arrow_02 .box, .ic_arrow_02 .concept01 .wrap .btns, .concept01 .wrap .ic_arrow_02 .btns, .ic_arrow_02 .concept02 .wrap .btns, .concept02 .wrap .ic_arrow_02 .btns {
	padding: 5px 5px 5px 30px;
}
.ic_arrow_02 span {
	position: relative;
}
.ic_arrow_02 span:before {
	display: block;
	content: "";
	position: absolute;
	top: 10px;
	left: -25px;
	width: 16px;
	height: 16px;
	margin-top: -8px;
	border-radius: 50%;
	background: #999;
}
.ic_arrow_02 span:after {
	display: block;
	content: "";
	position: absolute;
	top: 10px;
	left: -19px;
	width: 0;
	height: 0;
	margin-top: -5px;
	border: 5px solid transparent;
	border-left: 5px solid #fff;
}
.ic_arrow_02 span:hover:before {
	left: -22px;
}
.ic_arrow_02 span:hover:after {
	left: -16px;
}
.ic_arrow_02 ul {
	margin: 30px;
}
.ic_arrow_02 li {
	position: relative;
	padding: 5px 5px 5px 0;
}
.ic_arrow_02 li:before {
	display: block;
	content: "";
	position: absolute;
	top: 10px;
	left: -25px;
	width: 16px;
	height: 16px;
	margin-top: -4px;
	border-radius: 50%;
	background: #999;
}
.ic_arrow_02 li:after {
	display: block;
	content: "";
	position: absolute;
	top: 10px;
	left: -19px;
	width: 0;
	height: 0;
	margin-top: -1px;
	border: 5px solid transparent;
	border-left: 5px solid #fff;
}
.ic_arrow_02 li:hover:before {
	left: -22px;
}
.ic_arrow_02 li:hover:after {
	left: -16px;
}
/* =====================================
	5. Buttons
===================================== */
/*--------------------------------------
	5-1. gnv_tmp_bt
--------------------------------------*/
.gnv_tmp_bt a {
	line-height: 1.4;
	display: block;
	padding: 5px 20px;
	text-align: center;
	font-weight: bold;
	color: #000;
	background: #f2f2f2;
	background: -webkit-gradient(linear, left top, left bottom, color-stop(1, #f5f5f5), color-stop(0, #f2f2f2));
	background: -webkit-linear-gradient(top, #f5f5f5 0%, #f2f2f2 100%);
	background: -moz-linear-gradient(top, #f5f5f5 0%, #f2f2f2 100%);
	background: -o-linear-gradient(top, #f5f5f5 0%, #f2f2f2 100%);
	background: -ms-linear-gradient(top, #f5f5f5 0%, #f2f2f2 100%);
	background: linear-gradient(to bottom, #f5f5f5 0%, #f2f2f2 100%);
	-webkit-box-shadow: 0 3px 0 0 #cdcdcd;
	-moz-box-shadow: 0 3px 0 0 #cdcdcd;
	box-shadow: 0 3px 0 0 #cdcdcd;
	border-radius: 5px;
}
.text_image .gnv_tmp_bt a {
	margin-top: 0.5em;
}
.gnv_tmp_bt a:hover, .gnv_tmp_detail a:hover {
	text-decoration: none;
	background: #fafafa;
}
/* btサイズ指定の場合 */
.gnv_tmp_detail a {
	width: 20%;
	float: left;
}
 @media screen and (max-width: 767px) {
.gnv_tmp_detail a {
	width: auto;
	float: none;
}
}
/* =====================================
	6. 下層TPL
===================================== */
/*--------------------------------------
	6-1. List of Check Design
--------------------------------------*/
ul.listCheck li {
	position: relative;
	padding-left: 2em;
	margin-bottom: 10px;
	font-size: 16px;
}
ul.listCheck li:before {
	display: block;
	content: '';
	position: absolute;
	top: 1px;
	left: 0;
	width: 12px;
	height: 12px;
	background: #fff;
	border: 2px solid #bfbfbf;
}
ul.listCheck li:after {
	display: block;
	content: '';
	position: absolute;
	top: 5px;
	left: 4px;
	width: 7px;
	height: 3px;
	border-left: 2px solid #0061a5;
	border-bottom: 2px solid #0061a5;
	-webkit-transform: rotate(-45deg);
	transform: rotate(-45deg);
}
/*--------------------------------------
	6-2 手順矢印(下)
--------------------------------------*/
.stepArrow {
	position: relative;
	margin-bottom: 3em;
}
.stepArrow:before {
	content: "";
	position: absolute;
	bottom: -70px;
	left: 50%;
	margin-left: -45px;
	display: block;
	width: 0;
	height: 0;
	border: 25px solid transparent;
	border-top-color: #6FBA2C;
	border-right-width: 45px;
	border-left-width: 45px;
}
/*--------------------------------------
	6-3. table01
--------------------------------------*/
table.table01, table .table01 {
	width: 100%;
	margin-bottom: 1em;
	border-collapse: collapse;
	border: 1px solid #ccc;
}
.table01 th, .table01 td {
	padding: 0.5em;
	text-align: left;
	border: 1px solid #ccc;
	vertical-align: middle;
}
.table01 thead th {
	background: #f494ae;
	color: #fff;
}
.table01 tbody th {
    background: #ffd4e0;
    width: 25%;
    text-align: center;
}
 @media screen and (max-width: 767px) {
table.table01, table .table01 {
	font-size: 85%;
}
.table01 th, .table01 td {
	padding: 0.5em;
}
}
@media (max-width: 480px) {
table.table01, table .table01 {
	font-size: 70%;
}
}
/*--------------------------------------
	6-4. anchorlinks
--------------------------------------*/
.anchorlinks {
	border: 3px double #333;
	background: #ccc;
	padding: 2em 2em 1em 2em;
	list-style: none;
}
.anchorlinks:after {
	content: "";
	display: block;
	clear: both;
}
.anchorlinks li {
	position: relative;
	width: 33.33%;
	float: left;
	padding: 0 .5em 0 1.2em;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	-ms-box-sizing: border-box;
	-o-box-sizing: border-box;
	box-sizing: border-box;
	margin-bottom: 1em;
}
.anchorlinks li:nth-child(3n) {
	padding-right: 0;
}
.anchorlinks li a {
	text-decoration: none;
}
.anchorlinks li a:before {
	content: "";
	position: absolute;
	top: 3px;
	left: 0;
	display: inline-block;
	width: 0;
	height: 0;
	margin-right: .5em;
	border-top: .4em solid transparent;
	border-bottom: .4em solid transparent;
	border-left: .8em solid #333;
	-webkit-transition-duration: .6s;
	-ms-transition-duration: .6s;
	-moz-transition-duration: .6s;
	transition-duration: .6s;
}
.anchorlinks li a:hover:before {
	-webkit-transform: rotate(90deg);
	-moz-transform: rotate(90deg);
	-ms-transform: rotate(90deg);
	-o-transform: rotate(90deg);
	transform: rotate(90deg);
}
.anchorlinks li a:hover {
	text-decoration: underline;
}
 @media screen and (max-width: 767px) {
.anchorlinks {
	padding: 1em 1em .5em 1em;
}
.anchorlinks li {
	width: 50%;
	margin-bottom: .5em;
}
.anchorlinks li:nth-child(even) {
	padding-right: 0;
}
.anchorlinks li:nth-child(3n) {
	padding-right: 1em;
}
}
@media screen and (max-width: 480px) {
.anchorlinks li {
	width: 100%;
	padding-right: 0;
}
}
/*--------------------------------------
	6-5. 症例写真 (クラスに「case_photo」を追加。画像サイズが大きくなり過ぎないように調整)
--------------------------------------*/
/*「テキスト+画像+文章」用*/
.case_photo.b_11_2.b_11_2_column2 div.column_l span img, .case_photo.b_11_2.b_11_2_column2 div.column_r span img, .case_photo.b_11_2.b_11_2_column3 div.column_c span img, .case_photo.b_11_2.b_11_2_column3 div.column_l span img, .case_photo.b_11_2.b_11_2_column3 div.column_r span img {
	width: 100%;
	max-width: 280px;
	margin-left: auto;
	margin-right: auto;
}
.case_photo.b_11_2_in span img {
	width: 100%;
	max-width: 240px;
}
 @media (max-width: 767px) {
.case_photo .b_11_2_in span img {
	max-width: 240px;
	float: none;
	margin-left: auto;
	margin-right: auto;
}
}
/*「画像」パーツ用*/
.case_photo.b_10.column_r span img, .case_photo.column_c span img, .case_photo.column_l span img {
	width: 240px;
	max-width: 100%;
	margin-left: auto;
	margin-right: auto;
}
.case_photo.b_10 img {
	width: 100%;
	max-width: 240px;
}
 @media (max-width: 767px) {
.case_photo.b_10 img {
	max-width: 240px;
}
}
/* =====================================
	7. Others
===================================== */
/*--------------------------------------
	7-1. MAP
--------------------------------------*/
.gnv_tmp_map {
	position: relative;
	width: 100%;
	padding-top: 50%;
}
.gnv_tmp_map iframe {
	position: absolute;
	top: 0;
	right: 0;
	width: 100% !important;
	height: 100% !important;
}
 @media screen and (max-width: 767px) {
.gnv_tmp_map {
	padding-top: 80% !important;
}
.gnv_tmp_map iframe {
	right: 10%;
	width: 80% !important;
}
}
/*--------------------------------------
	7-2. VIEMO
--------------------------------------*/
/* 動画最大幅 */
.viemo.b_09, .viemo.b_11_3.b_11_3_column2 {
	max-width: 700px;
	margin: 0 auto;
}
 @media screen and (-webkit-min-device-pixel-ratio: 0) {
  ::i-block-chrome, .viemo.b_11_3.b_11_3_column2 {
 width: 700px;
}
}
/* youtubeの縦横比 */
.viemo.b_09 > div, .viemo.b_11_3.b_11_3_column2 div.column_l > p, .viemo.b_11_3.b_11_3_column2 div.column_r > p {
	position: relative;
	padding-top: 56.25%;
}
/* 絶対費で固定 */
.viemo.b_09 iframe, .viemo.b_11_3.b_11_3_column2 div.column_l iframe, .viemo.b_11_3.b_11_3_column2 div.column_r iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}
 @media screen and (max-width: 767px) {
.viemo.b_11_3.b_11_3_column2 {
	width: 100%;
}
}
@media screen and (min-width: 700px) and (max-width: 720px) {
.viemo.b_11_3.b_11_3_column2 {
	width: 100%;
	max-width: 720px;
}
}
@media screen and (max-width: 720px) {
.viemo.b_09 {
	padding: 0 10px;
}
.viemo.b_11_3.b_11_3_column2 div.column_l {
	padding-left: 10px;
}
.viemo.b_11_3.b_11_3_column2 div.column_r {
	padding-right: 10px;
}
}
@media screen and (max-width: 767px) {
.viemo.b_11_3.b_11_3_column2 div.column_l, .viemo.b_11_3.b_11_3_column2 div.column_r {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	-ms-box-sizing: border-box;
	-o-box-sizing: border-box;
	box-sizing: border-box;
}
.viemo.b_11_3.b_11_3_column2 div.column_l, .viemo.b_11_3.b_11_3_column2 div.column_r {
	padding: 0 10px;
}
}
/*--------------------------------------
	7-3. Q&A
--------------------------------------*/
/* 既存 */
.gnv_tmp_qa_q {
	border-left: 3px solid #55ade2;
	margin-bottom: 10px;
	padding: 10px;
	display: table;
}
.gnv_tmp_qa_q span.tit {
	font-size: 200%;
	font-weight: bold;
	color: #55ade2;
	padding-right: 20px;
	display: table-cell;
	width: 30px;
}
.gnv_tmp_qa_a {
	border-left: 3px solid #f494ae;
	margin-bottom: 10px;
	padding: 10px;
	display: table;
}
.gnv_tmp_qa_a span.tit {
	font-size: 200%;
	font-weight: bold;
	color: #f494ae;
	padding-right: 20px;
	display: table-cell;
	width: 30px;
}
.gnv_tmp_qa_a p, .gnv_tmp_qa_q p {
	display: table-cell;
	width: 100%;
	vertical-align: middle;
}
/* 新テンプレ用 */
.qa dl dt {
	position: relative;
	border-left: 2px solid #55ade2;
	padding-top: 0.2em;
	padding-left: 2.5em;
	margin: 40px 0 20px;
}
.qa dl dt:before {
	content: "Q";
	font-size: 2em;
	color: #55ade2;
	position: absolute;
	left: 0.2em;
}
.qa dl dd {
	position: relative;
	border-left: 2px solid #f494ae;
	padding-top: 0.2em;
	padding-left: 2.5em;
}
.qa dl dd:before {
	content: "A";
	font-size: 2em;
	color: #f494ae;
	position: absolute;
	left: 0.2em;
}
/*--------------------------------------
	7-4. flow
--------------------------------------*/
img.gnv_tmp_flow_arrow_01, img.gnv_tmp_flow_arrow_02 {
	margin: 10px auto 0;
}
/*--------------------------------------
	7-5. before after
--------------------------------------*/
.ba_box {
	background: url("http://t009designer-pro.plimo-demo.com/asset/ba_ar.png") no-repeat 49% 55%;
	display: table;
	width: 100%;
}
.ba_box div.column_l, .ba_box div.column_r {
	display: table-cell;
	width: 30% !important;
}
.ba_box div.column_l span, .ba_box div.column_r span {
	width: 100%;
}
.ba_box div.column_l p, .ba_box div.column_r p, .ba_box div.column_l span img, .ba_box div.column_r span img {
	width: 95% !important;
	margin: 0 auto !important;
}
.ba_box .column_r, .ba_box .column_l {
	text-align: center;
	color: #B69440;
	font-size: 120%;
	font-weight: bold;
}
.ba_box .column_r span {
	text-align: right;
}
 @media screen and (max-width: 600px) {
.ba_box {
	background: url("http://t009designer-pro.plimo-demo.com/asset/ba_ar_sp.png") no-repeat center 50%;
	margin: 0 auto 5em !important;
}
.ba_box div.column_l, .ba_box div.column_r {
	width: 100% !important;
	display: block;
}
.ba_box .column_l {
	margin-bottom: 2em !important;
}
.ba_box .column_r span {
	text-align: center;
}
}
/*--------------------------------------
	7-6. SNS
--------------------------------------*/
#line, #facebook, .fb-like {
	margin-bottom: 5px;
}
/*--------------------------------------
	7-7. ステップ形式(コンテンツ下に三角形の矢印を配置)
--------------------------------------*/
.stepArrow {
	position: relative;
	margin-bottom: 3em;
}
.stepArrow:before {
	content: "";
	position: absolute;
	bottom: -70px;
	left: 50%;
	margin-left: -45px;
	display: block;
	width: 0;
	height: 0;
	border: 25px solid transparent;
	border-top-color: #fa9ead;
	border-right-width: 45px;
	border-left-width: 45px;
}
/*--------------------------------------
	7-8. ステップリスト
--------------------------------------*/
/* パターン1 */
.stepList01 dt {
	position: relative;
	font-size: 150%;
	font-weight: bold;
	color: #724742;
	padding-left: 2.5em;
	padding-top: 0.4em;
	min-height: 2em;
}
.stepList01 dt span {
	position: absolute;
	top: 0;
	left: 0;
	background: #724742;
	padding: 6px 9px;
	color: #fff;
}
.stepList01 dd {
	margin: 1em 0 2em 3em;
}
 @media screen and (max-width: 767px) {
.stepList01 dt {
	font-size: 120%;
}
}
/* パターン2 */
.stepList02 {
	margin-bottom: 2em !important;
}
.stepList02 p {
	position: relative;
	padding-left: 2.5em;
	padding-top: 0.4em;
	min-height: 2em;
	word-break: break-all;
}
.stepList02 p span {
	position: absolute;
	top: 0;
	left: 0;
	background: #fa9ead;
	padding: 6px 9px;
	color: #fff;
}
/*--------------------------------------
	7-9. チェックリストデザイン
--------------------------------------*/
ul.listCheck li {
	position: relative;
	padding-left: 2em;
	margin-bottom: 10px;
	font-size: 16px;
}
ul.listCheck li:before {
	display: block;
	content: '';
	position: absolute;
	top: 2px;
	left: 0;
	width: 18px;
	height: 18px;
	background: #fff;
	border: 2px solid #bfbfbf;
}
ul.listCheck li:after {
	display: block;
	content: '';
	position: absolute;
	top: .6em;
	left: .35em;
	width: 10px;
	height: 3px;
	border-left: 2px solid #0061a5;
	border-bottom: 2px solid #0061a5;
	-webkit-transform: rotate(-45deg);
	transform: rotate(-45deg);
}
/*--------------------------------------
	7-10. 吹き出しリード文
--------------------------------------*/
.leadWrap .balloonWrap01 {
	position: relative;
	max-width: 90%;
	background: #44a5db;
	font-size: 186%;
	color: #fff;
	padding: .4em;
	text-align: center;
	margin: 2em auto 1.5em;
	-webkit-border-radius: 50px;
	-moz-border-radius: 50px;
	-ms-border-radius: 50px;
	-o-border-radius: 50px;
	border-radius: 50px;
}
.leadWrap .balloonWrap01:after {
	content: "";
	position: absolute;
	bottom: -15px;
	left: 50%;
	margin-left: -1em;
	display: block;
	border-top: 16px solid #44a5db;
	border-right: 18px solid transparent;
	border-left: 18px solid transparent;
}
#content .leadWrap p {
	margin-bottom: 60px;
}
 @media screen and (max-width: 767px) {
.leadWrap .balloonWrap01 {
	padding: .5em;
	font-size: 128%;
	-webkit-border-radius: 15px;
	-moz-border-radius: 15px;
	-ms-border-radius: 15px;
	-o-border-radius: 15px;
	border-radius: 15px;
	margin: 20px auto;
}
#content .leadWrap p {
	margin-bottom: 20px;
}
}
/*--------------------------------------
	7-11. w960
--------------------------------------*/
.w960 {
	max-width: 960px;
	margin: 0 auto;
	padding: 0 10px;
}
/*--------------------------------------
	7-12. googlecalender、googleMap、インドアビュー
--------------------------------------*/
.gMap, .calenderWrap, .indoorView {
	position: relative;
}
.gMap iframe, .calenderWrap iframe, .indoorView iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	border: none;
}
.gMap {
	height: 300px;
}
.calenderWrap, .indoorView {
	padding-top: 56.25%;
}
.calenderWrap iframe {
	min-height: 260px;
}
.indoorView iframe {
	min-height: 240px;
}
 @media only screen and (max-width: 480px) {
/*
  .gMap {
  	padding-top: 220px;
  }
  */
.calenderWrap {
	padding-top: 300px;
}
.indoorView {
	padding-top: 240px;
}
}
/*======================================================================

	plimo LITE(56)、plimo116(2カラム)用調整

======================================================================*/
/*--------------------------------------
	8-1 共通
--------------------------------------*/
/*画像サイズ調整*/
@media only screen and (min-width: 768px) {
.b_11_2_in span img {
	width: 36%;
	float: right;
    margin: 0 0 1em 1em;
}
}
/*--------------------------------------
	8-2	見出し　h2～h5
--------------------------------------*/
/*-----h2-----*/
.gnv_tmp_h2_bg {
    background: url(/asset/top_bg01.png);
    background-size: inherit;
    text-align: center;
}
.gnv_tmp_h2_bg h2 {
	font-size: 3rem;
	color: #4e565a;
	letter-spacing: 2px;
	position: relative;
	padding: 0 0 5px 0;
	font-weight: normal;
	line-height: 1.2;
	font-family: "メイリオ", Meiryo, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", sans-serif;
}
.gnv_tmp_h2_bg h2:after {
	/*content: "";
	display: inline-block;
	position: absolute;
	height: 2px;
	width: 60px;
	background: #70b4d0;
	left: 50%;
	bottom: 0px;
	margin-left: -30px;*/
}

 @media only screen and (max-width: 600px) {
.gnv_tmp_h2_bg h2 {
	font-size: 2.4rem;
	letter-spacing: 1px;
}
}
.under h2, #blogBody h2 {
    color: #75503d;
    font-size: 3.6rem !important;
    padding: 50px 10px 40px;
    text-align: center;
    margin: 0 auto 10px;
    font-weight: normal;
    line-height: 1.2;
    max-width: 1000px;
    letter-spacing: 0.2em;
}
.under #mainimage, #blogBody #mainimage {
	max-width: 100%;
	width: 100%;
	background: none;
	margin-top: 170px;
}
#newsList #bread, #websiteNewsDetail #bread,
#inquiryBody,
#sitemap  {
	margin-top: 200px;
}
 @media only screen and (max-width: 767px) {
.under #mainimage, #blogBody #mainimage,
#newsList #bread, #websiteNewsDetail #bread,
#inquiryBody,
#sitemap {
	margin-top: 0;
}
}
 @media only screen and (max-width: 600px) {
.under h2, #blogBody h2 {
	font-size: 2.4rem!important;
	letter-spacing: 1px;
}
}
/*ブログページメインタイトル h2*/
#blogBody h2.main_title {
	color: #FFF;
	font-size: 3rem !important;
	padding: 20px 10px 15px !important;
	text-align: center;
	margin-bottom: 10px;
	background: #6DD8A5;
	font-weight: normal;
	line-height: 1.2;
}

/*レスポンシブ調整*/
@media only screen and (max-width: 600px) {
#blogBody h2.main_title {
	font-size: 2.4rem !important;
	padding: 15px 5px 10px !important;
	text-align: center;
	margin-bottom: 10px;
}
}
/*---h3---*/
.gnv_tmp_h3_bg, #blogBody .contentArea h3, .blog h3.entry-title {
    border-top: 2px solid #ff9600;
    background: #feedd5;
}
.gnv_tmp_h3_bg h3, #blogBody .contentArea h3 h3, .blog h3.entry-title h3 {
	font-size: 2.6rem;
	color: #444;
	letter-spacing: 0;
	padding: 21px 5px 14px 18px;
	font-weight: normal;
	line-height: 1.2;
}

/*レスポンシブ調整*/
@media only screen and (max-width: 600px) {
.gnv_tmp_h3_bg h3, #blogBody .contentArea h3 h3, .blog h3.entry-title h3 {
	font-size: 2.2rem;
	padding: 15px 5px 12px 18px;
}
}
/*--- h4 ---*/
.gnv_tmp_h4_bg {
	border-bottom: 1px solid #ccc;
	margin: 0 auto 20px;
}
.price .gnv_tmp_h4_bg {
	margin-bottom: 0;
}
.gnv_tmp_h4_bg h4 {
	font-size: 2.2rem;
	color: #444444;
	letter-spacing: 0;
	position: relative;
	padding: 0 5px 5px 35px;
	font-weight: normal;
	line-height: 1.4;

}
.gnv_tmp_h4_bg h4:before, .gnv_tmp_h4_bg h4:after {
	content: "";
	position: absolute;
}
.gnv_tmp_h4_bg h4:before {
	left: 0;
	top: 4px;
	background: #c0e0c6;
	width: 14px;
	height: 14px;
}
.gnv_tmp_h4_bg h4:after {
	left: 8px;
	top: 12px;
	background: #295331;
	width: 10px;
	height: 10px;
}
.top #content {
    padding: 0 !important;
}
.under #content p {
	margin-bottom: 1em;
}
.under #content a {
	text-decoration: underline;
	color: #84a900;
}

/*レスポンシブ調整*/
@media only screen and (max-width: 1000px) {
.gnv_tmp_h4_bg h4 {
    font-size: 1.8rem;
}
}
@media only screen and (max-width: 600px) {
.gnv_tmp_h4_bg h4 {
	font-size: 2rem;
	padding: 0 5px 5px 30px;
}
.gnv_tmp_h4_bg h4:before {
	top: 6px;
}
.gnv_tmp_h4_bg h4:after {
	top: 14px;
}
}
/*--- h5 ---*/
.gnv_tmp_h5_bg h5 {
font-size: 2.2rem;
    color: #295331;
    padding: 7px 5px 1px 16px;
    border-left: 4px solid #295331;
    font-weight: normal;
    line-height: 1.2;
    margin-bottom: 10px;
}

/*レスポンシブ調整*/
@media only screen and (max-width: 600px) {
.gnv_tmp_h5_bg h5 {
	font-size: 2.2rem;
}
}
/*新着情報、ブログのタイトル*/
h2.titleBg, #blogBody .contentArea h3 {
background: #fff5e5;
    color: #010101;
    line-height: 1.2;
    padding: 21px 5px 14px 18px;
    border-radius: 0;
    font-weight: normal;
    position: relative;
    font-size: 2.6rem;
}
/*--------------------------------------
	8-3 ヘッダー
--------------------------------------*/
/*ロゴ、電話番号、お問い合わせボタン*/
#header {
	margin-bottom: 10px;
	position: fixed;
	top: 0;
	z-index: 1000;
	width: 100%;
}
#header .inner {
	padding: 15px 0 10px;
}
#header .rightBox {
	float: right;
}
.header_tel, .header_inq {
	display: inline-block;
}
.rightBox:first-child img {
	padding-right: 15px;
}
 @media screen and (max-width: 960px) {
#header .inner {
	width: 98%;
	padding: 10px 0 10px;
}
/*#header .pc img {
	float: right;
}*/
}
/*※ロゴの縦位置微調整*/
#header h1 img {
	margin: 10px 0 10px;
}
/*※ヘッダーロゴ、TEL、問い合わせバナーのサイズのバランスによって調整　※画像がぼやけないように注意*/
#header h1 {
	width: 49%;
	min-width: 100px;
}
/*#header h1.pc img {
	float: none;
}*/
#header .rightBox {
	width: 51%;
	margin: 17px 0 0 0;
}
.header_tel {
	width: 51%;
}
.header_inq {
	width: 36%;
}
@media (min-width: 768px) and (max-width: 1000px) {
#header h1 {
	width: 50%;
	min-width: 100px;
}
#header .rightBox {
    width: 30%;
}
}
@media only screen and (max-width: 767px) {
#header {
	position: static;
}
/*アイコン2つ並び*/
  	/*#header h1 {
      width: 57%;
    	max-width:300px;
    	padding-top: 1%;
    	padding-left: 1%;
    }
    #header .rightBox {
      width: 30%;
    }
    .header_tel {
      width: 50%;
    }
    .header_inq {
      width: 50%;
    }
    }*/
  /*アイコン3つ並び*/
  	/*#header h1 {
    	width: 40%;
      max-width: 300px;
      padding-top: 0;
      padding-left: 1%;
    }
    #header h1 img{
    	margin-top: 0;
    	width: 213px;
    	max-width: 100%;
    }
    #header .rightBox {
      width: 39%;
    	padding-right: 1%;
    }
    #header #mail_button img,
    #header #menu_button img,
    #header #tel_button img {
    	display: inline;
    	max-width: 68px;
    	width: 31.333%;
    }
    }*/
  /*SP時の「三MENU」ボタンのみの場合*/
#header #menu_button img {
	display: inline;
	max-width: 150px;
	width: 100%;
}
#header h1 {
	width: 60%;
}
#header h1 img {
	padding: 0 0 7px;
}
#header .rightBox {
	width: 33%;
	padding-right: 2%;
	padding-top: 0;
	margin: 5px 0 0 0;
}
}
@media only screen and (max-width: 600px) {
}
/*--------------------------------------
  8-4 グローバルナビ
--------------------------------------*/
.nav {
	border-left: 1px solid #ccc;
}
.nav > li.hover > ul {
	width: 100%;
}
.sub li {
	width: 100%;
}

/*グローバルメニューの文字数が多い場合に調整 ※デフォルトはfirst17%、それ以外16.6%*/
@media screen and (min-width: 768px) and (max-width: 980px) {
.nav > li.first {
	width: 17%;
}
.nav > li:nth-child(2) {
	width: 16.6%;
}
.nav > li:nth-child(3) {
	width: 16.6%;
}
.nav > li:nth-child(4) {
	width: 16.6%;
}
.nav > li:nth-child(5) {
	width: 16.6%;
}
.nav > li:nth-child(6) {
	width: 16.6%;
}
}
/*グローバルナビのカラー変更*/
.nav a, .nav span {
	color: #295331;
font-size: 120%;
}
/*ホバー時*/
.nav a:hover, .nav span:hover {
	opacity: 1;
	color: #fff!important;
	background: #295331;
	text-decoration: none;
}
.nav span:hover {
	cursor: default;
}
/*グローバルナビ_サブメニューのカラー変更*/
.sub li a {
	background: #ffefd6;
    color: #000!important;
}
/*ホバー時*/
.sub li a:hover {
	opacity: 1;
	background: #295331;
}

/*グローバルナビ_SP表示時*/
@media screen and (max-width: 767px) {
.nav li, .nav li span:after {
	background: #ff9600;
}
.nav a, .nav span {
		color: #fff;
}

.nav li span:after {
	transition: all 0.6s;
}
.nav li span:hover:after {
	background: #e8534f;/*.sub li a:hoverに指定した色と合わせます*/
}
.nav li span:before {
	background: #fff;
}
.nav a:hover, .nav span:hover {
    color: #fff;
    background: #e8534f;
}
.sub li a {
	border-top: 1px solid #efd5b1;
}
.sub li a:hover {
    background: #e8534f;
    color: #fff!important;
}
}
/*--------------------------------------
	8-5 サイド
--------------------------------------*/
/*下にくっつく現象回避*/
#side {
	margin-bottom: 30px;
}
#side .bn {
	margin-bottom: 20px;
}

/*左右がくっつく現象回避*/
@media screen and (min-width: 961px) {
#side .inner {
	padding: 0 10px 0 10px;
}
}
@media screen and (min-width: 981px) {
#side .inner {
	padding: 0 20px 0 0;
}
}
/*サイドメニューのCSS読み込み*/
.sidemenu {
	border: 1px solid #46bd9a;
}
.sidemenu dt, .sidemenu dd a {
	padding: 13px .2em;
}
.sidemenu dt {
	background: #6dd8a5;
	text-align: center;
	font-size: 1.9rem;
	color: #fff;
	letter-spacing: 1.4px;
}
.sidemenu dd {
	width: 95%;
	margin: 0 auto;
}
.sidemenu dd a {
	position: relative;
	display: block;
	background: #fff;
	border-bottom: 1px dashed #83736b;
	padding-left: 1.5rem;
	font-size: 1.5rem;
	letter-spacing: 0.3px;
}
.sidemenu dd a:before {
	content: "";
	position: absolute;
	top: 1.4em;
	left: .5em;
	display: inline-block;
	box-sizing: border-box;
	width: 4px;
	height: 4px;
	border: 4px solid transparent;
	border-left: 4px solid #83736b;
}
.sidemenu dd a:hover {
	text-decoration: none;
	opacity: 0.7;
	filter: alpha(opacity=70);
	-ms-filter: "alpha( opacity=70 )";
}
.sidemenu dd:last-child a {
	border-bottom: none;
}
/*サイドメニューの外枠、見出しのカラー調整*/
.sidemenu {
	border: 1px solid #5ca6b4;
}
.sidemenu dt {
	background: #5ca6b4;
}
/*サイドメニューの矢印アイコン位置・カラー調整*/
.sidemenu dd a:before {
	top: 21px;
	border-left: 4px solid #5ca6b4;
}
.sidemenu dd a {
	padding-left: 1.6rem;
}
/*サイド　関連リンク*/
.side_link {
	background: #f8f7f7;
	margin-bottom: 20px;
}
.side_link h2 {
	color: #40464a;
	font-size: 2rem;
	letter-spacing: .1em;
	text-align: center;
	font-weight: normal;
	margin: 0 20px 0;
	padding: 15px 0 5px;
	border-bottom: 1px solid #e1dddd;
}
.side_link ul {
	padding: 15px 10px 15px 20px;
}
.side_link ul li {
	font-size: 1.4rem;
	padding: 5px 0 5px 30px;
	position: relative;
}
.side_link ul li:before {
	position: absolute;
	content: "";
	background: #72a5be;
	top: 50%;
	left: 7px;
	margin-top: -5px;
	height: 9px;
	width: 9px;
	border-radius: 50%;
}
.side_link ul li.side_guide:before {
	content: "";
	background: url("http://t009designer-pro.plimo-demo.com/asset/side_ic_guide.png");
	top: 50%;
	left: 0;
	margin-top: -12px;
	height: 23px;
	width: 23px;
	border-radius: 0;
}
.side_link ul li.side_facebook:before {
	content: "";
	background: url("http://t009designer-pro.plimo-demo.com/asset/side_ic_facebook.png");
	top: 50%;
	left: 0;
	margin-top: -12px;
	height: 23px;
	width: 23px;
	border-radius: 0;
}
/*--------------------------------------
	8-6 コンテント
--------------------------------------*/
.top #base {
	margin: 0 auto 0;
}
#content {
	min-height: 600px;
}

.contentArea {
	padding-bottom: 15px;
}

/*一部の幅領域で左右がくっつく現象回避*/
@media only screen and (min-width: 961px) and (max-width: 980px) {
/*#page.contentArea {
	margin-right: 10px;
}*/
}
/*ブロック毎の下マージン調整*/
.b_02 {
	margin: 0 0 40px;
}
/*見出し下マージン調整*/
.b_01, .b_11 .b_11_in div {
	margin: 0 0 20px;
}
/*パンくずリストの位置調整*/
#bread {
	padding-bottom: 5px;
}
 @media screen and (max-width: 960px) {
#content {
	padding-top: 0 !important;
}
}
@media screen and (max-width: 768px) {
#bread {
	padding-top: 5px;
}
}
 @media (min-width: 768px) and (max-width: 1000px) {
#content {
	padding: 1em 30px 0 !important;
}
}
@media screen and (max-width: 767px) {
#content {
	padding: 1em 10px 0 !important;
	box-sizing: border-box;
}
}
/*--------------------------------------
	8-7 新着情報
--------------------------------------*/
#news h2.titleBg, #news_list h2.titleBg {
	margin-bottom: 0;
	font-size: 2rem;
	letter-spacing: 3px;
}
.top #news h2.titleBg {
	background: none;
	color: #444444	;
	font-size: 30px;
	text-align: center;
	letter-spacing: 0.2em;
}
#news dl, #news_list dl {
	margin-top: 10px;
	border-top: 1px solid #d5d5d5;
	border-bottom: 1px solid #d5d5d5;
	width: 100%;
	padding: 20px 0;
}
#news dt, #news_list dt {
	margin-top: 0;
	font-size: 15px;
	color: #295331;
	float: left;
	letter-spacing: 2px;
	width: auto !important;
	margin-right: 10%;
}
#news_list .newsBt {
	position: absolute;
}
#news .newsBt, #news_list .newsBt {
	font-size: 1.4rem;
	letter-spacing: 3px;
}
#news, #news_list {
	border: 0;
	border-radius: 0;
}
/*一覧へ*/
#news .newsBt, #news_list .newsBt {
	top: 30px;
	right: 0;
	font-size: 12px;
	color: #ff9600;
}
/*NEWアイコン*/
#news .newsNew, #newsDetail .newsNew, #news_list .newsNew {
    background: #ff9600;
    border-radius: 10px;
    margin: -2px 0 0 5px;
    line-height: 1.3;
    vertical-align: middle;
    padding: 3px 6px 3px 7px;
}
#bread span {
	max-width: 100%;
}
/* SP時新着情報の日付がずれる現象対策*/
@media screen and (max-width: 767px) {
#news dt {
	padding: 0 10px 0 0;
	width: auto;
	margin-right:0;
	float:none;
}
}
/*新着一覧*/
#newsList #news {
	border: none;
}
#newsList #news dl {
	width: 100%;
}
#newsList #news h2.titleBg, #websiteNewsDetail #newsDetail h2.titleBg {
	font-size: 2rem !important;
	margin-bottom: 2rem;
	text-align: left;
}
#blogBody .contentArea h3 {
	font-size: 2.6rem;
}
/*新着情報一覧ページエラー対応*/
#news_list .newsBt {
	position: absolute;
}
body#newsList #news_list, body#websiteNewsDetail #news_list {
	display: none;
}
/* =====================================
 	8-8 フッター
===================================== */
#footer {
	background: none;
	background-image: none;
	border-top: none;
	border-top: 1px solid #f494ae;
}
#footer .inner_b {
	width: auto;
	max-width: 1000px;
	margin: 0 auto;
	text-align: center;
	padding: 50px 10px 30px;
	font-size: 100%;
	box-sizing: border-box;
}
#footer p.link {
    font-size: 20px;
    margin: 0 auto 15px;
    text-align: center;
    color: #010101;
    letter-spacing: 0.2em;
    font-weight: bold;
}
#footer ul.link {
	margin: 0 auto 30px;
}
#footer ul.link li {
    display: inline-block;
	line-height: 2;
}
#footer ul.link li a {
	position: relative;
	font-size: 14px;
	color: #363636;
	padding: 0 20px 0 18px;
}
#footer ul.link li a:before {
    content: "";
    position: absolute;
    background: #ff9600;
    top: 5px;
    left: 2px;
    height: 9px;
    width: 9px;
    border-radius: 50%;
}
#footer ul.link li.con01 a {
    padding: 0 20px 0 30px;
}

/*#footer ul.link li a:after {
	color: #84a900;
	content: "＞";
}*/
#footer .footerLink li:before {
    display: block;
    content: "";
    position: absolute;
    top: 7px;
    left: 0px;
    width: 0;
    height: 0;
    border: 5px solid transparent;
    border-left: 5px solid #295331;
}
#footer .footerLink {
	margin-bottom: 15px;
}
#footer .footerLink li {
	color: #363636;
	display: inline-block;
	padding: 0 10px;
	position: relative;
	font-size: 14px;
}
#footer .link a, #footer .footerLink a {
	color: #363636;

	letter-spacing: 1px;
	font-weight: normal;
}
.map_section {
	background: #44bc99;
}
#footer .map_section .inner_b {
	padding: 3px 0 6px;
}
#footer .f_bottom {
	border-top: 1px solid #cfcfcf;
	padding: 20px 0 10px;
}
#footer .f_bottom .access_bt a {
	position: relative;
	display: block;
	background: #fff5e5;
	padding: 1em 50px;
	-moz-box-sizing: border-box;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	font-size: 16px;
	line-height: 1.3;
	color: #010101;
	text-align: center;
	max-width: 300px;
	width: 100%;
	margin: 15px 0 0 0;
}
#footer .f_bottom .access_bt a:hover {
	text-decoration: none;
}
#footer .f_bottom .access_bt a:before {
	content: "";
	position: absolute;
	top: 50%;
	left: 20px;
	margin-top: -10px;
	width: 17px;
	height: 22px;
	background: url(/asset/access.png) no-repeat 0;
}
#inquiryBody #footer .f_bottom .access_bt a:before {
	background: url(/www.nishi-chofu-dcc.com/asset/access.png) no-repeat 0;
}
#footer .f_bottom .access_bt a:after {
	content: "";
	position: absolute;
	top: 50%;
	right: 10px;
	margin-top: -5px;
	border-top: 4px solid transparent;
	border-bottom: 4px solid transparent;
	border-left: 8px solid #ff9600;
}
#footer .f_bottom table {
	margin: 10px 0 0 0;
	border-collapse: collapse;
}
#footer .f_bottom table th, #footer .f_bottom table td {
	text-align: left;
	font-weight: normal;
	font-size: 14px;
	color: #000;
	padding: 0 0 3px 0;
}
#footer .f_bottom table th {
	width: 20%;
    vertical-align: top;
}
#footer .f_bottom .con_l {
	float: left;
	width: 41%;
	margin-top: 15px;
}
#footer .f_bottom .con_r {
	float: right;
	width: 50%;
}
#footer .footer_ad {
	padding: 12px 0 10px;
	background: #295331;
}
#footer .footer_ad .grid_12 {
	max-width: 1000px;
	width: 100%;
	margin: 0 auto;
}
#footer .footer_ad ul {
	float: left;
	font-size: 12px;
	color: #fff !important;
}
#footer .footer_ad ul li {
	color: #fff !important;
	display: inline-block;
	padding: 0 7px;
	position: relative;
	font-size: 12px;
}
#footer .footer_ad ul li a {
	font-size: 12px;
	color: #fff !important;
	letter-spacing: 1px;
}
address {
	color: #fff;
	font-size: 12px;
	font-weight: normal;
	letter-spacing: 1px;
	padding: 0 10px;
	float: right;
}
#pagetop {
	right: 30px;
	bottom: 20%;
	z-index: 1;
}
#pagetop a:hover img {
	opacity: 0.8;
}
 @media screen and (max-width: 980px) {
#footer .inner_b {
	padding: 15px 10px 8px;
	box-sizing: border-box;
}
#footer .sitemap_section .inner_b {
	padding: 1px 10px 3px;
	box-sizing: border-box;
}
#footer .map_section .inner_b {
	padding: 30px 10px 30px;
	box-sizing: border-box;
}
}
@media screen and (max-width: 600px) {
#footer .footerLink a {
	font-size: 14px;
	letter-spacing: 0;
}
#pagetop img {
	width: 45px;
}
address {
	letter-spacing: 0;
}
}
/*footer　上下2色にする(パターンb)で使用*/
/*#footer .inner_b {
  padding-bottom: 8px;
  width: auto;
  max-width: 960px;
  margin: 0 auto;
  text-align: center;
  padding: 30px 10px 30px;
  font-size: 100%;
}*/
/* =====================================
 	8-9 TOPコンテンツエリア内
===================================== */
/*汎用ボタン（詳しくはこちらetc..で使用）*/
.btn {
	width: 100%;
	box-sizing: border-box;
	padding: 0 10px;
	margin: 15px auto 5px !important;
	max-width: 360px;
}
.btn a {
	display: block;
	text-align: center;
	color: #6dd8a5;
	font-size: 1.7rem;
	padding: 11px 0 9px;
	border: 1px solid #6dd8a5;
	/*※背景が白の場合等に枠線を使用*/
	border-radius: 10px;
	background: #fff;
	position: relative;
	transition-duration: .6s;
}
.btn a:after {
	content: "";
	position: absolute;
	transition-duration: .6s;
	/* ※矢印（＞）のアイコンパターン
  	right: 10px;
    top: 16px;
    width: 6px;
    height: 6px;
    border-top: 2px solid #5bc974;
    border-right: 2px solid #5bc974;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);*/
  /*中黒三角パターン*/
	display: inline-block;
	box-sizing: border-box;
	width: 4px;
	height: 4px;
	border: 4px solid transparent;
	border-left: 4px solid #6dd8a5;
	top: 50%;

	margin-top: -4px;
	right: 10px;
}
.btn a:hover:after {
	border-left: 4px solid #fff;
}
.btn a:hover {
	text-decoration: none;
	color: #fff;
	background: #6dd8a5;
	opacity: 1;/*※ホバー時反転の場合、透過しないよう設定*/
}
 @media only screen and (max-width: 767px) {
.btn {
	padding: 0 5px;
}
}
@media only screen and (max-width: 600px) {
.btn {
	padding: 0 10px;
	margin: 1rem auto 2rem;
}
.btn a {
	/*width: 70%;*/
	margin: 0 auto;
}
}
/*TOP　3つ並びコンテンツ　※classにtop_3colを追加*/
.top_3col h4 {
	font-size: 1.9rem;
	color: #fff;
	letter-spacing: 1.2px;
	text-align: center;
	/*background: url("http://t009designer-pro.plimo-demo.com/asset/top_3col_tit_bg.png") no-repeat;  ※背景が画像の場合に使用*/
	background: #6dd8a5;
	background-size: cover;
	padding: 14px 5px 12px;
	font-weight: normal;
}
 @media screen and (max-width: 600px) {
.top_3col.b_11.b_11_column3 div.column_c, .top_3col.b_11.b_11_column3 div.column_l {
	margin-bottom: 1.5em;
}
}
/*TOP 「ご挨拶」などで使用する画像+テキスト+文章(ボタン付き)　※classにgreetingを追加 */
.greeting .btn {
	max-width: 100%;
}
 @media only screen and (min-width: 768px) {
/*テキストエリアの回り込み回避*/
.not_sneak {
	overflow: hidden;
}
}
/*TOP ●●医院(院、事務所)について　※classにinfoを追加*/
.info {
	margin-bottom: 10px;
}
.info .index_title {
	margin-bottom: 25px;
}
.info .inner_box {
	min-height: 230px;
}
.info .left_box {
	width: 50%;
	float: left;
}
.info .left_box table {
	width: 100%;
	box-sizing: border-box;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	margin-bottom: 15px;
}
.info .left_box table th, .info .left_box table td {
	padding: 7px 0 8px 0;
	text-align: center;
}
.info .left_box table th:first-child, .info .left_box table td:first-child {
	padding-left: 10px;
	width: 32%;
	text-align: left;
}
.info .left_box table th {
	background: #015db2;
	color: #FFFFFF;
}
.info .left_box table td:first-child {
	color: #015db2;
}
.info .left_box table td {
	border-bottom: 1px solid #015db2;
}
.info .left_box .tips span {
	background: #015db2;
	color: #FFFFFF;
	border-radius: 3px;
	-webkit-border-radius: 3px;
	-moz-border-radius: 3px;
	padding: 3px 13px;
	margin-right: 10px;
}
.info .right_box {
	width: 48%;
	float: right;
}
.info .right_box iframe {
	width: 100%;
	border: none;
	height: 220px;
}
.info iframe {
	height: 220px;
	width: 100%;
}
iframe {
	border: none;
}
/*ひし形アイコン*/
.info h4 {
	position: relative;
	padding-left: 19px;
}
.info h4:after {
	content: "";
	display: block;
	position: absolute;
	background: #8abcd4;
	width: 7px;
	height: 7px;
	top: 9px;
	left: 5px;
	transform: rotate(-45deg);
	-webkit-transform: rotate(-45deg);
	-o-transform: rotate(-45deg);
}
 @media only screen and (max-width: 767px) {
.info .index_title {
	margin-bottom: 15px;
}
.info .inner_box {
	min-height: 0;
}
.info .left_box {
	width: 100%;
	float: none;
	margin-bottom: 20px;
}
.info .left_box .tips span {
	padding: 3px 13px;
	margin-right: 10px;
}
.info .right_box {
	width: 100%;
	float: none;
	margin-bottom: 20px;
}
.info .left_box .tips {
	margin-bottom: 10px;
}
}
/*診療時間テーブル　※TOP、下層(医院紹介ページ等)共通で使用*/
table.gnv_tmp_table02 {
	margin-bottom: 1.5rem;
}
table.gnv_tmp_table02 th, table.gnv_tmp_table02 td {
	text-align: center;
	padding: 9px 3px 7px;
	color: #383838;
}
table.gnv_tmp_table02 {
	width: 100%;
}
table.gnv_tmp_table02 thead th {
	background: #cde5ef;
	border-top: none;
	border-bottom: none;
	font-weight: normal;
	padding: 12px 0 10px;
	color: #40464a;
	letter-spacing: 2.5px;
	font-size: 1.5rem;
}
table.gnv_tmp_table02 th {
	border-bottom: 1px solid #9bddca;
	border-top: none;
	font-weight: normal;
}
table.gnv_tmp_table02 td {
	border-bottom: 1px solid #9bddca;
	border-top: none;
}
/* hours */
table.gnv_tmp_hours th, table.gnv_tmp_hours td {
	text-align: center;
}
table.gnv_tmp_hours tbody th {
	width: 20%;
}
.table02_section {
	margin-bottom: 23px;
}
.table02_section table.gnv_tmp_table02 {
	margin-bottom: 9px;
	font-size: 1.5rem;
}
/*診療時間表の●、▲等の色を変更*/
.td_color1 {
	color: #6e7cb8 !important;
}
.td_color2 {
	color: #efdf5f !important;
}
.table02_section p {
	letter-spacing: 1px;
}
.table02_txt {
	padding-right: 50px;
	font-size: 1.6rem;
}
 @media screen and (max-width: 767px) {
.table.gnv_tmp_hours th, .table.gnv_tmp_hours td {
	font-size: 70%;
}
.table02_txt {
	padding-right: 0;
	display: block;
}
}
/* =====================================
コンテンツ下部　※共通お問い合わせバナー等が入ります
===================================== */
#content-bottom {
	margin-bottom: 50px;
}
div#content-bottom img {
	width: auto;
	max-width: 100%;
}
.common_box .txt {
	margin-bottom: 35px;
	text-align: center;
	padding-bottom: 0 !important;
}
.common_box ul li {
	float: left;
	width: 48%;
}
.common_box ul li:last-child {
	float: right;
	width: 51.3%;
	text-align: right;
}
div#content-bottom .common_box ul li img {
	width: auto;
	max-width: 100%;
}
.common_box ul li:last-child a:hover img {
	opacity: 0.7;
}
.common_box a[href^="tel:"] {
	pointer-events: none;
	cursor: text;
}
 @media screen and (max-width: 980px) {
#content-bottom {
	margin-bottom: 30px;
}
}
@media screen and (max-width: 768px) {
div#content-bottom {
	padding: 0 20px;
}
#content-bottom .common_box ul li {
	margin-bottom: 25px;
}
.common_box ul li, .common_box ul li:last-child {
	width: auto;
	max-width: 80%;
	float: none !important;
	margin: 0 auto 15px;
	text-align: center;
}
.common_box a[href^="tel:"] {
	pointer-events: auto;
	cursor: pointer;
}
}
@media screen and (max-width: 480px) {
div#content-bottom {
	padding: 0 5px;
}
div#content-bottom .common_box ul li img {
	max-width: 259px;
}
}
/*コンテンツ下部のバナーが一つの場合のSP時調整*/
/*@media screen and (min-width: 768px) {
.common_box ul li:last-child {
	float: none;
	width: 100%;
	max-width: 420px;
	text-align: center;
	margin: 0 auto;
}
}*/
/* =====================================
 8-11 下層ページ
===================================== */
/*googleMap*/
.gnv_tmp_map {
	position: relative;
	width: 100%;
	padding-top: 50%;
}
.gnv_tmp_map iframe {
	position: absolute;
	top: 0;
	right: 0;
	width: 100% !important;
	height: 100% !important;
}
/*2列テーブルパーツ*/
.b_06 table td, .b_06 table th {
	border: none;
}
.b_06 table th {
    border-bottom: 1px solid #ff9600;
    font-weight: normal;
    color: #295331;
}
.b_06 table td {
	border-bottom: 1px solid #d5d5d5;
}
.b_06_item {
	background: #fff;
}
.b_06_content {
	padding: 5px 10px;
}
/* テキストの周りに枠をつけたり背景に色を敷いたり
(plimoコーディングマニュアル参照)--------------- */
.border_box01 {
	background-color: #fff;
	border: 1px solid #DBC2A5;
	border-radius: 4px;
	padding: 20px;
}
.emphasize {
	font-size: 2rem;
	color: #70614B;
	font-weight: bold;
	margin-bottom: 0.5em !important;
	line-height: 1.6;
}
 @media screen and (max-width: 767px) {
.emphasize {
	font-size: 20px;
}
}
/* 治療の流れ背景に矢印をつけるタイプ（最後は矢印なし）
(plimoコーディングマニュアル参照)--------------- */
.flow {
	background: #f0e9d8;
	margin-bottom: 35px;
	padding: 20px;
	border-radius: 4px;
}
.flow_arrow {
	position: relative;
}
.flow_arrow:after {
	content: "";
	position: absolute;
	border-top: 18px solid #f0e9d8;
	border-right: 11px solid transparent;
	border-left: 11px solid transparent;
	bottom: -18px;
	left: 50%;
	margin-left: -9px;
}
.flow .under_title {
	font-size: 2.2rem;
	letter-spacing: 0.1em;
	margin-bottom: 10px;
}
.flow .b_11_2_in span img, .flow .b_11 .b_11_in span img {
	width: 32%;
}
 @media screen and (max-width: 767px) {
.flow .b_11_2_in span img, .flow .b_11 .b_11_in span img {
	width: 100%;
	margin: 0 0 30px;
}
.flow {
	padding: 25px;
}
.flow .under_title {
	font-size: 2.2rem;
}
}
/* 問い合わせフォーム、Not Foundページ Xperiaで枠が付かない現象対策*/
#inquiryForm textarea, #inquiryForm .formM, #notfoundBody form input {
	-webkit-appearance: none;
}
.blog_search_input input {
	-webkit-appearance: none;
	border: 1px solid #ccc;
	line-height: 1em;
}
/*ブログページの右サイド調整*/
#blogside h3 {
    line-height: 1.5;
    background: #fff5e5;
    padding: 10px 10px 8px;
    box-sizing: border-box;

    text-align: center;
    border-top: 2px solid #ff9600;
}
#blogside li:before {
	background: #295331;
	top: 13px;
	left: 0;
	border-radius: 50%;
}
.blog_search_submit {
	margin-top: 5px;
}

/*ブログページのメディアクエリ調整*/
@media screen and (max-width: 767px) {
#blogside {
	width: 100% !important;
	float: none !important;
	padding-bottom: 30px;
}
}
/* =====================================
 8-12 ブログページ、新着情報ページ等の調整
===================================== */
/*問い合わせフォーム 上部余白調整*/
#inquiryBody #inquiryForm {
	margin-top: 25px;
}
 @media screen and (max-width: 960px) {
/* content tuning */
#inquiryBody #contentBase {
	min-height: 600px;
}
}
/*サイトマップページ調整*/
.sitemap #content {
	min-height: 720px;
}
ul.sitemap_ic li a {
	padding: 15px 10px 15px 15px;
	font-weight: normal;
}
/*新着情報一覧、ブログ一覧等のページ番号カラー変更*/
#pagenation {
	border-top: none;
}
#pagenation .active a, #pagenation a.active:hover {
	background: #e8423e !important;
}

/*iosの新着情報「NEW」アイコンバランス調整
@media only screen and (max-width: 768px) {
/* iPhone
.ios #news dt, .ios #newsDetail dt, .ios #news_list dt {
	padding: 0 10px;
	width: 145px;
	line-height: 1.6;
}
/*トップページ新着情報
.ios #news_List .newsNew {
	padding: 0px 2px 4px 4px;
	line-height: 1.8;
}
/*iosの新着情報「NEW」アイコンバランス調整
.ios #news .newsNew, .ios #newsDetail .newsNew {
	padding: 3px 10px 3px 5px;
	line-height: 0.8;
}
} */
/*モバイル時調整
@media screen and (max-width: 480px) {
.ios .top_3col h4 {
	padding: 2px 5px 2px;
}
.ios .btn a:after {
	margin-top: -2px;
}
.ios h2.titleBg, .ios .top #blogBody .contentArea h3 {
	padding: 15px 0 15px 16px;
}
}*/
/*--------------------------------------
	8-13 モバイル時の下部固定ボタン　※(plimoコーディングマニュアル参照)
--------------------------------------*/
@media screen and (max-width: 767px) {
/*モバイル時の下部固定ボタンを入れる場合は下のコメントアウトを外してください*/
  	/*#footer {
        padding-bottom: 17%;
      }*/
ul.fixed_button {
	height: auto;
	position: fixed;
	bottom: 0;
}
ul.fixed_button li {
	float: left;
}
ul.fixed_button li.btn_time {
	width: 16.49%;
}
ul.fixed_button li.btn_map {
	width: 16.88%;
}
ul.fixed_button li.btn_tell {
	width: 32.46%;
}
ul.fixed_button li.btn_inq {
	width: 34.15%;
}
ul.fixed_button li img {
	width: 100%;
}
}
/*バナー1つの場合*/

/*    ul.fixed_button {
        height: auto;
        position: fixed;
        bottom: 0;
        z-index: 100;
    }
    ul.fixed_button li.btn_tell {
        width: 100％;
    }
    ul.fixed_button li img {
        width: 100%;
    }
}*/
/*スマホ横向きでは非表示になるよう設定	*/
@media screen and (max-height: 480px) {
ul.fixed_button {
	display: none !important;
}
}
/*======================================================================

	plimo 116用調整

======================================================================*/
/*--------------------------------------
  GENERAL
--------------------------------------*/
/* paddings */
.wrap {
	max-width: 1000px;
	margin: 0 auto;
}
 @media screen and (max-width: 1060px) {
.wrap {
	padding: 0 30px;
	box-sizing: border-box;
}
}
/* top h2 */
.top h2.v1 {
	font-size: 3.6rem;
	font-weight: normal!important;
	text-align: center;
	color: #295331;
	letter-spacing: .25em;
	margin-bottom: 1em;
}
.top h2.v1 span {
	display: block;
	font-size: 1.6rem;
	color: #75503d;
}
.top h2.v2 {
	width: 100%;
	font-size: 3.6rem;
	font-weight: normal;
	color: #6badc7;
	letter-spacing: .25em;
	text-align: center;
	margin-bottom: 10px;
}
 @media screen and (max-width: 767px) {
.top h2.v1, .top h2.v2 {
    font-size: 2.6rem;
    line-height: 1.4em;
    letter-spacing: 0.1em;
}
}
/* btn01 */
.btn01 {
    position: relative;
    display: block;
    max-width: 230px;
    font-size: 1.6rem;
    letter-spacing: .15em;
    background: #295331;
    padding: 0.8em 0;
    color: #fff !important;
    text-align: center;
    margin: 0 auto;
    border: 1px solid #295331;
}
.btn01:after {
	content: "";
	position: absolute;
	top: 50%;
	right: 12px;
	margin-top: -6px;
	display: block;
	border-top: 6px solid transparent;
	border-bottom: 6px solid transparent;
	border-left: 10px solid #fff;
}
.btn01:hover {
 filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=70);
	opacity: 0.7;
	text-align: center;
	text-decoration: none;
}
/* btn02 */
.btn02, .treatBusiness01 .wrap .inner .box .txt02 a, .treatBusiness02 .wrap .btns li a {
	position: relative;
	display: block;
	padding: .8em 10px;
	background: #ff9600;
	-moz-box-shadow: 1px 1px 20px 0 rgba(0, 0, 0, 0.1) inset;
	-webkit-box-shadow: 1px 1px 20px 0 rgba(0, 0, 0, 0.1) inset;
	box-shadow: 1px 1px 20px 0 rgba(0, 0, 0, 0.1) inset;
	-moz-box-sizing: border-box;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	color: #fff;
}
.btn02:after, .treatBusiness01 .wrap .inner .box .txt02 a:after, .treatBusiness02 .wrap .btns li a:after {
	content: "";
	position: absolute;
	top: 50%;
	right: 10px;
	margin-top: -4px;
	display: block;
	border-top: 4px solid transparent;
	border-bottom: 4px solid transparent;
	border-left: 8px solid #fff;
}
.btn02:hover, .treatBusiness01 .wrap .inner .box .txt02 a:hover, .treatBusiness02 .wrap .btns li a:hover {
	text-decoration: none;
}
@media (min-width: 768px) and (max-width: 1000px) {
.treatBusiness01 .wrap .inner .box .txt02 a {
    padding: .4em 15px;
    min-height: 70px;
}
.treatBusiness01 .wrap .inner .box .txt02 a.con02 {
	padding-top: 20px;
}
}
/* box-shadow */
.shadow {
	-moz-box-shadow: 0 1px 10px rgba(0, 0, 0, 0.5);
	-webkit-box-shadow: 0 1px 10px rgba(0, 0, 0, 0.5);
	box-shadow: 0 1px 10px rgba(0, 0, 0, 0.5);
	margin-bottom: 16px;
}
ul.circle_list {
	box-sizing: border-box;
}
ul.circle_list li {
	padding: 5px 0 5px 18px;
	position: relative;
	width: 47%;
	float: left;
}
ul.circle_list li:before {
	position: absolute;
	content: "";
	background: #648794;
	top: 50%;
	left: 0;
	margin-top: -6px;
	height: 9px;
	width: 9px;
	border-radius: 50%;
}
ul.ul01 {
	list-style: none;
	margin-bottom: 20px;
	display: table;
}
ul.ul01 li {
	padding: 0 0 5px 20px;
	position: relative;
}
ul.ul01 li:before {
	content: "";
	position: absolute;
	background: #ff9600;
	top: 9px;
	left: 5px;
	height: 6px;
	width: 6px;
	border-radius: 50%;
}
ul.square_list {
	box-sizing: border-box;
}
ul.square_list li {
	padding: 5px 0 5px 18px;
	position: relative;
	width: 47%;
	float: left;
}
ul.square_list li:before {
	position: absolute;
	content: "";
	background: #0e7296;
	top: 50%;
	left: 0;
	margin-top: -6px;
	height: 9px;
	width: 9px;
}
 @media only screen and (max-width: 767px) {
ul.square_list li, ul.circle_list li {
	width: 100%;
	float: none;
}
}
/*--------------------------------------
	9-1 特徴パーツ1
--------------------------------------*/
.feature01 {
	background: none;
	padding: 64px 0 74px;
	margin: 0;
}
.feature01 .wrap {
	display: -ms-flexbox;
	-ms-flex-direction: row;
	display: -webkit-flex;
	display: flex;
	margin: 0 auto;
}
.feature01 .wrap .box {
	-webkit-flex-grow: 1;
	flex-grow: 1;
	width: 100%;
	margin-right: 8%;
	text-align: center;
	color: #000;
}
.feature01 .wrap .box:last-child {
	margin-right: 0;
}
.feature01 .wrap .box img {
	width: auto;
	max-width: 100%;
	min-height:170px;
	margin-bottom: .6em;
}
.feature01 .wrap .box h3 {
    font-size: 20px;
    padding-left: 20px;
    margin-bottom: .4em;
    color: #010101;
    font-weight: bold;
    line-height: 1.6;
    text-align: left;
    position: relative;
}
.feature01 .wrap .box h3:before {
	position: absolute;
	content: "";
	background: #ff9600;
	width: 12px;
	height: 12px;
	top: 8px;
	left:0;
}
.feature01 .wrap .box h3 span.no {
    color:#f494ae;
    font-size:40px;
}
.feature01 .wrap .box p {
	text-align: left;
	margin-bottom: 1em;
	min-height: 80px;
}
.feature01 .wrap .box a {
	display: block;
}
 @media screen and (max-width: 767px) {
.feature01 .wrap {
	-ms-flex-direction: column;
	-webkit-flex-direction: column;
	/* Safari */
	flex-direction: column;
}
.feature01 .wrap .box {
	margin-right: 0;
}
.feature01 .wrap .box:not(:last-child) {
	margin-bottom: 30px;
}
.feature01 .wrap .btn01 {
	max-width: 100%;
}
}
/*--------------------------------------
	9-2 特徴パーツ2
--------------------------------------*/
.feature02.b_11.b_11_column3 {
	background: url("http://t009designer-pro.plimo-demo.com/asset/bg_feature.jpg") no-repeat center center;
	background-size: cover;
	display: block;
	padding: 64px 0 84px;
}
.feature02.b_11.b_11_column3 .wrap div.column_c, .feature02.b_11.b_11_column3 .wrap div.column_l, .feature02.b_11.b_11_column3 .wrap div.column_r {
	position: relative;
	display: block;
	width: 100%;
	-moz-box-sizing: border-box;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	color: #fff;
}
.feature02.b_11.b_11_column3 .wrap div.column_c, .feature02.b_11.b_11_column3 .wrap div.column_l {
	margin-bottom: 30px;
}
.feature02.b_11.b_11_column3 .wrap h3 {
	font-size: 2rem;
	font-weight: normal;
	letter-spacing: .15em;
}
.feature02.b_11.b_11_column3 .wrap h3:first-letter {
	float: left;
	line-height: 1em;
	margin-bottom: 1em;
	margin-right: 30px;
	font-size: 12rem;
	color: #d3cec6;
}
.feature02.b_11.b_11_column3 .wrap img {
	float: right;
	width: 33%;
	margin-left: 4%;
}
.feature02.b_11.b_11_column3 .wrap .btn01 {
	display: inline-block;
	min-width: 230px;
	margin-top: 1.4em;
}
 @media screen and (max-width: 600px) {
.feature02.b_11.b_11_column3 .wrap img {
	width: 100%;
	margin: 0 auto 1em;
}
.feature02.b_11.b_11_column3 .wrap h3:first-letter {
	font-size: 4rem;
	margin-right: 14px;
	margin-bottom: 0;
}
.feature02.b_11.b_11_column3 .wrap .btn01 {
	width: 100%;
	max-width: 100%;
}
.feature02.b_11.b_11_column3 .wrap div.column_c, .feature02.b_11.b_11_column3 .wrap div.column_l {
	margin-bottom: 10%;
}
}
/*--------------------------------------
	9-3 特徴パーツ3
--------------------------------------*/
.feature03.b_11.b_11_column2 {
	background: url("http://t009designer-pro.plimo-demo.com/asset/bg_feature.jpg") no-repeat center center;
	background-size: cover;
	display: block;
	padding: 64px 0 54px;
}
.feature03.b_11.b_11_column2 .wrap {
	position: relative;
}
.feature03.b_11.b_11_column2 .wrap .inner {
	display: table;
}
.feature03.b_11.b_11_column2 .wrap div.column_c, .feature03.b_11.b_11_column2 .wrap div.column_l, .feature03.b_11.b_11_column2 .wrap div.column_r {
	position: relative;
	display: table-cell;
}
.feature03.b_11.b_11_column2 .wrap div.column_c:after, .feature03.b_11.b_11_column2 .wrap div.column_l:after, .feature03.b_11.b_11_column2 .wrap div.column_r:after {
	content: "";
	position: absolute;
	right: 10px;
	bottom: 10px;
	display: block;
	border-style: solid;
	border-width: 0 0 12px 12px;
	border-color: transparent transparent #857a67 transparent;
}
.feature03.b_11.b_11_column2 .wrap div.column_c .box, .feature03.b_11.b_11_column2 .wrap div.column_l .box, .feature03.b_11.b_11_column2 .wrap div.column_r .box {
	display: table-cell;
	padding: 10px;
	background: #fff;
}
.feature03.b_11.b_11_column2 .wrap div.column_c, .feature03.b_11.b_11_column2 .wrap div.column_l {
	margin-right: 20px;
}
.feature03.b_11.b_11_column2 .wrap h3 {
	font-size: 2rem;
	font-weight: normal;
	letter-spacing: .15em;
}
.feature03.b_11.b_11_column2 .wrap img {
	float: left;
	width: 36%;
	margin: 0 4% 0 0;
}
.feature03.b_11.b_11_column2 .wrap p {
	overflow: hidden;
}
 @media screen and (max-width: 767px) {
.feature03.b_11.b_11_column2 .wrap .inner, .feature03.b_11.b_11_column2 .wrap div.column_c, .feature03.b_11.b_11_column2 .wrap div.column_l, .feature03.b_11.b_11_column2 .wrap div.column_r, .feature03.b_11.b_11_column2 .wrap div.column_c .box, .feature03.b_11.b_11_column2 .wrap div.column_l .box, .feature03.b_11.b_11_column2 .wrap div.column_r .box {
	display: block;
}
.feature03.b_11.b_11_column2 .wrap div.column_c, .feature03.b_11.b_11_column2 .wrap div.column_l {
	margin: 0 0 30px 0;
}
.feature03.b_11.b_11_column2 div.column_r {
	padding-left: 0;
}
}
/*--------------------------------------
	9-4 取り扱い業務1
--------------------------------------*/
.treatBusiness01 {
	background: none;
	background-size: cover;
	display: block;
	padding: 30px 0;
}
.treatBusiness01 .wrap .inner {
	display: -ms-flexbox;
	-ms-flex-direction: row;
	display: -webkit-flex;
	display: flex;
}
.treatBusiness01 .wrap .inner .box {
	position: relative;
	padding-bottom: 52px;
	-webkit-flex-grow: 1;
	flex-grow: 1;
	width: 100%;
	margin-right: 2.5%;
	-moz-box-shadow: 1px 1px 20px 0 rgba(0, 0, 0, 0.3);
	-webkit-box-shadow: 1px 1px 20px 0 rgba(0, 0, 0, 0.3);
	box-shadow: 1px 1px 20px 0 rgba(0, 0, 0, 0.3);
	background: #fff;
	margin-bottom: 26px;
	margin-right: 4%;
	border-radius: 10px 10px 0 0;
}
.treatBusiness01 .wrap .inner .box:nth-child(4n), .treatBusiness01 .wrap .inner .box:last-child {
	margin-right: 0;
}
.treatBusiness01 .wrap .inner .box .txt01 {
	padding: 1.5em 1.5em 0.5em;
	-moz-box-shadow: 1px 1px 20px 0 rgba(0, 0, 0, 0.1) inset;
	-webkit-box-shadow: 1px 1px 20px 0 rgba(0, 0, 0, 0.1) inset;
	box-shadow: 1px 1px 20px 0 rgba(0, 0, 0, 0.1) inset;
	font-size: 15px;
	line-height: 1.6;
	min-height: 100%;
}
.treatBusiness01 .wrap .inner .box .txt02 {
    position: absolute;
    width: 100%;
    bottom: 0;
    left: 0;
    text-align: center;
    font-size: 1.6rem;
    letter-spacing: 0;
    color: #fff;
}
 @media screen and (max-width: 1200px) {
.feature01 .wrap .box p {
	text-align: left;
	margin-bottom: 1em;
	min-height: 170px;
}
/*.treatBusiness01 .wrap .inner .box .txt01 {
	min-height: 100%;
}*/
.feature01 .wrap .box h3 {
	font-size: 20px;
}
}
 @media screen and (max-width: 1000px) {
.treatBusiness01 .wrap .inner .box {
	padding-bottom: 20px;
}
.treatBusiness01 .wrap .inner .box .txt02 {
	font-size: 1.6rem;
}
.treatBusiness01 .wrap .inner .box .txt01 {
    min-height: 170px;
    padding: 1.5em 1.0em 0.5em;
}

.feature01 .wrap .box p {
	text-align: center;
	margin-bottom: 1em;
	min-height: 170px;
}
.feature01 .wrap .box img {
	width: auto;
	max-width: 100%;
	min-height:130px;
	margin-bottom: .6em;
}
.feature01 .wrap .box h3 {
    font-size: 16px;
    padding-left: 16px;
    line-height: 1.9;
}
}
 @media screen and (max-width: 820px) {
.treatBusiness01 .wrap .inner .box .txt01 {
    min-height: 190px;
}
}
@media screen and (max-width: 767px) {
.treatBusiness01 .wrap .inner {
	-ms-flex-direction: column;
	-webkit-flex-direction: column;
	/* Safari */
	flex-direction: column;
}
.feature01 .wrap .box p {
	min-height: inherit;
}
}
/*--------------------------------------
	9-5 取り扱い業務2
--------------------------------------*/
.treatBusiness02 {
	background: url("http://t009designer-pro.plimo-demo.com/asset/bg_treat-business01.jpg") no-repeat center center;
	background-size: cover;
	display: block;
	padding: 64px 0;
}
.treatBusiness02 .wrap {
	margin: 0 auto !important;
}
.treatBusiness02 .wrap img {
	width: 48.5% !important;
	float: right !important;
	margin: 0 !important;
}
.treatBusiness02 .wrap .btns {
	width: 48%;
	float: left;
}
.treatBusiness02 .wrap .btns li a {
	width: 48%;
	float: left;
	margin-right: 4%;
	margin-bottom: 4%;
}
.treatBusiness02 .wrap .btns li:nth-child(even) a {
	margin-right: 0;
}
.treatBusiness02 .wrap .btns li:nth-last-child(1) a, .treatBusiness02 .wrap .btns li:nth-last-child(2) a {
	margin-bottom: 0;
}
 @media screen and (max-width: 767px) {
.treatBusiness02 {
	padding: 40px 0;
}
.treatBusiness02 .wrap img {
	width: 100% !important;
	float: none !important;
	margin: 0 auto 4% !important;
}
.treatBusiness02 .wrap .btns {
	width: 100%;
	float: none;
}
}
@media screen and (max-width: 480px) {
.treatBusiness02 .wrap .btns li a {
	width: 100%;
	float: none;
	margin-right: 0;
}
.treatBusiness02 .wrap .btns li:nth-last-child(2) a {
	margin-bottom: 4%;
}
}
/*--------------------------------------
	9-6 理念1
--------------------------------------*/
.concept01, .concept02 {
    background: #ffefd6;
    background-size: cover;
    display: block;
    padding: 80px 0 64px;
	 margin: 0;
}

.concept01 .wrap p, .concept02 .wrap p {
	color: #010101;
	letter-spacing: 0.05em;
	line-height: 2.2;
}
.concept01 .wrap h2, .concept02 .wrap h2 {
	color: #295331;
}
.concept01 .wrap h2 span, .concept02 .wrap h2 span {
	color: #75503d;
	font-size: 16px;
	display: block;
}
.concept01 .wrap .btns, .concept02 .wrap .btns {
	width: 62.2%;
	margin: 50px auto 0;
}
.concept01 .wrap .btns a, .concept02 .wrap .btns a {
    position: relative;
    display: block;
    float: left;
    width: 48%;
    max-width: 300px;
    margin-right: 2%;
    background: #fff;
    padding: 0.5em 30px;
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    font-size: 2rem;
    letter-spacing: .15em;
    color: #ff9600;
    text-align: center;
}
.concept01 .wrap .btns a:after, .concept02 .wrap .btns a:after {
	content: "";
	position: absolute;
	top: 50%;
	right: 22px;
	margin-top: -6px;
	border-top: 6px solid transparent;
	border-bottom: 6px solid transparent;
	border-left: 10px solid #ff9600;
}
.concept01 .wrap .btns a:last-child, .concept02 .wrap .btns a:last-child {
	margin-right: 0;
}
.concept01 .wrap .btns a:hover, .concept02 .wrap .btns a:hover {
	text-decoration: none;
}
 @media screen and (max-width: 1060px) {
.concept01 .wrap .btns, .concept02 .wrap .btns {
	width: 100%;
	margin: 50px auto 0;
}
}
 @media screen and (max-width: 767px) {
.top .concept01 h2.v1, .top .concept02 h2.v1 {
	font-size: 2.4rem;
	line-height: 1.4em;
}
.concept01 .wrap .btns, .concept02 .wrap .btns {
	width: 100%;
}
.concept01 .wrap .btns a, .concept02 .wrap .btns a {
    width: 100%;
    float: none;
    margin: 0 auto;
}
.concept01 .wrap .btns a:last-child, .concept02 .wrap .btns a:last-child {
    margin: 0 auto;
}
.concept01 .wrap .btns a:first-child, .concept02 .wrap .btns a:first-child {
	margin-bottom: 10px;
}
}
/*--------------------------------------
	9-7 理念2
--------------------------------------*/
.concept02.b_11 .b_11_in span img {
	float: right;
	margin: 0 0 0 6%;
	width: auto;
	max-width: 36%;
}

.concept02 h2.v1 {
	text-align: left;
	margin-bottom: 0.5em;
}
.concept02 p {
	overflow: hidden;
}
.concept02 .wrap .btns {
	/*width: auto;*/
	margin-top: 4%;
}
 @media screen and (max-width: 767px) {
.concept02.b_11 .b_11_in span img {
    float: none;
    margin: 0 auto 4%;
    max-width: 70%;
}
.concept02 h2.v1 {
	text-align: center;
}
.concept02 p {
	overflow: inherit;
}
}
/*--------------------------------------
	9-8 TOP アクセス・診療時間
-------------------------------------*/
.accessTime.bg, .bg.accessTime02, .bg.accessTime03, .accessTime .bg, .accessTime02 .bg, .accessTime03 .bg {
    background: url(/asset/top_bg02.png) no-repeat center center;
    background-size: cover;
    display: block;
    padding: 80px 0 65px;
}
.accessTime h2, .accessTime02 h2, .accessTime03 h2 {
	color: #5c5c5c !important;
	font-weight: bold !important;
}
.accessTime .btn01, .accessTime02 .btn01, .accessTime03 .btn01 {
    margin-top: 15px;
    max-width: 300px;
    background: #fff;
    border: 0;
    padding: 0.5em 30px;
    font-size: 2.0rem;
}
.accessTime .btn01 a, .accessTime02 .btn01 a, .accessTime03 .btn01 a {
	color: #ff9600 !important;
}
.accessTime .btn01 a:hover, .accessTime02 .btn01 a:hover, .accessTime03 .btn01 a:hover {
	text-decoration: none;
}
.accessTime .map, .accessTime02 .map, .accessTime03 .map {
	position: relative;
	padding-top: 220px;
}
.accessTime .map iframe, .accessTime02 .map iframe, .accessTime03 .map iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}
.accessTime .btn01:after, .accessTime02 .btn01:after, .accessTime03 .btn01:after {
    border-left: 10px solid #ff9600;
}
.accessTime.b_11_3.b_11_3_column2 div.column_l, .b_11_3.b_11_3_column2.accessTime02 div.column_l, .b_11_3.b_11_3_column2.accessTime03 div.column_l, .accessTime.b_11_3.b_11_3_column2 div.column_r, .b_11_3.b_11_3_column2.accessTime02 div.column_r, .b_11_3.b_11_3_column2.accessTime03 div.column_r {
	width: 48%;
}
.accessTime.b_11_3.b_11_3_column2 div.column_l, .b_11_3.b_11_3_column2.accessTime02 div.column_l, .b_11_3.b_11_3_column2.accessTime03 div.column_l {
	padding-right: 2%;
}
.accessTime.b_11_3.b_11_3_column2 div.column_r, .b_11_3.b_11_3_column2.accessTime02 div.column_r, .b_11_3.b_11_3_column2.accessTime03 div.column_r {
	padding-left: 2%;
}
 @media screen and (max-width: 767px) {
.accessTime.b_11_3.b_11_3_column2, .b_11_3.b_11_3_column2.accessTime02, .b_11_3.b_11_3_column2.accessTime03, .accessTime.b_11_3.b_11_3_column2 div.column_l, .b_11_3.b_11_3_column2.accessTime02 div.column_l, .b_11_3.b_11_3_column2.accessTime03 div.column_l, .accessTime.b_11_3.b_11_3_column2 div.column_r, .b_11_3.b_11_3_column2.accessTime02 div.column_r, .b_11_3.b_11_3_column2.accessTime03 div.column_r {
	display: block;
	width: 100%;
}
.accessTime.b_11_3.b_11_3_column2 div.column_l, .b_11_3.b_11_3_column2.accessTime02 div.column_l, .b_11_3.b_11_3_column2.accessTime03 div.column_l {
	padding-right: 0;
	margin-bottom: 30px;
}
.accessTime.b_11_3.b_11_3_column2 div.column_r, .b_11_3.b_11_3_column2.accessTime02 div.column_r, .b_11_3.b_11_3_column2.accessTime03 div.column_r {
	padding-left: 0;
}
}
/*--------------------------------------
	9-9 TOP アクセス・診療時間2
-------------------------------------*/
.accessTime02 .b_11_2_in span img {
	width: 37%;
	float: right;
	margin: 0 0 1em;
}
.accessTime02 .map {
	margin-top: 25px;
	padding-top: 380px;
}
.accessTime02 .inner {
	width: 59%;
}
 @media screen and (max-width: 767px) {
.accessTime02 .b_11_2_in span img {
	width: 100%;
	float: none;
}
.accessTime02 .map {
	padding-top: 300px;
}
.accessTime02 .inner {
	width: 100%;
}
.accessTime02 .btn01 {
	margin: 20px auto 0;
}
}
/*--------------------------------------
	9-10 TOP アクセス・診療時間3
-------------------------------------*/
.accessTime03.b_11_3.b_11_3_column3 div.column_c, .accessTime03.b_11_3.b_11_3_column3 div.column_l {
	width: 28%;
}
.accessTime03.b_11_3.b_11_3_column3 div.column_r {
	width: 40%;
}
.accessTime03 .map {
	padding-top: 76.43%;
}
.accessTime03 h2 {
	font-size: 3.6rem;
	font-weight: normal !important;
}
 @media screen and (max-width: 767px) {
.accessTime03.b_11_3.b_11_3_column3 div.column_c, .accessTime03.b_11_3.b_11_3_column3 div.column_l, .accessTime03.b_11_3.b_11_3_column3 div.column_r {
	width: 100%;
	display: block;
}
.accessTime03 .map {
	padding-top: 300px;
}
.accessTime03 h2 {
	font-size: 2.4rem;
}
}
/*--------------------------------------
	9-11 テキストボックス
-------------------------------------*/
.txtBox01 {
	background: #d5c9b9;
	padding: 40px 0;
}
.txtBox01.b_11 .b_11_in span img {
	width: 33%;
	margin: 0;
}
.txtBox01 h2 {
	font-size: 3.8rem;
	font-weight: normal;
	text-align: center;
	margin-bottom: .6em;
	letter-spacing: .25em;
}
.txtBox01 .btn01 {
	margin: 20px 0 0 0;
}
.txtBox01 .inner {
	width: 62.4%;
	float: right;
	text-align: left;
}
.txtBox01.imgR.b_11 .b_11_in span img {
	float: right;
}
.txtBox01.imgR .inner {
	float: left;
}
.txtBox01.img6 .imgs {
	width: 59%;
	float: right;
}
.txtBox01.img6 .imgs li {
	width: 32.2%;
	float: left;
	margin-right: 1.7%;
	margin-bottom: 1.7%;
}
.txtBox01.img6 .imgs li:nth-child(3n) {
	margin-right: 0;
}
.txtBox01.img6 .inner {
	width: 36.8%;
	float: left;
}
 @media screen and (max-width: 767px) {
.txtBox01.b_11 .b_11_in span img {
	width: 100%;
	float: none !important;
	margin: 0 0 20px;
}
.txtBox01 h2 {
	font-size: 2.4rem;
}
.txtBox01 .inner {
	width: 100% !important;
	float: none !important;
}
.txtBox01 .btn01 {
	margin: 20px auto 0;
}
.txtBox01.img6 .imgs {
	width: 100%;
	float: none;
}
}
/* youtube */
.youtube {
	position: relative;
	width: 100%;
	padding-top: 56.25%;
}
.youtube iframe {
	position: absolute;
	top: 0;
	right: 0;
	width: 100% !important;
	height: 100% !important;
}

/* arrow_box */
.arrow_box {
 position: relative;
 height: 40px;
 width: 100%;
}
.arrow_box:before {
 content: "";
 position: absolute;
 background: none;
 top: 10px;
 left: 0px;
 height: 0;
 border-top: dotted #648b6b 2px;
 width: 100%;
}
.arrow_box:after {
 display: block;
 content: "";
 position: absolute;
 top: 10px;
 left: 50%;
 margin: 0 0 0 -30px;
 width: 0px;
 height: 0px;
 border: 30px solid transparent;
 border-top: 16px solid #295331;
}

/* googleカレンダー */
.cal_wrapper {
  max-width: 900px; /* 最大幅 */
  min-width: 240px; /* 最小幅 */
  margin: 2.0833% auto;
  padding:0 .5em;
}
.googlecal {
  position: relative;
  padding-bottom: 100%; /* 縦横比 */
  height: 0;
  overflow: hidden;
}
.googlecal iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100% !important;
  height: 100% !important;
}
@media screen and (max-width:599px) {
/* 画面幅が767px以上の場合の縦横比の指定 */
  .googlecal {
    padding-bottom: 185%;
  }
}
@media screen and (min-width:600px) {
/* 画面幅が767px以上の場合の縦横比の指定 */
  .googlecal {
    padding-bottom: 145%;
  }
}
@media screen and (min-width:800px) {
/* 画面幅が767px以上の場合の縦横比の指定 */
  .googlecal {
    padding-bottom: 105%;
  }
}
@media screen and (max-width: 767px) {
.cal_wrapper {
  padding: 0!important;
}
}

/* top追記 */
.top01.concept02 {
    padding: 80px 0 0;
    margin:0;
}
.top02.concept02 {
    padding: 30px 0 60px;
}
.top02.concept02 .wrap .btns {
    margin-top: 0;
}
.top04 {
    background: url(/asset/top_bg01.png) no-repeat center center;
	background-size: cover;
    padding: 100px 0 75px;
	margin: 0;
}
.top06, .top07 {
	padding: 50px 30px;
}
span.bold {
    font-weight: bold;
    color: #295331;
}
.border_box {
    border: 2px dashed #295331;
    padding: 20px 20px 10px;
    box-sizing: border-box;
}
.bg_box {
	background: #fff5e5;
	padding: 20px;
}
table.price {
    border: 1px solid #ff9600;
	width: 100%;
	margin-bottom: 10px;
}
table.price th {
    background: #fff5e5;
    width: 25%;
	border-bottom: 1px solid #ff9600;
    border-right: 1px solid #ff9600;
    color: #295331;
    padding: 10px;
	font-weight: bold;
}
table.price td {
    border-bottom: 1px solid #ff9600;
    border-right: 1px solid #ff9600;
    padding: 10px;
    text-align: left;
}
table.price td.b_06_content {
    border-bottom: 1px solid #ff9600;
    border-right: 1px solid #ff9600;
    padding: 10px;
    text-align: right;
}
table.price.ta_l td {
    text-align: left !important;
}

.merit {
    background: #ffe8e7;
    padding: 15px;
    box-sizing: border-box;
    border-radius: 10px;
	min-height: 280px;
}
.merit .gnv_tmp_h5_bg h5 {
    color: #e8423e;
    border-left: 4px solid #e8423e;
}
.demerit {
    background: #d1f3ff;
    padding: 15px;
    box-sizing: border-box;
    border-radius: 10px;
	min-height: 280px;
}
.demerit .gnv_tmp_h5_bg h5 {
    color: #04367f;
    border-left: 4px solid #04367f;
}
@media (min-width: 601px) and (max-width: 1000px) {
.merit, .demerit {
	min-height: 400px;
}
}
@media (min-width: 601px) and (max-width: 767px) {
}
@media screen and (max-width: 767px) {
.top #news h2.titleBg {
    font-size: 22px;
    text-align: left;
	padding-bottom: 5px;
	}
.top04 {
    padding: 45px 0 15px;
}
	
.accessTime .btn01 a, .accessTime02 .btn01 a, .accessTime03 .btn01 a {
    font-size: 16px;
}
.accessTime.bg, .bg.accessTime02, .bg.accessTime03, .accessTime .bg, .accessTime02 .bg, .accessTime03 .bg {
    padding: 45px 0 50px;
}	

#news .newsBt, #news_list .newsBt {
    top: 25px;
	}
	
.sp_bn {
	z-index: 9999;
	position: fixed;
	bottom: 0;
	left: 0;
	width: 100%;
}
.sp_bn a img {
	width: 100%;
	display: block;
}
.sp_bn .con_l {
	float: left;
	display: block;
	width: 50%;
}
.sp_bn .con_r {
	float: right;
	display: block;
	width: 50%;
}
#footer .f_bottom .con_l img {
	text-align: center;
	display: block;
	margin: 30px auto 20px;
}
#footer .f_bottom .access_bt a {
	margin: 15px auto 0;
}
#footer .f_bottom .con_l, #footer .f_bottom .con_r {
	float: none;
	width: 100%;
	margin: 0 auto 20px;
}
#footer .footer_ad {
	padding: 12px 0 130px;
}
#inquiryBody #footer .footer_ad {
	padding: 12px 0 10px !important;
}
#footer .footer_ad ul {
	float: none;
	display: table;
	margin: 0 auto;
}
address {
	float: none;
	display: table;
	margin: 0 auto;
}
#pagetop {
	right: 30px;
	bottom: 35%;
	z-index: 1;
}
.treatBusiness01 .wrap .inner .box {
	padding-bottom: 40px;
}
.b_11.b_11_column3 {
    display: block;
}
.b_11.b_11_column3 div.column_c, .b_11.b_11_column3 div.column_l, .b_11.b_11_column3 div.column_r {
    display: block;
    width: 100%;
}
.b_11.b_11_column3 div.column_c img, .b_11.b_11_column3 div.column_l img, .b_11.b_11_column3 div.column_r img {
    width: auto!important;
    max-width: 100%;
    margin: 0 auto!important;
}
}
@media screen and (max-width: 767px) {
.treatBusiness01 .wrap .inner .box .txt01 {
    min-height: 100%;
	padding: 1.5em 1.5em 1.5em;
}
}
@media screen and (max-width: 600px) {
.merit, .demerit {
	min-height: 100%;
}
}
@media screen and (max-width: 480px) {
#footer .footer_ad {
	padding: 12px 0 80px;
}
#pagetop {
	right: 30px;
	bottom: 20%;
	z-index: 1;
}
}
/*# sourceMappingURL=file:///D:/genova/work/plimo/plan116/TPL/plimo_116/htdocs/css/plimo_content.css.map */


#inquiryBody .header_inq, #inquiryBody .contactBox, #inquiryBody .sp_bn {
	display: none !important;
}
#footer a.footer_logo:hover {
 filter: progid:DXImageTransform.Microsoft.Alpha(enabled=false);
	opacity: 1;

}
@charset "UTF-8";
/*//////////////////////////////////////////////////////////

Copyright (C) apricot-design All Rights Reserved.
------------------------------------------------------------
CSS information
 file name  :  reset.css
 style info :  リセットファイル
 admin info :  apricot-design

//////////////////////////////////////////////////////////*/
article, aside, details, figcaption, figure, footer, header, hgroup, nav, section {
  display: block;
}

audio[controls], canvas, video {
  display: inline-block;
  *display: inline;
  zoom: 1;
}

html {
  overflow-y: scroll;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
  -webkit-text-size-adjust: 100%;
  -ms-text-size-adjust: 100%;
}

body, div, dl, dt, dd, h1, h2, h3, h4, h5, h6, pre, form, fieldset, input, textarea, p, blockquote, th, td, ul {
  margin: 0;
  padding: 0;
}

body, button, input, select, textarea {
  font-size: 100%;
}

abbr[title] {
  border-bottom: 1px dotted;
}

b, strong {
  font-weight: bold;
}

blockquote {
  margin: 1em 40px;
}

dfn {
  font-style: italic;
}

mark {
  background: #ff0;
  color: #000;
}

pre, code, kbd, samp {
  font-family: monospace, monospace;
  _font-family: "courier new", monospace;
  font-size: 1em;
}

pre {
  white-space: pre;
  white-space: pre-wrap;
  word-wrap: break-word;
}

q {
  quotes: none;
}
q:before, q:after {
  content: "";
  content: none;
}

small {
  font-size: 75%;
}

sub {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
  top: -0.5em;
}

sub {
  bottom: -0.25em;
}

ul, ol {
  margin: 0;
  padding: 0;
}

dd {
  margin: 0px;
}

nav ul, nav ol {
  list-style: none;
}

img {
  border: 0;
  -ms-interpolation-mode: bicubic;
}

svg:not(:root) {
  overflow: hidden;
}

figure, form {
  margin: 0;
}

fieldset {
  margin: 0 2px;
  padding: 0.35em 0.625em 0.75em;
}

legend {
  border: 0;
  *margin-left: -7px;
}

button, input, select, textarea {
  font-size: 100%;
  margin: 0;
  vertical-align: baseline;
  *vertical-align: middle;
}

button, input {
  line-height: normal;
  *overflow: visible;
}

button {
  cursor: pointer;
  -webkit-appearance: button;
}

input[type=button], input[type=reset], input[type=submit] {
  cursor: pointer;
  -webkit-appearance: button;
}
input[type=checkbox], input[type=radio] {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
input[type=search] {
  -webkit-appearance: textfield;
  -webkit-box-sizing: content-box;
  box-sizing: content-box;
}
input[type=search]::-webkit-search-decoration {
  -webkit-appearance: none;
}

button::-moz-focus-inner, input::-moz-focus-inner {
  border: 0;
  padding: 0;
}

textarea {
  overflow: auto;
  vertical-align: top;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

address, caption, cite, code, dfn, em, strong, th, var {
  font-style: normal;
}

h1, h2, h3, h4, h5, h6 {
  font-weight: normal;
  font-size: 100%;
}

img, abbr, acronym, fieldset {
  border: 0;
}

li {
  list-style: none;
}

/*画像を縦に並べた時に余白が出ないように*/
img {
  vertical-align: top;
  font-size: 0;
  line-height: 0;
}

/*box-sizingを全ブラウザに対応*/
* {
  -webkit-box-sizing: border-box;
  -ms-box-sizing: border-box;
  -o-box-sizing: border-box;
  box-sizing: border-box;
}
*:before, *:after {
  -webkit-box-sizing: border-box;
  -ms-box-sizing: border-box;
  -o-box-sizing: border-box;
  box-sizing: border-box;
}

.ie6_error, .no_script {
  background: #F66;
  padding: 100px;
  text-align: center;
  font-size: 150%;
  color: #333;
}

.flt {
  float: left;
}

.flr {
  float: right;
}

.txt_l, td.txt_l, .txt_l td {
  text-align: left;
}

.txt_r, td.txt_r, .txt_r td {
  text-align: right;
}

.txt_c, td.txt_c, .txt_c td {
  text-align: center;
}

.valign_t, td.valign_t, .valign_t td {
  vertical-align: top;
}

.valign_m, td.valign_m, .valign_m td {
  vertical-align: middle;
}

.valign_b, td.valign_b, .valign_b td {
  vertical-align: bottom;
}

.clear {
  clear: both;
}

.clearfix {
  zoom: 1;
}
.clearfix:before {
  content: "";
  display: block;
}
.clearfix:after {
  content: "";
  display: block;
  clear: both;
}

.img_bd {
  border: solid 1px #E8E8E8;
}

.c_red {
  color: #FF3425;
}

html {
  width: 100%;
}

body {
  font: 400 16px/1.8 "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", "メイリオ", Meiryo, sans-serif;
  color: #2b3148;
  text-align: left;
  letter-spacing: 1px;
}
@media screen and (max-width: 767px) {
  body {
    font-size: 15px;
  }
}

.win body {
  font-family: "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", "メイリオ", Meiryo, sans-serif;
}

a {
  text-decoration: none;
  color: #2b3148;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
a:link, a:active, a:visited {
  text-decoration: none;
}

.opacity {
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
.opacity:hover {
  opacity: 0.5;
}

img {
  max-width: 100%;
  height: auto;
}
img[src$=".svg"] {
  max-width: 100%;
  width: 100%;
  height: auto;
}

@media screen and (max-width: 767px) {
  .pc {
    display: none;
  }
}

.sp {
  display: none;
}
@media screen and (max-width: 767px) {
  .sp {
    display: inherit;
  }
}

::-moz-selection {
  background-color: #fff800;
  color: #2b3148;
}

::selection {
  background-color: #fff800;
  color: #2b3148;
}

#container_wrap {
  overflow: hidden;
  min-width: 1000px;
}
@media screen and (max-width: 767px) {
  #container_wrap {
    min-width: 1px;
  }
}

.inner {
  max-width: 1040px;
  width: 100%;
  margin: 0 auto;
  padding: 0 30px;
}
@media screen and (max-width: 767px) {
  .inner {
    padding: 0 6%;
  }
}
.inner::after {
  content: "";
  display: block;
  clear: both;
}

.section_wrap {
  padding: 115px 0;
}
@media screen and (max-width: 767px) {
  .section_wrap {
    padding: 3.5em 0;
  }
}

.header_box {
  width: 100%;
  margin: 0 auto;
  overflow: hidden;
  position: absolute;
  top: 0;
  left: 0;
  padding: 2.5vw;
  z-index: 1;
  min-width: 1000px;
}
@media screen and (max-width: 767px) {
  .header_box {
    padding: 0 5%;
    min-width: 1px;
  }
}

.header_ttl img.logo {
  width: 382px;
}
@media screen and (max-width: 1200px) {
  .header_ttl img.logo {
    width: 250px;
  }
}
.header_ttl p {
  color: #fff;
  font-size: 1.125em;
  font-family: "Noto Serif JP", serif;
  margin-bottom: 5px;
}
@media screen and (max-width: 1200px) {
  .header_ttl p {
    font-size: 1em;
  }
}
@media screen and (max-width: 767px) {
  .header_ttl p {
    padding-top: 10px;
    font-size: 0.9em;
  }
}

#header_left {
  float: left;
}

#header_right {
  float: right;
}
#header_right .right_box {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
#header_right .header_time {
  color: #fff;
  font-size: 0.6875em;
  margin-right: 40px;
}
#header_right .header_web {
  width: 200px;
  margin: 0;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
#header_right .header_web:hover {
  opacity: 0.85;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}

#gnavi {
  position: absolute;
  content: "";
  left: 0;
  bottom: 0;
  width: 100%;
  padding: 0 30px;
}
@media screen and (max-width: 767px) {
  #gnavi {
    position: relative;
  }
}
#gnavi ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  text-align: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
@media screen and (max-width: 767px) {
  #gnavi ul {
    display: block;
  }
}
#gnavi ul li {
  margin-right: 2em;
  font-family: "Noto Serif JP", serif;
  color: #fff;
  text-align: center;
  font-size: 1.125em;
}
@media screen and (max-width: 767px) {
  #gnavi ul li {
    margin: 0;
  }
}
#gnavi ul li a {
  color: #fff;
  padding-bottom: 80px;
  display: inline-block;
  position: relative;
}
@media screen and (max-width: 767px) {
  #gnavi ul li a {
    padding-bottom: 25px;
  }
}
#gnavi ul li a:before {
  position: absolute;
  content: "";
  width: 10px;
  height: 10px;
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
  -webkit-transform: rotate(135deg);
          transform: rotate(135deg);
  left: 0;
  right: 0;
  margin: 0 auto;
  bottom: 50px;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
@media screen and (max-width: 767px) {
  #gnavi ul li a:before {
    bottom: 15px;
  }
}
#gnavi ul li span {
  display: block;
  font-family: "Gowun Dodum", sans-serif;
  color: #cbfffe;
  font-size: 0.77em;
  letter-spacing: 2px;
}
#gnavi ul li:hover {
  opacity: 0.85;
}
#gnavi ul li:hover a:before {
  bottom: 40px;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}

.fixed {
  position: fixed !important;
  top: 0;
  left: 0;
  height: 80px;
  z-index: 10;
  background: #2b3148;
  -webkit-transition: 0.3s;
  transition: 0.3s;
  width: 100%;
  overflow: hidden;
  min-width: 1000px;
}
@media screen and (max-width: 767px) {
  .fixed {
    min-width: 1px;
    position: relative !important;
    height: auto;
  }
}
.fixed a {
  padding-bottom: 60px !important;
}
@media screen and (max-width: 767px) {
  .fixed a {
    top: auto;
    padding-bottom: 25px !important;
  }
}

#overlay {
  width: 100%;
  display: contents;
}
@media screen and (max-width: 767px) {
  #overlay {
    display: none;
    width: 100%;
    height: 100%;
    text-align: center;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 5;
    background: #2b3148;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    overflow-y: scroll;
    -webkit-transition: all 0.3s;
    transition: all 0.3s;
    padding: 70px 0;
  }
  #overlay.active {
    display: block;
    height: 100%;
    opacity: 1;
    -webkit-transition: all 0.3s;
    transition: all 0.3s;
  }
}

@media screen and (max-width: 767px) {
  .menu-trigger {
    display: inline-block;
    -webkit-transition: all 0.3s;
    transition: all 0.3s;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    position: fixed;
    top: 7px;
    right: 10px;
    width: 50px;
    height: 50px;
    z-index: 9999;
    text-align: center;
    font-weight: bold;
    cursor: pointer;
  }
  .menu-trigger span {
    display: inline-block;
    -webkit-transition: all 0.3s;
    transition: all 0.3s;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    position: absolute;
    z-index: 4;
    width: 100%;
    height: 2px;
    background: #fff;
    right: 0;
    margin: auto;
  }
  .menu-trigger span:nth-of-type(1) {
    top: 25%;
  }
  .menu-trigger span:nth-of-type(2) {
    top: 45%;
    width: 55%;
    right: 0;
    left: unset;
  }
  .menu-trigger.active span {
    -webkit-transition: all 0.3s;
    transition: all 0.3s;
    background: #fff;
  }
  .menu-trigger.active span:nth-of-type(1) {
    -webkit-transform: translateY(20px) rotate(30deg);
            transform: translateY(20px) rotate(30deg);
    top: 0px;
    width: 80%;
  }
  .menu-trigger.active span:nth-of-type(2) {
    -webkit-transform: translateY(-20px) rotate(-30deg);
            transform: translateY(-20px) rotate(-30deg);
    bottom: -10px;
    width: 80%;
  }
  .menu-trigger p {
    color: #cbfffe;
    font-family: "Gowun Dodum", sans-serif;
    padding-top: 28px;
    text-align: right;
  }
}

.nav_btn {
  max-width: 250px;
  margin: 25px auto 0;
  background: #fff;
  padding: 8px;
}

#footer {
  width: 100%;
  margin: 0 auto;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  #footer {
    padding: 0 8%;
  }
}

.copy {
  padding: 25px 0 65px;
  font-size: 0.9375em;
  color: #fff;
}
@media screen and (max-width: 767px) {
  .copy {
    padding: 75px 0 25px;
  }
}

.main_img {
  position: relative;
}
.main_img img {
  width: 100%;
}
.main_img .main_txt_area {
  position: absolute;
  content: "";
  width: 100%;
  max-width: 338px;
  left: 55%;
  bottom: 45%;
}
@media screen and (max-width: 767px) {
  .main_img .main_txt_area {
    width: 70%;
    left: 0;
    right: 0;
    margin: 0 auto;
    bottom: 30%;
  }
}
.main_img .main_txt_area .arrowWrap {
  position: absolute;
  right: 150px;
  bottom: -180px;
  height: 140px;
}
@media screen and (max-width: 1200px) {
  .main_img .main_txt_area .arrowWrap {
    bottom: -160px;
  }
}
.main_img .main_txt_area .arrowInner p {
  font-size: 0.875em;
  font-family: "Gowun Dodum", sans-serif;
  color: #cbfffe;
  text-align: end;
  -webkit-transform: rotate(90deg);
          transform: rotate(90deg);
  position: absolute;
  top: 55px;
}
.main_img .main_txt_area .arrow {
  width: 1px;
  height: 140px;
  margin: 0 auto 0;
  background-color: #eee;
  position: relative;
  overflow: hidden;
}
.main_img .main_txt_area .arrow::before {
  content: "";
  width: 1px;
  height: 140px;
  margin: 40px auto 0;
  background-color: #000;
  position: absolute;
  top: -180px;
  left: 0;
  -webkit-animation: arrow 2.5s ease 0s infinite normal;
  animation: arrow 2.5s ease 0s infinite normal;
}
@-webkit-keyframes arrow {
  0% {
    -webkit-transform: translate3d(-50%, 0, 0);
    transform: translate3d(-50%, 0, 0);
  }
  60% {
    -webkit-transform: translate3d(-50%, 140px, 0);
    transform: translate3d(-50%, 140px, 0);
  }
  100% {
    -webkit-transform: translate3d(-50%, 140px, 0);
    transform: translate3d(-50%, 140px, 0);
  }
}
@keyframes arrow {
  0% {
    -webkit-transform: translate3d(-50%, 0, 0);
    transform: translate3d(-50%, 0, 0);
  }
  60% {
    -webkit-transform: translate3d(-50%, 140px, 0);
    transform: translate3d(-50%, 140px, 0);
  }
  100% {
    -webkit-transform: translate3d(-50%, 140px, 0);
    transform: translate3d(-50%, 140px, 0);
  }
}

.sec_01 {
  background: url(/asset/sec01_bg.jpg) no-repeat center/cover;
  padding: 112px 0 350px;
}
@media screen and (max-width: 767px) {
  .sec_01 {
    padding: 60px 0 130px;
    background: url(/asset/sec01_bg.jpg) no-repeat 50%/cover;
  }
}
.sec_01 .list_sec01 li {
  font-size: 1.4375em;
  font-family: "Noto Serif JP", serif;
  padding-left: 45px;
  line-height: 1;
  margin-bottom: 40px;
  position: relative;
}
@media screen and (max-width: 767px) {
  .sec_01 .list_sec01 li {
    font-size: 1.2em;
    margin-bottom: 25px;
    padding-left: 40px;
  }
}
.sec_01 .list_sec01 li:last-child {
  margin-bottom: 0;
}
.sec_01 .list_sec01 li:before {
  position: absolute;
  content: "";
  background: url(/asset/icon_check.svg) no-repeat center/contain;
  width: 30px;
  height: 28px;
  top: 0;
  left: 0;
}
@media screen and (max-width: 767px) {
  .sec_01 .list_sec01 li:before {
    width: 25px;
    height: 23px;
  }
}

.sec_02 {
  background: -webkit-gradient(linear, left top, left bottom, from(#2193b0), to(#6dd5ed));
  background: linear-gradient(#2193b0, #6dd5ed);
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .sec_02 {
    padding-bottom: 100px;
  }
}
.sec_02 .inner {
  position: relative;
}
.sec_02 .inner:before {
  position: absolute;
  content: "";
  background: url(/asset/sec02_img.png) no-repeat center/contain;
  width: 741px;
  height: 556px;
  right: -210px;
  bottom: -240px;
}
@media screen and (max-width: 767px) {
  .sec_02 .inner:before {
    width: 391px;
    height: 206px;
    right: -112px;
    bottom: -158px;
  }
}

.sec_03 {
  background: url(/asset/sec03_bg.jpg) no-repeat center/cover;
}
.sec_03 .sec03_img {
  width: 100%;
  margin-bottom: 30px;
}
@media screen and (max-width: 767px) {
  .sec_03 .sec03_img {
    margin-bottom: 20px;
  }
}
.sec_03 .name {
  font-size: 1.625em;
  color: #fff;
  margin-bottom: 45px;
  position: relative;
}
@media screen and (max-width: 767px) {
  .sec_03 .name {
    font-size: 1.5em;
    margin-bottom: 20px;
  }
}
.sec_03 .name:before {
  position: absolute;
  content: "";
  background: url(/asset/sec03_name.svg) no-repeat center/contain;
  width: 188px;
  height: 64px;
  top: -15px;
  left: 160px;
}
@media screen and (max-width: 767px) {
  .sec_03 .name:before {
    font-size: 1.5em;
    width: 178px;
    left: 130px;
  }
}
.sec_03 .sec03_txt {
  color: #fff;
  font-family: "Noto Serif JP", serif;
  font-size: 1.125em;
  border-bottom: 2px solid #cbfffe;
  display: inline-block;
  padding-bottom: 10px;
  margin-bottom: 15px;
}

.sec_04 {
  background: url(/asset/sec04_bg.jpg) no-repeat left/cover;
}
.sec_04 .list_sec04 li {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 100%;
  margin-bottom: 2%;
}
.sec_04 .list_sec04 li .left {
  width: 38%;
  margin-right: 2%;
  background: #2b3148;
  color: #fff;
  font-family: "Noto Serif JP", serif;
  padding: 15px;
  font-size: 1.125em;
}
.sec_04 .list_sec04 li .right {
  width: 60%;
  background: #e6e6e6;
  color: #2b3148;
  padding: 15px;
}

.sec_10 {
  background: url(/asset/sec10_bg.jpg) no-repeat center/cover;
}

.over_flow {
  overflow: hidden;
}

.left_col {
  width: 44%;
  float: left;
  padding-right: 5%;
}
@media screen and (max-width: 767px) {
  .left_col {
    width: 100%;
    float: inherit;
    padding: 0 0 6% 0;
  }
}

.right_col {
  width: 56%;
  float: right;
}
@media screen and (max-width: 767px) {
  .right_col {
    width: 100%;
    float: inherit;
  }
}

.map {
  position: relative;
  overflow: hidden;
}
.map::before {
  content: "";
  display: block;
  height: 300px;
}
@media screen and (max-width: 767px) {
  .map::before {
    height: 100vw;
  }
}
.map > iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: calc(100% + 300px);
  margin-top: -150px;
}

.time {
  position: relative;
}
@media screen and (max-width: 767px) {
  .time {
    padding-bottom: 220px;
  }
}
.time:before {
  position: absolute;
  content: "";
  background: url(/asset/qr.png) no-repeat center/contain;
  width: 256px;
  height: 516px;
  bottom: -170px;
  right: 0;
}
@media screen and (max-width: 767px) {
  .time:before {
    width: 155px;
    height: 345px;
    bottom: -120px;
    left: 0;
    margin: 0 auto;
  }
}

.list_feature {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  margin-bottom: 50px;
}
@media screen and (max-width: 767px) {
  .list_feature {
    display: block;
  }
}
.list_feature li {
  width: 48%;
  margin: 0 4% 4% 0;
  padding: 40px;
  background: #fff;
}
@media screen and (max-width: 767px) {
  .list_feature li {
    width: 100%;
    margin: 0 0 5% 0;
    padding: 20px 15px;
  }
}
.list_feature li:nth-child(2n) {
  margin-right: 0;
}
.list_feature li .num_img {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 100%;
  margin-bottom: 25px;
}
@media screen and (max-width: 767px) {
  .list_feature li .num_img {
    margin-bottom: 20px;
  }
}
.list_feature li .num_img .num {
  font-family: "Noto Serif JP", serif;
  font-size: 3em;
  font-weight: 700;
  line-height: 1;
  text-align: right;
}
@media screen and (max-width: 767px) {
  .list_feature li .num_img .num {
    font-size: 2.3em;
  }
}
.list_feature li .num_img .num span {
  display: block;
  font-size: 0.56em;
  font-weight: 400;
  font-family: "Gowun Dodum", sans-serif;
  letter-spacing: 3px;
}
.list_feature li .num_img .img {
  width: 100%;
  padding-left: 15px;
}
.list_feature li .num_img .img img {
  width: 100%;
}
.list_feature li .ttl {
  font-size: 1.25em;
  font-family: "Noto Serif JP", serif;
  font-weight: 500;
  margin-bottom: 25px;
}
@media screen and (max-width: 767px) {
  .list_feature li .ttl {
    margin-bottom: 10px;
  }
}

.list_flow {
  border-top: 1px solid #fff;
}
.list_flow li {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  padding: 30px 0;
  border-bottom: 1px solid #fff;
}
@media screen and (max-width: 767px) {
  .list_flow li {
    display: block;
  }
}
.list_flow li .left {
  width: 48%;
  margin-right: 4%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
@media screen and (max-width: 767px) {
  .list_flow li .left {
    width: 100%;
    margin: 0 0 5% 0;
  }
}
.list_flow li .left .num {
  font-size: 2.625em;
  font-family: "Noto Serif JP", serif;
  color: #fff;
  line-height: 1.1;
  letter-spacing: 2px;
}
@media screen and (max-width: 767px) {
  .list_flow li .left .num {
    font-size: 2.5em;
  }
}
.list_flow li .left .num span {
  display: block;
  font-size: 0.57em;
  font-family: "Gowun Dodum", sans-serif;
}
.list_flow li .left img {
  width: 100%;
  padding-left: 20px;
}
.list_flow li .right {
  width: 48%;
  font-size: 1.125em;
}
@media screen and (max-width: 767px) {
  .list_flow li .right {
    width: 100%;
    font-size: 1em;
  }
}
.list_flow li .right span {
  font-size: 1.44em;
  font-family: "Noto Serif JP", serif;
  font-weight: 700;
  display: block;
  margin-bottom: 15px;
}
@media screen and (max-width: 767px) {
  .list_flow li .right span {
    margin-bottom: 3px;
  }
}
.list_flow li .txt_right {
  text-align: right;
  font-size: 1.125em;
  margin-bottom: 25px;
  width: 100%;
}
@media screen and (max-width: 767px) {
  .list_flow li .txt_right {
    font-size: 1em;
    margin-bottom: 5px;
  }
}
.list_flow li .img02 {
  width: 100%;
  padding-left: 74px;
}
@media screen and (max-width: 767px) {
  .list_flow li .img02 {
    padding: 0;
  }
}
.list_flow li .img02 img {
  width: 100%;
}

.list_voice {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
@media screen and (max-width: 767px) {
  .list_voice {
    display: block;
  }
}
.list_voice li {
  background: #fff;
  width: 48%;
  margin-right: 4%;
  padding: 40px;
}
@media screen and (max-width: 767px) {
  .list_voice li {
    width: 100%;
    margin: 0 0 6% 0;
    padding: 20px 15px;
  }
}
.list_voice li .top_area {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin-bottom: 25px;
}
.list_voice li .top_area .top_txt {
  font-size: 1.25em;
  font-family: "Noto Serif JP", serif;
  font-weight: 700;
  padding-right: 25px;
}
@media screen and (max-width: 767px) {
  .list_voice li .top_area .top_txt {
    font-size: 1.15em;
  }
}
.list_voice li .top_area .top_txt span {
  display: block;
  position: relative;
  padding-bottom: 10px;
  margin-bottom: 10px;
}
.list_voice li .top_area .top_txt span:before {
  position: absolute;
  content: "";
  border-bottom: 2px solid;
  height: 2px;
  width: 52px;
  bottom: 0;
  left: 0;
}
.list_voice li .ttl {
  font-family: "Noto Serif JP", serif;
  font-weight: 700;
  font-size: 1.25em;
  line-height: 1.5;
  margin-bottom: 15px;
}
@media screen and (max-width: 767px) {
  .list_voice li .ttl {
    font-size: 1.15em;
    margin-bottom: 10px;
  }
}
.list_voice li .txt {
  margin-bottom: 25px;
}
.list_voice li:last-child {
  margin-right: 0;
}

.list_about li {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin-bottom: 2%;
  font-size: 1.125em;
  line-height: 1.5;
}
@media screen and (max-width: 767px) {
  .list_about li {
    font-size: 1em;
  }
}
.list_about li:last-child {
  margin-bottom: 0;
}
.list_about li .left {
  width: 24%;
  margin-right: 2%;
  background: #2b3148;
  color: #fff;
  font-family: "Noto Serif JP", serif;
  padding: 20px;
}
@media screen and (max-width: 767px) {
  .list_about li .left {
    padding: 20px 15px;
  }
}
.list_about li .right {
  width: 74%;
  background: #e6e6e6;
  padding: 20px;
}
@media screen and (max-width: 767px) {
  .list_about li .right {
    padding: 20px 15px;
  }
}

.list_access {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin-bottom: 35px;
}
@media screen and (max-width: 767px) {
  .list_access {
    display: block;
    margin-bottom: 25px;
  }
}
.list_access li {
  margin-right: 50px;
  font-size: 1.25em;
}
@media screen and (max-width: 767px) {
  .list_access li {
    width: 100%;
    margin: 0 0 8% 0;
    font-size: 1.15em;
  }
}
.list_access li span {
  display: block;
  font-weight: 700;
}
.list_access li span img {
  width: 24px;
  height: 24px;
  margin-right: 9px;
}

.table_time {
  width: 100%;
}
.table_time th {
  padding: 0.25em 1em;
  border-bottom: 1px solid #fff;
}
.table_time td {
  padding: 0.25em 1em;
  border-bottom: 1px solid #fff;
}

.table_time02 {
  max-width: 570px;
  font-size: 1.125em;
  margin-bottom: 20px;
}
@media screen and (max-width: 767px) {
  .table_time02 {
    width: 100%;
    max-width: 100%;
    font-size: 0.9em;
    margin-bottom: 10px;
  }
}
.table_time02 th {
  padding: 0.25em 0.5em;
  border-bottom: 1px solid;
}
@media screen and (max-width: 767px) {
  .table_time02 th {
    padding: 5px 0;
  }
}
.table_time02 td {
  padding: 0.25em 0.5em;
  border-bottom: 1px solid;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .table_time02 td {
    padding: 5px 0;
  }
}
.table_time02 .txt_16 {
  font-size: 16px;
  line-height: 1.4;
}
@media screen and (max-width: 767px) {
  .table_time02 .txt_16 {
    font-size: 12px;
  }
}
.table_time02 .top {
  text-align: left;
}

.table_sec05 {
  width: 100%;
  text-align: center;
  margin-top: 50px;
}
@media screen and (max-width: 767px) {
  .table_sec05 {
    font-size: 0.7em;
    margin-top: 20px;
  }
}
.table_sec05 td {
  border-right: 10px solid #e6e6e6;
  border-bottom: 10px solid #e6e6e6;
  padding: 5px;
}
@media screen and (max-width: 767px) {
  .table_sec05 td {
    border-right: 3px solid #e6e6e6;
    border-bottom: 3px solid #e6e6e6;
  }
}
.table_sec05 .t_01 td {
  background: #2b3148;
  color: #fff;
  font-weight: 700;
  font-size: 1.125em;
}
@media screen and (max-width: 767px) {
  .table_sec05 .t_01 td {
    font-size: 1em;
  }
}
.table_sec05 .t_02 td {
  background: #fff;
}
.table_sec05 .t_03 td {
  background: #bfc1c8;
}

.table_sec08 {
  width: 100%;
  text-align: center;
  margin: 0 0 15px;
}
@media screen and (max-width: 767px) {
  .table_sec08 {
    margin: 0 0 10px;
  }
}
.table_sec08 td {
  border-right: 10px solid #e6e6e6;
  border-bottom: 10px solid #e6e6e6;
  padding: 5px;
  background: #fff;
}
@media screen and (max-width: 767px) {
  .table_sec08 td {
    border-right: 3px solid #e6e6e6;
    border-bottom: 3px solid #e6e6e6;
  }
}
.table_sec08 .t_01 td {
  background: #2b3148;
  color: #fff;
  font-weight: 700;
  font-size: 1.125em;
}
@media screen and (max-width: 767px) {
  .table_sec08 .t_01 td {
    font-size: 1em;
  }
}

.ttl_cmn {
  font-size: 2.125em;
  font-family: "Noto Serif JP", serif;
  line-height: 1.6;
  margin-bottom: 40px;
}
@media screen and (max-width: 767px) {
  .ttl_cmn {
    font-size: 1.5em;
    margin-bottom: 25px;
  }
}
.ttl_cmn.white {
  color: #fff;
}
.ttl_cmn.center {
  text-align: center;
}

.ttl_cmn02 {
  font-size: 1.875em;
  font-family: "Noto Serif JP", serif;
  color: #fff;
  padding-bottom: 10px;
  margin-bottom: 40px;
  position: relative;
  font-weight: 700;
}
@media screen and (max-width: 767px) {
  .ttl_cmn02 {
    font-size: 1.35em;
    margin-bottom: 25px;
  }
}
.ttl_cmn02:before {
  position: absolute;
  content: "";
  border-bottom: 2px solid #cbfffe;
  width: 80px;
  height: 2px;
  bottom: 0;
  left: 0;
}
.ttl_cmn02.black {
  color: #2b3148;
}
.ttl_cmn02.black:before {
  border-bottom: 2px solid #2b3148;
}

.con_ttl {
  font-size: 1.625em;
  font-family: "Noto Serif JP", serif;
  font-weight: 700;
  display: inline-block;
  position: relative;
  margin-bottom: 28px;
}
@media screen and (max-width: 767px) {
  .con_ttl {
    font-size: 1.45em;
  }
}
.con_ttl:before {
  position: absolute;
  content: "";
  border-left: 1px solid;
  width: 1px;
  height: 35px;
  bottom: 8px;
  left: -15px;
  -webkit-transform: rotate(-35deg);
          transform: rotate(-35deg);
}
.con_ttl:after {
  position: absolute;
  content: "";
  border-left: 1px solid;
  width: 1px;
  height: 35px;
  bottom: 8px;
  right: -15px;
  -webkit-transform: rotate(35deg);
          transform: rotate(35deg);
}

.bg_gray {
  background: #e6e6e6;
}
.bg_check {
  background: url(/asset/bg_bluecheck.jpg);
  position: relative;
  z-index: 0;
}

.txt_white {
  color: #fff;
}
.txt_red {
  color: #e33a50;
}
.txt_18 {
  font-size: 1.125em;
}
@media screen and (max-width: 767px) {
  .txt_18 {
    font-size: 1.1em;
  }
}
.txt_20 {
  font-size: 1.25em;
}
@media screen and (max-width: 767px) {
  .txt_20 {
    font-size: 1.14em;
  }
}
.txt_mincho {
  font-family: "Noto Serif JP", serif;
}
.txt_bold {
  font-weight: 700;
}
.txt_center {
  text-align: center;
}

#topcontrol {
  width: 100px;
  height: 100px;
  background: url(/asset/pagetop.svg) no-repeat center/auto 100%;
  margin: 0 30px 30px;
}
@media screen and (max-width: 767px) {
  #topcontrol {
    width: 60px;
    height: 60px;
    margin: 0 15px 15px;
  }
}

a.btn {
  color: #cbfffe;
  display: block;
  max-width: 420px;
  margin: auto;
  background: #2b3148;
  text-align: left;
  font-size: 1.25em;
  position: relative;
}
@media screen and (max-width: 767px) {
  a.btn {
    max-width: 330px;
    font-size: 1.15em;
  }
}
a.btn:before {
  position: absolute;
  content: "";
  background: url(/asset/icon_pc.svg) no-repeat center/contain;
  width: 31px;
  height: 31px;
  top: 0;
  bottom: 0;
  margin: auto 0;
  left: 40px;
}
@media screen and (max-width: 767px) {
  a.btn:before {
    left: 30px;
  }
}
a.btn:after {
  position: absolute;
  content: "";
  background: url(/asset/arrow.svg) no-repeat center/contain;
  width: 10px;
  height: 17px;
  top: 0;
  bottom: 0;
  margin: auto 0;
  right: 20px;
}
a.btn span {
  padding: 1em 1em 1em 100px;
  display: block;
}
@media screen and (max-width: 767px) {
  a.btn span {
    padding: 1em 1em 1em 80px;
  }
}
a.btn span:before {
  position: absolute;
  content: "";
  background: #cbfffe;
  width: 420px;
  height: 112px;
  bottom: -10px;
  left: 10px;
  z-index: -1;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
@media screen and (max-width: 767px) {
  a.btn span:before {
    width: 330px;
    height: 96.59px;
  }
}
a.btn:hover span:before {
  bottom: 0;
  left: 0;
  z-index: -1;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}

.m0 {
  margin-bottom: 0 !important;
}

.m5 {
  margin-bottom: 5px;
}

.m15 {
  margin-bottom: 15px;
}
@media screen and (max-width: 767px) {
  .m15 {
    margin-bottom: 5px;
  }
}

.m20 {
  margin-bottom: 20px;
}

.m25 {
  margin-bottom: 25px;
}
@media screen and (max-width: 767px) {
  .m25 {
    margin-bottom: 20px;
  }
}

.m70 {
  margin-bottom: 70px;
}
@media screen and (max-width: 767px) {
  .m70 {
    margin-bottom: 40px;
  }
}

.m115 {
  margin-bottom: 115px;
}
@media screen and (max-width: 767px) {
  .m115 {
    margin-bottom: 80px;
  }
}
@charset "UTF-8";
/* variable
-------------------------------------------------------------------------------------------------------------------- */
/* mixin
-------------------------------------------------------------------------------------------------------------------- */
/* function
-------------------------------------------------------------------------------------------------------------------- */
/* HTML
<a class="ui_btn01">テキスト</a>
*/
/* HTML
<a class="ui_btn02">テキスト<span class="arrow"></span></a>
*/
/* loading
-------------------------------------------------------------------------------------------------------------------- */
#loading {
  position: fixed;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  background: center top #fff;
  background-image: url("/asset/bg_loading.png");
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  z-index: 999;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center; }
  @media (max-width: 750px) {
    #loading {
      background-image: url("/asset/bg_loading_sp.png"); } }
  @media (min-width: 751px) and (-webkit-min-device-pixel-ratio: 2), (min-width: 751px) and (min-resolution: 2dppx) {
    #loading {
      background-image: url("/asset/bg_loading@2x.png"); } }
  #loading > .container {
    flex: 0 0 auto;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    height: auto; }
    #loading > .container > .logo {
      opacity: 0; }
    #loading > .container > .deco {
      width: 1100px;
      position: absolute;
      left: 50%;
      transform: translateX(-50%);
      height: 100%;
      top: 0; }
      #loading > .container > .deco > span {
        display: block; }
        #loading > .container > .deco > span.left > span:nth-child(1) {
          left: -410px;
          top: 334px; }
        #loading > .container > .deco > span.left > span:nth-child(2) {
          left: -410px;
          top: 460px;
          background-position-y: -117px; }
        #loading > .container > .deco > span.left > span:nth-child(3) {
          left: -166px;
          top: 584px;
          background-position-y: -242px;
          background-position-x: -244px; }
        #loading > .container > .deco > span.left > span:nth-child(4) {
          left: -255px;
          top: 684px;
          background-position-y: -341px;
          background-position-x: -155px; }
        #loading > .container > .deco > span.left > span:nth-child(5) {
          left: -31px;
          top: 851px;
          background-position-y: -506px;
          background-position-x: -381px; }
        #loading > .container > .deco > span.left > span:nth-child(6) {
          left: -373px;
          top: 848px;
          background-position-y: -506px;
          background-position-x: -37px; }
        #loading > .container > .deco > span.right > span {
          background-image: url("/asset/deco_loading02.png");
          background-size: 484px; }
          @media (min-width: 751px) and (-webkit-min-device-pixel-ratio: 2), (min-width: 751px) and (min-resolution: 2dppx) {
            #loading > .container > .deco > span.right > span {
              background-image: url("/asset/deco_loading02@2x.png"); } }
          #loading > .container > .deco > span.right > span:nth-child(1) {
            right: -76px;
            top: 174px; }
          #loading > .container > .deco > span.right > span:nth-child(2) {
            right: -358px;
            top: 153px;
            background-position-y: 29px;
            background-position-x: -282px; }
          #loading > .container > .deco > span.right > span:nth-child(3) {
            right: -263px;
            top: 327px;
            background-position-y: -145px;
            background-position-x: -185px; }
          #loading > .container > .deco > span.right > span:nth-child(4) {
            right: -143px;
            top: 471px;
            background-position-y: -288px;
            background-position-x: -66px; }
          #loading > .container > .deco > span.right > span:nth-child(5) {
            right: -410px;
            top: 705px;
            background-position-y: -522px;
            background-position-x: -335px; }
          #loading > .container > .deco > span.right > span:nth-child(6) {
            right: -410px;
            top: 498px;
            background-position-y: -316px;
            background-position-x: -335px; }
        #loading > .container > .deco > span > span {
          opacity: 0;
          position: absolute;
          pointer-events: none;
          z-index: 9;
          display: block;
          height: 142px;
          width: 150px;
          background-image: url("/asset/deco_loading01.png");
          background-position: left top;
          background-size: 472px;
          background-repeat: no-repeat;
          background-position-y: 9px;
          background-position-x: 0; }
          @media (min-width: 751px) and (-webkit-min-device-pixel-ratio: 2), (min-width: 751px) and (min-resolution: 2dppx) {
            #loading > .container > .deco > span > span {
              background-image: url("/asset/deco_loading01@2x.png"); } }
  @media (max-width: 750px) {
    #loading {
      position: fixed;
      left: 0;
      right: 0;
      top: 0;
      bottom: 0;
      background: center top #fff;
      background-image: url("/asset/bg_loading.png");
      background-size: cover;
      background-position: center;
      background-repeat: no-repeat;
      z-index: 999;
      display: flex;
      flex-direction: column;
      justify-content: flex-start;
      align-items: center; } }
  @media (max-width: 750px) and (max-width: 750px) {
    #loading {
      background-image: url("/asset/bg_loading_sp.png"); } }
  @media (max-width: 750px) and (min-width: 751px) and (-webkit-min-device-pixel-ratio: 2), (max-width: 750px) and (min-width: 751px) and (min-resolution: 2dppx) {
    #loading {
      background-image: url("/asset/bg_loading@2x.png"); } }
  @media (max-width: 750px) {
      #loading > .container {
        flex: 0 0 auto;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        height: 100%; }
        #loading > .container > .logo img {
          width: 500px; }
        #loading > .container > .deco {
          width: 750px;
          position: absolute;
          left: 50%;
          transform: translateX(-50%);
          height: 100%;
          top: 0;
          opacity: 0; }
          #loading > .container > .deco > span:nth-child(1) {
            bottom: 130px;
            left: -100px;
            top: auto; }
          #loading > .container > .deco > span:nth-child(2) {
            top: 130px;
            right: -79px; } }

/* common override
-------------------------------------------------------------------------------------------------------------------- */
/* Main Visual
-------------------------------------------------------------------------------------------------------------------- */
#mainVisual {
  position: relative; }
  #mainVisual > .container {
    width: 1100px;
    height: 954px;
    margin: 0 auto;
    position: relative;
    z-index: 1; }
    #mainVisual > .container > .title {
      padding-top: 351px; }
      #mainVisual > .container > .title > .ja > span {
        display: flex;
        justify-content: flex-start;
        overflow: hidden; }
        #mainVisual > .container > .title > .ja > span:nth-child(1) {
          width: 754px;
          margin-left: 170px; }
        #mainVisual > .container > .title > .ja > span:nth-child(2) {
          width: 634px;
          margin-left: 232px;
          margin-top: -50px; }
      #mainVisual > .container > .title > .en {
        font-family: niveau-grotesk, sans-serif;
        font-weight: 500;
        font-style: normal;
        color: #fff;
        font-size: 0.9375rem;
        text-align: center;
        width: 100%;
        display: block;
        letter-spacing: 0.11em;
        margin-top: 9px;
        margin-left: -3px; }
    #mainVisual > .container > .deco {
      position: absolute;
      width: 100%;
      height: 100%;
      top: 0;
      left: 0;
      pointer-events: none; }
      #mainVisual > .container > .deco > span {
        position: absolute;
        pointer-events: none;
        z-index: 9;
        display: block; }
        #mainVisual > .container > .deco > span:nth-child(1) {
          top: 217px;
          left: -410px; }
        #mainVisual > .container > .deco > span:nth-child(2) {
          top: 57px;
          right: -410px; }
        #mainVisual > .container > .deco > span:nth-child(3) {
          top: 494px;
          left: -530px; }
        #mainVisual > .container > .deco > span:nth-child(4) {
          top: 277px;
          right: -469px; }
        #mainVisual > .container > .deco > span:nth-child(5) {
          top: 229px;
          left: 9px; }
        #mainVisual > .container > .deco > span:nth-child(6) {
          bottom: 217px;
          right: 10px; }
    #scrollDown {
      position: absolute;
      display: block;
      left: calc(50% - 31px);
      bottom: 0;
      padding-bottom: 124px;
      font-family: din-2014, sans-serif;
      font-weight: 600;
      font-style: normal;
      font-size: 0.75rem;
      color: #fff;
      text-decoration: none;
      letter-spacing: 0.3em; }
      #scrollDown:after {
        content: '';
        display: block;
        position: absolute;
        left: calc(50% - 2px);
        bottom: 0;
        width: 2px;
        /* height: 108px; */
        height: 0;
        background-color: #fff;
        -webkit-animation: scrollDownBar 3s infinite linear;
                animation: scrollDownBar 3s infinite linear; }
  #mainVisual > .bg {
    position: absolute;
    width: 100%;
    height: calc(100% + 126px);
    left: 50%;
    transform: translateX(-50%) translateY(-50%);
    top: calc(50% - 63px); }
    #mainVisual > .bg img {
      width: 100%;
      position: relative;
      display: block;
      height: 100%;
      -o-object-fit: cover;
         object-fit: cover; }

@-webkit-keyframes scrollDownBar {
  0% {
    bottom: 108px;
    height: 0; }
  50% {
    bottom: 0;
    height: 108px; }
  100% {
    height: 0; } }

@keyframes scrollDownBar {
  0% {
    bottom: 108px;
    height: 0; }
  50% {
    bottom: 0;
    height: 108px; }
  100% {
    height: 0; } }
  @media (max-width: 750px) {
    #mainVisual > .container {
      width: 750px;
      height: 780px; }
      #mainVisual > .container > .title {
        padding-top: 227px; }
        #mainVisual > .container > .title > .ja > span {
          display: flex;
          justify-content: flex-start;
          overflow: hidden; }
          #mainVisual > .container > .title > .ja > span:nth-child(1) {
            margin-left: -3px; }
          #mainVisual > .container > .title > .ja > span:nth-child(2) {
            margin-left: 50px;
            margin-top: -123px; }
        #mainVisual > .container > .title > .en {
          font-size: 0.4375rem;
          margin-top: -50px;
          margin-left: -3px; }
      #mainVisual > .container > .deco {
        position: absolute;
        width: 100%;
        height: 100%;
        top: 0;
        left: 0;
        pointer-events: none; }
        #mainVisual > .container > .deco > span:nth-child(1) {
          top: 343px;
          left: -105px; }
        #mainVisual > .container > .deco > span:nth-child(2) {
          top: -115px;
          right: -102px; }
        #mainVisual > .container > .deco > span:nth-child(3) {
          top: 591px;
          left: -331px; }
        #mainVisual > .container > .deco > span:nth-child(4) {
          top: 17px;
          right: -434px; }
        #mainVisual > .container > .deco > span:nth-child(5) {
          top: 201px;
          left: 38px; }
        #mainVisual > .container > .deco > span:nth-child(6) {
          bottom: 219px;
          right: 41px; }
    #mainVisual > .bg {
      height: calc(100% + 156px);
      top: calc(50% - 78px); } }

/* message
-------------------------------------------------------------------------------------------------------------------- */
#message {
  background: #eceef5;
  background: linear-gradient(0deg, #eff0f5 65%, #ccd4ef 100%);
  position: relative; }
  #message > .bgMessager {
    position: absolute;
    bottom: 0;
    right: 0;
    z-index: 0; }
  #message > .container {
    width: 1100px;
    margin: 0 auto;
    position: relative;
    z-index: 1;
    padding-top: 140px;
    padding-bottom: 121px; }
    #message > .container > .title {
      position: absolute;
      left: -11px;
      top: 148px; }
    #message > .container > .content {
      display: flex;
      width: 100%;
      position: relative;
      min-height: 430px;
      margin-bottom: 87px; }
      #message > .container > .content > .txt {
        width: 502px;
        margin-left: 165px; }
        #message > .container > .content > .txt > p {
          font-weight: 300;
          font-size: 1rem;
          line-height: 1.9375; }
          #message > .container > .content > .txt > p.author {
            font-size: 1.1875rem;
            font-weight: 500;
            text-align: right;
            margin-top: 27px;
            margin-right: 2px; }
      #message > .container > .content > .pic {
        position: absolute;
        right: -283px;
        top: 4px; }
    #message > .container > .profile {
      display: flex;
      justify-content: space-between; }
      #message > .container > .profile > .pic {
        position: relative; }
        #message > .container > .profile > .pic > span {
          position: absolute;
          display: block; }
          #message > .container > .profile > .pic > span:nth-child(1) {
            top: -58px;
            left: 28px; }
          #message > .container > .profile > .pic > span:nth-child(2) {
            top: 280px;
            left: 177px; }
      #message > .container > .profile > .txt {
        width: 550px;
        background-color: #1f4081;
        padding: 42px 58px 51px; }
        #message > .container > .profile > .txt > h4 {
          font-family: a-otf-ud-shin-go-pr6n, sans-serif;
          font-weight: 300;
          font-style: normal;
          -webkit-font-smoothing: antialiased;
          -moz-osx-font-smoothing: grayscale;
          color: #afc0fa;
          border-bottom: 1px solid #afc0fa;
          margin-bottom: 20px;
          text-align: center;
          font-size: 1.1875rem;
          padding-bottom: 4px; }
        #message > .container > .profile > .txt > p {
          font-weight: 300;
          font-size: 1rem;
          line-height: 2.25;
          color: #fff; }
    #message > .container > .deco > span {
      display: block;
      position: absolute;
      pointer-events: none;
      overflow: hidden; }
      #message > .container > .deco > span:nth-child(1) {
        bottom: 64px;
        right: -536px;
        transform: scale(-1, -1);
        border-radius: 0 0 160px 0; }
      #message > .container > .deco > span:nth-child(2) {
        left: -542px;
        bottom: -79px;
        transform: scale(-1, -1);
        border-radius: 160px 0 0 0; }
  @media (min-width: 751px) and (max-width: 1919px) {
    #message > .bgMessager {
      width: 1920px;
      display: flex;
      justify-content: flex-end;
      transform: translateX(-50%);
      left: 50%; } }
  @media (max-width: 750px) {
    #message {
      background: linear-gradient(0deg, #eceef5 75%, #ccd4ef 100%); }
      #message > .container {
        width: 750px;
        padding: 91px 40px 93px; }
        #message > .container > .title {
          position: relative;
          left: 0;
          top: 0;
          text-align: center;
          margin-bottom: 50px; }
        #message > .container > .content {
          display: flex;
          flex-direction: column;
          width: 100%;
          position: relative;
          min-height: auto;
          margin-bottom: 72px; }
          #message > .container > .content > .txt {
            width: 100%;
            margin-left: 0; }
            #message > .container > .content > .txt > p.author {
              text-align: center;
              margin-top: 62px;
              margin-right: 0;
              line-height: 1.631;
              font-weight: 500; }
          #message > .container > .content > .pic {
            position: relative;
            right: 0;
            top: 0;
            margin-top: 51px; }
            #message > .container > .content > .pic > .deco > span {
              display: block;
              position: absolute;
              pointer-events: none;
              overflow: hidden; }
              #message > .container > .content > .pic > .deco > span:nth-child(1) {
                bottom: -201px;
                left: -319px; }
              #message > .container > .content > .pic > .deco > span:nth-child(2) {
                right: -538px;
                top: -121px; }
        #message > .container > .profile {
          display: flex;
          justify-content: center;
          flex-direction: column; }
          #message > .container > .profile > .txt {
            width: 100%;
            padding: 37px 40px 46px; }
            #message > .container > .profile > .txt > h4 {
              border-bottom: 2px solid #afc0fa;
              margin-bottom: 36px;
              padding-bottom: 23px; }
            #message > .container > .profile > .txt > p {
              font-weight: 300;
              font-size: 1rem;
              line-height: 2.25;
              color: #fff; }
        #message > .container > .deco > span {
          display: block;
          position: absolute;
          pointer-events: none;
          overflow: hidden; }
          #message > .container > .deco > span:nth-child(1) {
            bottom: 64px;
            right: -536px;
            transform: scale(-1, -1);
            border-radius: 0 0 160px 0; }
          #message > .container > .deco > span:nth-child(2) {
            left: -542px;
            bottom: -79px;
            transform: scale(-1, -1);
            border-radius: 160px 0 0 0; } }

/* message02
-------------------------------------------------------------------------------------------------------------------- */
#message02 {
  background-color: #1f4081; }
  #message02 > .container {
    width: 1176px;
    margin: 0 auto;
    position: relative;
    z-index: 1;
    padding-top: 103px;
    padding-bottom: 72px; }
    #message02 > .container > .title {
      line-height: 1.5;
      margin-bottom: 112px;
      text-align: center; }
      #message02 > .container > .title > span {
        display: block; }
        #message02 > .container > .title > span.ja {
          font-family: a-otf-ud-shin-go-pr6n, sans-serif;
          font-weight: 300;
          font-style: normal;
          -webkit-font-smoothing: antialiased;
          -moz-osx-font-smoothing: grayscale;
          font-size: 3rem;
          color: #fff;
          letter-spacing: 0.08em;
          margin-left: 8px; }
        #message02 > .container > .title > span.en {
          color: #a9c43d;
          font-size: 1.75rem;
          font-family: niveau-grotesk, sans-serif;
          font-weight: 500;
          font-style: normal;
          font-weight: 500;
          letter-spacing: 0.1em;
          margin-top: 3px; }
    #message02 > .container > .list {
      display: flex;
      flex-wrap: wrap;
      justify-content: space-between; }
      #message02 > .container > .list > li {
        margin-bottom: 47px;
        display: flex;
        align-items: flex-end;
        min-height: 385px; }
        @media (min-width: 751px) {
          #message02 > .container > .list > li:nth-child(2) {
            transition-delay: 180ms; }
          #message02 > .container > .list > li:nth-child(3) {
            transition-delay: 270ms; }
          #message02 > .container > .list > li:nth-child(4) {
            transition-delay: 360ms; }
          #message02 > .container > .list > li:nth-child(5) {
            transition-delay: 450ms; }
          #message02 > .container > .list > li:nth-child(6) {
            transition-delay: 540ms; }
          #message02 > .container > .list > li:nth-child(7) {
            transition-delay: 630ms; }
          #message02 > .container > .list > li:nth-child(8) {
            transition-delay: 720ms; } }
        #message02 > .container > .list > li:nth-child(4) {
          margin-left: 87px; }
        #message02 > .container > .list > li:nth-child(5) {
          margin-right: 202px; }
    #message02 > .container > .deco > span {
      position: absolute;
      display: block;
      pointer-events: none; }
      #message02 > .container > .deco > span:nth-child(1) {
        left: -477px;
        top: 92px; }
      #message02 > .container > .deco > span:nth-child(2) {
        right: -474px;
        top: 92px; }
  @media (min-width: 751px) and (max-width: 1175px) {
    #message02 > .container {
      width: 100%; }
      #message02 > .container > .list > li {
        width: 31.20748299319728%; }
        #message02 > .container > .list > li img {
          width: 100%; }
        #message02 > .container > .list > li:nth-child(4) {
          margin-left: 7.40425531914894%;
          width: 41.02127659574468%; }
        #message02 > .container > .list > li:nth-child(5) {
          margin-right: 17.19148936170213%; } }
  @media (max-width: 750px) {
    #message02 > .container {
      width: 750px;
      padding: 73px 40px 91px; }
      #message02 > .container > .title {
        margin-bottom: 63px; }
        #message02 > .container > .title > span {
          display: block; }
          #message02 > .container > .title > span.ja {
            font-size: 1.8125rem;
            margin-left: 12px;
            line-height: 1.3793; }
          #message02 > .container > .title > span.en {
            font-size: 1.4375rem;
            margin-top: 6px; }
      #message02 > .container > .list {
        justify-content: flex-start;
        flex-direction: column;
        padding: 0 40px; }
        #message02 > .container > .list > li {
          margin-bottom: 89px;
          display: flex;
          align-items: flex-start;
          min-height: auto; }
          #message02 > .container > .list > li:nth-child(4) {
            margin-left: 0;
            width: a; }
          #message02 > .container > .list > li:nth-child(5) {
            margin-right: 0; }
          #message02 > .container > .list > li:last-child {
            margin-bottom: 0; }
      #message02 > .container > .deco > span:nth-child(1) {
        left: -172px;
        top: 67px; }
      #message02 > .container > .deco > span:nth-child(2) {
        right: -175px;
        top: 68px; } }

/* thoughts
-------------------------------------------------------------------------------------------------------------------- */
#thoughts {
  margin-top: 119px; }
  #thoughts > .container {
    width: 1320px;
    padding: 0 40px 112px;
    margin: 0 auto;
    position: relative;
    z-index: 1; }
    #thoughts > .container > .title {
      position: absolute;
      width: 278px;
      top: 0;
      left: 60px; }
    #thoughts > .container > .list {
      display: flex;
      flex-wrap: wrap;
      justify-content: space-between;
      list-style: none;
      position: relative;
      z-index: 1; }
      #thoughts > .container > .list > li {
        position: relative;
        margin-bottom: 122px; }
        @media (min-width: 751px) {
          #thoughts > .container > .list > li:nth-child(2) > .pic {
            -webkit-animation-delay: 350ms;
                    animation-delay: 350ms; }
          #thoughts > .container > .list > li:nth-child(2) > .txt {
            transition-delay: 350ms; }
          #thoughts > .container > .list > li:nth-child(3) > .pic {
            -webkit-animation-delay: 450ms;
                    animation-delay: 450ms; }
          #thoughts > .container > .list > li:nth-child(3) > .txt {
            transition-delay: 450ms; }
          #thoughts > .container > .list > li:nth-child(4) > .pic {
            -webkit-animation-delay: 550ms;
                    animation-delay: 550ms; }
          #thoughts > .container > .list > li:nth-child(4) > .txt {
            transition-delay: 550ms; }
          #thoughts > .container > .list > li:nth-child(5) > .pic {
            -webkit-animation-delay: 650ms;
                    animation-delay: 650ms; }
          #thoughts > .container > .list > li:nth-child(5) > .txt {
            transition-delay: 650ms; } }
        #thoughts > .container > .list > li > .pic {
          position: relative;
          margin-bottom: 40px; }
          #thoughts > .container > .list > li > .pic > .text {
            position: absolute;
            left: 0;
            bottom: 0;
            display: inline-flex;
            align-items: center;
            z-index: 1;
            padding-right: 54px; }
            #thoughts > .container > .list > li > .pic > .text::before {
              position: absolute;
              content: '';
              height: 68px;
              width: 100%;
              background-color: #eceef5;
              z-index: -1;
              left: 0;
              bottom: 0; }
            #thoughts > .container > .list > li > .pic > .text > .numb {
              font-family: niveau-grotesk, sans-serif;
              font-weight: 500;
              font-style: normal;
              line-height: 1;
              font-weight: 500;
              font-size: 7.5rem;
              color: #a9c43d;
              letter-spacing: 0.1em;
              margin-bottom: -17px;
              margin-left: -12px; }
            #thoughts > .container > .list > li > .pic > .text > .titEn {
              color: #a9c43d;
              font-size: 1.125rem;
              margin-top: 33px;
              margin-left: 23px;
              font-family: niveau-grotesk, sans-serif;
              font-weight: 500;
              font-style: normal; }
        #thoughts > .container > .list > li > .txt {
          position: relative; }
          #thoughts > .container > .list > li > .txt > .titJa {
            font-family: a-otf-ud-shin-go-pr6n, sans-serif;
            font-weight: 300;
            font-style: normal;
            -webkit-font-smoothing: antialiased;
            -moz-osx-font-smoothing: grayscale;
            font-size: 1.875rem;
            color: #000;
            line-height: 1.5;
            letter-spacing: 0.08em;
            margin-bottom: 25px; }
          #thoughts > .container > .list > li > .txt > p {
            font-size: 1rem;
            font-weight: 300;
            line-height: 1.9375; }
          #thoughts > .container > .list > li > .txt > .wrapBtn {
            margin-top: 49px; }
            #thoughts > .container > .list > li > .txt > .wrapBtn > a {
              display: flex;
              justify-content: center;
              align-items: center;
              position: relative;
              z-index: 5;
              text-decoration: none;
              color: #fff;
              width: 421px;
              height: 60px;
              padding-right: 27px;
              margin: 0 auto;
              font-family: a-otf-ud-shin-go-pr6n, sans-serif;
              font-weight: 300;
              font-style: normal;
              -webkit-font-smoothing: antialiased;
              -moz-osx-font-smoothing: grayscale;
              font-size: 1.25rem;
              letter-spacing: 0.08em; }
              #thoughts > .container > .list > li > .txt > .wrapBtn > a > .ico {
                position: absolute;
                right: 38px;
                top: 23px;
                background-image: url("/asset/icoArrow_thought.png");
                width: 9px;
                height: 14px;
                background-size: cover;
                background-repeat: no-repeat; }
                @media (max-width: 750px) {
                  #thoughts > .container > .list > li > .txt > .wrapBtn > a > .ico {
                    background-image: url("/asset/icoArrow_thought_sp.png"); } }
                @media (min-width: 751px) and (-webkit-min-device-pixel-ratio: 2), (min-width: 751px) and (min-resolution: 2dppx) {
                  #thoughts > .container > .list > li > .txt > .wrapBtn > a > .ico {
                    background-image: url("/asset/icoArrow_thought@2x.png"); } }
              #thoughts > .container > .list > li > .txt > .wrapBtn > a::before {
                content: '';
                position: absolute;
                left: 0;
                bottom: 0;
                width: 100%;
                height: 100%;
                background-color: #a9c43d;
                z-index: -2; }
              #thoughts > .container > .list > li > .txt > .wrapBtn > a::after {
                content: '';
                position: absolute;
                right: 0;
                width: 0;
                height: 100%;
                bottom: 0;
                background-color: #3d59a4;
                z-index: -1;
                transition: width 0.3s ease-in-out; }
              #thoughts > .container > .list > li > .txt > .wrapBtn > a:hover::after {
                right: auto;
                left: 0;
                width: 100%; }
        #thoughts > .container > .list > li:nth-child(1) {
          width: 750px;
          margin-left: auto;
          margin-right: 69px; }
          #thoughts > .container > .list > li:nth-child(1) > .txt > .detail {
            display: block;
            width: 200px;
            float: right;
            height: 360px;
            position: relative; }
            #thoughts > .container > .list > li:nth-child(1) > .txt > .detail > span {
              position: absolute;
              display: block; }
              #thoughts > .container > .list > li:nth-child(1) > .txt > .detail > span:nth-child(1) {
                top: 4px;
                right: 16px; }
              #thoughts > .container > .list > li:nth-child(1) > .txt > .detail > span:nth-child(2) {
                top: 166px;
                right: -55px; }
        #thoughts > .container > .list > li:nth-child(2) {
          width: 650px;
          margin-left: -5px;
          margin-bottom: 83px; }
          #thoughts > .container > .list > li:nth-child(2) > .pic > .text {
            padding-right: 50px; }
          #thoughts > .container > .list > li:nth-child(2) > .txt > .detail {
            display: block;
            width: 225px;
            float: right;
            height: 280px;
            position: relative; }
            #thoughts > .container > .list > li:nth-child(2) > .txt > .detail > span {
              position: absolute;
              display: block;
              top: 10px;
              right: 2px; }
        #thoughts > .container > .list > li:nth-child(3) {
          width: 450px;
          margin-right: -13px;
          margin-bottom: 83px; }
          #thoughts > .container > .list > li:nth-child(3) > .pic > .text {
            padding-right: 43px; }
            #thoughts > .container > .list > li:nth-child(3) > .pic > .text > .numb {
              margin-left: -6px; }
          #thoughts > .container > .list > li:nth-child(3) > .txt > .wrapBtn {
            margin-top: 42px; }
            #thoughts > .container > .list > li:nth-child(3) > .txt > .wrapBtn > a {
              width: 285px;
              padding-right: 14px; }
              #thoughts > .container > .list > li:nth-child(3) > .txt > .wrapBtn > a > .ico {
                right: 38px;
                top: 23px; }
        #thoughts > .container > .list > li:nth-child(4), #thoughts > .container > .list > li:nth-child(5) {
          width: 550px;
          margin-bottom: 102px; }
        #thoughts > .container > .list > li:nth-child(4) > .pic > .text {
          padding-right: 46px; }
          #thoughts > .container > .list > li:nth-child(4) > .pic > .text > .titEn {
            margin-left: 14px; }
        #thoughts > .container > .list > li:nth-child(5) > .pic > .text {
          padding-right: 46px; }
        #thoughts > .container > .list > li:nth-child(6) {
          width: 750px;
          margin-right: auto;
          margin-left: auto;
          margin-bottom: 0; }
          #thoughts > .container > .list > li:nth-child(6) > .pic > .text {
            padding-right: 49px; }
            #thoughts > .container > .list > li:nth-child(6) > .pic > .text > .titEn {
              margin-left: 16px; }
            #thoughts > .container > .list > li:nth-child(6) > .pic > .text > .numb {
              margin-left: -13px; }
          #thoughts > .container > .list > li:nth-child(6) > .txt > .wrapBtn {
            margin-top: 42px; }
            #thoughts > .container > .list > li:nth-child(6) > .txt > .wrapBtn > a {
              width: 285px;
              padding-right: 14px; }
              #thoughts > .container > .list > li:nth-child(6) > .txt > .wrapBtn > a > .ico {
                right: 38px;
                top: 23px; }
              #thoughts > .container > .list > li:nth-child(6) > .txt > .wrapBtn > a::before {
                background-color: #3d59a4; }
              #thoughts > .container > .list > li:nth-child(6) > .txt > .wrapBtn > a::after {
                background-color: #a9c43d; }
    #thoughts > .container > .deco {
      position: absolute;
      top: 0;
      left: 50%;
      transform: translateX(-50%);
      width: 1100px;
      height: 100%;
      pointer-events: none; }
      #thoughts > .container > .deco > span {
        display: block;
        position: absolute; }
        #thoughts > .container > .deco > span:nth-child(1) {
          top: 73px;
          left: -343px;
          transform: scale(-1, -1);
          overflow: hidden;
          border-radius: 160px 0 0 0; }
        #thoughts > .container > .deco > span:nth-child(2) {
          top: 322px;
          left: -530px; }
        #thoughts > .container > .deco > span:nth-child(3) {
          top: 524px;
          right: -536px;
          transform: scale(-1, -1);
          overflow: hidden;
          border-radius: 0 0 160px 0; }
        #thoughts > .container > .deco > span:nth-child(4) {
          top: 408px;
          right: -469px; }
        #thoughts > .container > .deco > span:nth-child(5) {
          top: 1168px;
          left: -530px; }
        #thoughts > .container > .deco > span:nth-child(6) {
          top: 1330px;
          right: -469px; }
        #thoughts > .container > .deco > span:nth-child(7) {
          top: 1234px;
          left: -658px;
          overflow: hidden;
          border-radius: 0 0 160px 0; }
        #thoughts > .container > .deco > span:nth-child(8) {
          top: 1893px;
          right: -656px;
          overflow: hidden;
          border-radius: 160px 0 0 0; }
        #thoughts > .container > .deco > span:nth-child(9) {
          bottom: 1473px;
          left: -528px; }
        #thoughts > .container > .deco > span:nth-child(10) {
          bottom: 1566px;
          right: -471px; }
        #thoughts > .container > .deco > span:nth-child(11) {
          bottom: 715px;
          left: -530px; }
        #thoughts > .container > .deco > span:nth-child(12) {
          right: -469px;
          bottom: 552px; }
        #thoughts > .container > .deco > span:nth-child(13) {
          bottom: 392px;
          left: -543px;
          transform: scale(-1, -1);
          overflow: hidden;
          border-radius: 160px 0 0 0; }
        #thoughts > .container > .deco > span:nth-child(14) {
          bottom: 156px;
          right: -535px;
          transform: scale(-1, -1);
          overflow: hidden;
          border-radius: 0 0 160px 0; }
  @media (min-width: 751px) and (max-width: 1319px) {
    #thoughts > .container {
      width: 100%; }
      #thoughts > .container > .title {
        width: 22.41935483870968%;
        left: 4.5489006823351%; }
        #thoughts > .container > .title img {
          width: 100%; }
      #thoughts > .container > .list > li > .txt > .titJa {
        font-size: 2.27445034116755vw; }
      #thoughts > .container > .list > li:nth-child(1) {
        width: 60.48387096774194%;
        margin-right: 5.56451612903226%; }
        #thoughts > .container > .list > li:nth-child(1) > .pic img {
          width: 100%; }
        #thoughts > .container > .list > li:nth-child(1) > .txt > .detail {
          display: block;
          width: 200px;
          float: right;
          height: 360px;
          position: relative; }
          #thoughts > .container > .list > li:nth-child(1) > .txt > .detail > span {
            position: absolute;
            display: block; }
            #thoughts > .container > .list > li:nth-child(1) > .txt > .detail > span:nth-child(1) {
              top: 4px;
              right: 16px; }
            #thoughts > .container > .list > li:nth-child(1) > .txt > .detail > span:nth-child(2) {
              top: 166px;
              right: -55px; }
      #thoughts > .container > .list > li:nth-child(2) {
        width: 52.41935483870968%; }
        #thoughts > .container > .list > li:nth-child(2) > .txt > .detail {
          width: 33.615%;
          height: 20.228vw; }
          #thoughts > .container > .list > li:nth-child(2) > .txt > .detail > span {
            width: 77.33333333333333%; }
          #thoughts > .container > .list > li:nth-child(2) > .txt > .detail img {
            width: 100%; }
        #thoughts > .container > .list > li:nth-child(2) > .pic img {
          width: 100%; }
      #thoughts > .container > .list > li:nth-child(3) {
        width: 36.29032258064516%; }
        #thoughts > .container > .list > li:nth-child(3) > .pic img {
          width: 100%; }
      #thoughts > .container > .list > li:nth-child(4), #thoughts > .container > .list > li:nth-child(5) {
        width: 44.35483870967742%; }
        #thoughts > .container > .list > li:nth-child(4) > .pic img, #thoughts > .container > .list > li:nth-child(5) > .pic img {
          width: 100%; }
      #thoughts > .container > .list > li:nth-child(6) {
        width: 60.48387096774194%; }
        #thoughts > .container > .list > li:nth-child(6) > .pic img {
          width: 100%; } }
  @media (max-width: 750px) {
    #thoughts {
      margin-top: 89px; }
      #thoughts > .container {
        width: 750px;
        padding: 0 40px 94px; }
        #thoughts > .container > .title {
          position: relative;
          width: auto;
          top: 0;
          left: 0;
          margin-bottom: 68px; }
        #thoughts > .container > .list {
          display: flex;
          flex-wrap: wrap;
          justify-content: flex-start;
          list-style: none;
          position: relative;
          z-index: 1;
          flex-direction: column; }
          #thoughts > .container > .list > li {
            position: relative;
            margin-bottom: 36px;
            padding-top: 0; }
            #thoughts > .container > .list > li > .pic {
              position: relative;
              margin-bottom: 40px; }
              #thoughts > .container > .list > li > .pic > .text {
                padding-right: 44px; }
                #thoughts > .container > .list > li > .pic > .text::before {
                  height: 90px;
                  bottom: -1px; }
                #thoughts > .container > .list > li > .pic > .text > .numb {
                  font-size: 4.375rem;
                  margin-bottom: -11px;
                  margin-left: -7px; }
                #thoughts > .container > .list > li > .pic > .text > .titEn {
                  font-size: 0.6875rem;
                  margin-top: 41px;
                  margin-left: 23px; }
            #thoughts > .container > .list > li > .txt {
              position: relative; }
              #thoughts > .container > .list > li > .txt > .titJa {
                font-size: 1.5625rem;
                line-height: 1.6;
                margin-bottom: 25px;
                text-align: center; }
              #thoughts > .container > .list > li > .txt > p {
                font-size: 1rem;
                font-weight: 300;
                line-height: 1.9375; }
            #thoughts > .container > .list > li:nth-child(1) {
              width: 100%;
              margin-left: 0;
              margin-right: 0; }
              #thoughts > .container > .list > li:nth-child(1) > .txt {
                display: flex;
                flex-direction: column; }
                #thoughts > .container > .list > li:nth-child(1) > .txt > .titJa {
                  order: 1; }
                #thoughts > .container > .list > li:nth-child(1) > .txt > p {
                  order: 2; }
                #thoughts > .container > .list > li:nth-child(1) > .txt > .detail {
                  display: flex;
                  width: auto;
                  float: none;
                  height: auto;
                  position: relative;
                  justify-content: space-between;
                  padding: 53px 18px;
                  order: 3; }
                  #thoughts > .container > .list > li:nth-child(1) > .txt > .detail > span {
                    position: relative;
                    display: block; }
                    #thoughts > .container > .list > li:nth-child(1) > .txt > .detail > span:nth-child(1) {
                      top: 0;
                      right: 0; }
                    #thoughts > .container > .list > li:nth-child(1) > .txt > .detail > span:nth-child(2) {
                      top: 0;
                      right: 0; }
            #thoughts > .container > .list > li:nth-child(2) {
              width: 100%;
              margin-left: 0;
              margin-bottom: 83px; }
              #thoughts > .container > .list > li:nth-child(2) > .pic > .text {
                padding-right: 40px; }
                #thoughts > .container > .list > li:nth-child(2) > .pic > .text > .titEn {
                  margin-left: 14px; }
              #thoughts > .container > .list > li:nth-child(2) > .txt > .detail {
                display: block;
                width: auto;
                float: none;
                height: auto;
                position: relative;
                margin-top: -15px;
                margin-bottom: 32px;
                text-align: center; }
                #thoughts > .container > .list > li:nth-child(2) > .txt > .detail > span {
                  position: relative;
                  display: block;
                  top: 0;
                  right: 0; }
            #thoughts > .container > .list > li:nth-child(3) {
              width: 100%;
              margin-right: 0;
              margin-bottom: 88px; }
              #thoughts > .container > .list > li:nth-child(3) > .pic > .text {
                padding-right: 38px; }
                #thoughts > .container > .list > li:nth-child(3) > .pic > .text > .numb {
                  margin-left: -6px; }
                #thoughts > .container > .list > li:nth-child(3) > .pic > .text > .titEn {
                  margin-top: 38px;
                  margin-left: 16px; }
              #thoughts > .container > .list > li:nth-child(3) > .txt > .wrapBtn {
                margin-top: 47px; }
                #thoughts > .container > .list > li:nth-child(3) > .txt > .wrapBtn > a {
                  width: 572px;
                  height: 120px;
                  padding-right: 30px; }
                  #thoughts > .container > .list > li:nth-child(3) > .txt > .wrapBtn > a > .ico {
                    right: 74px;
                    top: 47px;
                    width: 16px;
                    height: 27px; }
                  #thoughts > .container > .list > li:nth-child(3) > .txt > .wrapBtn > a::before {
                    background-color: #3d59a4; }
                  #thoughts > .container > .list > li:nth-child(3) > .txt > .wrapBtn > a::after {
                    background-color: #a9c43d; }
            #thoughts > .container > .list > li:nth-child(4), #thoughts > .container > .list > li:nth-child(5) {
              width: 100%;
              margin-bottom: 83px; }
            #thoughts > .container > .list > li:nth-child(4) > .pic > .text {
              padding-right: 33px; }
              #thoughts > .container > .list > li:nth-child(4) > .pic > .text > .titEn {
                margin-left: 17px; }
            #thoughts > .container > .list > li:nth-child(5) > .pic > .text {
              padding-right: 46px; }
              #thoughts > .container > .list > li:nth-child(5) > .pic > .text > .titEn {
                margin-top: 41px;
                margin-left: 18px; }
            #thoughts > .container > .list > li:nth-child(6) {
              width: 100%;
              margin-right: 0;
              margin-left: 0;
              margin-bottom: 0; }
              #thoughts > .container > .list > li:nth-child(6) > .pic > .text {
                padding-right: 39px; }
                #thoughts > .container > .list > li:nth-child(6) > .pic > .text > .titEn {
                  margin-left: 18px; }
                #thoughts > .container > .list > li:nth-child(6) > .pic > .text > .numb {
                  margin-left: -9px; }
              #thoughts > .container > .list > li:nth-child(6) > .txt > .titJa {
                letter-spacing: 0.03em; }
              #thoughts > .container > .list > li:nth-child(6) > .txt p {
                letter-spacing: 0.01em; }
              #thoughts > .container > .list > li:nth-child(6) > .txt > .wrapBtn {
                margin-top: 42px; }
                #thoughts > .container > .list > li:nth-child(6) > .txt > .wrapBtn > a {
                  width: 285px;
                  padding-right: 14px; }
                  #thoughts > .container > .list > li:nth-child(6) > .txt > .wrapBtn > a > .ico {
                    right: 38px;
                    top: 23px; }
                  #thoughts > .container > .list > li:nth-child(6) > .txt > .wrapBtn > a::before {
                    background-color: #3d59a4; }
                  #thoughts > .container > .list > li:nth-child(6) > .txt > .wrapBtn > a::after {
                    background-color: #a9c43d; }
        #thoughts > .container > .deco {
          width: 100%;
          height: 100%; }
          #thoughts > .container > .deco > span:nth-child(2) {
            top: -48px;
            right: -222px;
            left: auto; } }

/* staff
-------------------------------------------------------------------------------------------------------------------- */
#staff {
  background-color: #1f4081;
  background-image: url("/asset/bg_staff.jpg");
  background-repeat: repeat;
  background-size: cover;
  overflow: hidden; }
  @media (max-width: 750px) {
    #staff {
      background-image: url("/asset/bg_staff_sp.jpg"); } }
  @media (min-width: 751px) and (-webkit-min-device-pixel-ratio: 2), (min-width: 751px) and (min-resolution: 2dppx) {
    #staff {
      background-image: url("/asset/bg_staff@2x.jpg"); } }
  #staff > .container {
    width: 1254px;
    margin: 0 auto;
    position: relative;
    z-index: 1;
    padding-top: 105px;
    padding-bottom: 112px; }
    #staff > .container > .title {
      line-height: 1.5;
      text-align: center;
      margin-bottom: 111px; }
      #staff > .container > .title > .ja {
        font-size: 3rem;
        font-family: a-otf-ud-shin-go-pr6n, sans-serif;
        font-weight: 300;
        font-style: normal;
        -webkit-font-smoothing: antialiased;
        -moz-osx-font-smoothing: grayscale;
        color: #fff;
        letter-spacing: 0.08em;
        display: block;
        margin-left: 9px; }
      #staff > .container > .title > .en {
        color: #a9c43d;
        font-family: niveau-grotesk, sans-serif;
        font-weight: 500;
        font-style: normal;
        font-size: 1.75rem;
        letter-spacing: 0.1em;
        display: block;
        margin-top: 3px; }
    #staff > .container > .content > .box {
      position: relative; }
      #staff > .container > .content > .box.reverse > .pic > span:nth-child(1) {
        top: 0;
        right: -333px;
        left: auto; }
      #staff > .container > .content > .box.reverse > .pic > span:nth-child(2) {
        bottom: 88px;
        right: auto;
        left: 18px; }
      #staff > .container > .content > .box.reverse > .tit {
        display: flex;
        align-items: center;
        width: 100%;
        margin-left: 78px;
        margin-bottom: 37px;
        padding-top: 80px; }
        #staff > .container > .content > .box.reverse > .tit > .txt01 {
          padding: 12px 46px 12px 40px; }
        #staff > .container > .content > .box.reverse > .tit > .en {
          line-height: 1;
          left: auto;
          right: -196px;
          top: 80px; }
      #staff > .container > .content > .box.reverse > .list > li {
        margin-bottom: 68px; }
        #staff > .container > .content > .box.reverse > .list > li .answer {
          padding-right: 203px;
          padding-bottom: 0; }
        #staff > .container > .content > .box.reverse > .list > li:nth-child(1) {
          width: 890px;
          margin-left: -8px; }
          #staff > .container > .content > .box.reverse > .list > li:nth-child(1) > .question::before {
            top: 34%;
            left: 15px; }
        #staff > .container > .content > .box.reverse > .list > li:nth-child(2) {
          width: 890px;
          margin-left: -8px;
          margin-bottom: 59px; }
          #staff > .container > .content > .box.reverse > .list > li:nth-child(2) > .question {
            margin-bottom: 23px; }
            #staff > .container > .content > .box.reverse > .list > li:nth-child(2) > .question::before {
              top: 33%; }
        #staff > .container > .content > .box.reverse > .list > li:nth-child(3) {
          width: 890px;
          margin-left: -8px;
          margin-bottom: 128px; }
          #staff > .container > .content > .box.reverse > .list > li:nth-child(3) > .question {
            margin-bottom: 23px; }
            #staff > .container > .content > .box.reverse > .list > li:nth-child(3) > .question::before {
              top: 47%; }
        #staff > .container > .content > .box.reverse > .list > li:nth-child(4), #staff > .container > .content > .box.reverse > .list > li:nth-child(5) {
          width: 765px;
          margin-left: auto;
          margin-bottom: 62px; }
          #staff > .container > .content > .box.reverse > .list > li:nth-child(4) > .question::before, #staff > .container > .content > .box.reverse > .list > li:nth-child(5) > .question::before {
            top: 44%;
            left: 15px; }
          #staff > .container > .content > .box.reverse > .list > li:nth-child(4) .answer, #staff > .container > .content > .box.reverse > .list > li:nth-child(5) .answer {
            padding-right: 80px;
            padding-bottom: 0; }
        #staff > .container > .content > .box.reverse > .list > li:nth-child(5) {
          margin-bottom: 0; }
      #staff > .container > .content > .box > .tit {
        display: flex;
        align-items: center;
        width: 673px;
        margin-left: auto;
        margin-bottom: 37px; }
        #staff > .container > .content > .box > .tit > .txt01 {
          display: inline-flex;
          background-color: #a9c43d;
          color: #1f4081;
          font-family: a-otf-ud-shin-go-pr6n, sans-serif;
          font-weight: 300;
          font-style: normal;
          -webkit-font-smoothing: antialiased;
          -moz-osx-font-smoothing: grayscale;
          font-size: 1.125rem;
          padding: 12px 38px;
          letter-spacing: 0.08em; }
        #staff > .container > .content > .box > .tit > .txt02 {
          color: #a9c43d;
          font-size: 1.875rem;
          font-family: a-otf-ud-shin-go-pr6n, sans-serif;
          font-weight: 300;
          font-style: normal;
          -webkit-font-smoothing: antialiased;
          -moz-osx-font-smoothing: grayscale;
          margin-left: 27px;
          letter-spacing: 0.08em; }
        #staff > .container > .content > .box > .tit > .en {
          position: absolute;
          top: 2px;
          left: -251px;
          opacity: 0.3;
          font-family: niveau-grotesk, sans-serif;
          font-weight: 500;
          font-style: normal;
          font-weight: 500;
          color: #fff;
          font-size: 7.75rem;
          -ms-writing-mode: tb-rl;
          writing-mode: vertical-rl;
          letter-spacing: 0.1em; }
          #staff > .container > .content > .box > .tit > .en .combine {
            -webkit-text-combine: horizontal;
            -moz-text-combine-upright: all;
            -ms-text-combine-horizontal: all;
            text-combine-upright: all; }
      #staff > .container > .content > .box > .list > li {
        margin-bottom: 70px; }
        #staff > .container > .content > .box > .list > li > .question {
          font-size: 1.625rem;
          padding: 0 40px 0 85px;
          position: relative;
          font-family: a-otf-ud-shin-go-pr6n, sans-serif;
          font-weight: 300;
          font-style: normal;
          -webkit-font-smoothing: antialiased;
          -moz-osx-font-smoothing: grayscale;
          letter-spacing: 0.12em;
          color: #fff;
          line-height: 1.481;
          margin-bottom: 24px; }
          #staff > .container > .content > .box > .list > li > .question::before {
            content: 'Q';
            font-family: niveau-grotesk, sans-serif;
            font-weight: 500;
            font-style: normal;
            font-weight: 500;
            font-size: 3.375rem;
            line-height: 1.5;
            color: #00b8fb;
            position: absolute;
            top: 43%;
            left: 15px;
            transform: translateY(-50%); }
        #staff > .container > .content > .box > .list > li > .answer {
          position: relative;
          padding: 0px 75px 40px 85px; }
          #staff > .container > .content > .box > .list > li > .answer::before {
            content: 'A';
            font-family: niveau-grotesk, sans-serif;
            font-weight: 500;
            font-style: normal;
            font-weight: 500;
            font-size: 3.375rem;
            color: #a9c43d;
            position: absolute;
            top: -12px;
            left: 19px;
            line-height: 1.5; }
          #staff > .container > .content > .box > .list > li > .answer p {
            font-weight: 300;
            font-size: 1rem;
            color: #fff;
            line-height: 1.9375; }
        #staff > .container > .content > .box > .list > li:nth-child(1) {
          width: 760px;
          margin-left: auto; }
          #staff > .container > .content > .box > .list > li:nth-child(1) > .question::before {
            top: 34%;
            left: 15px; }
        #staff > .container > .content > .box > .list > li:nth-child(2) {
          width: 911px;
          margin-left: -9px;
          margin-bottom: 75px; }
          #staff > .container > .content > .box > .list > li:nth-child(2) > .question {
            margin-bottom: 12px; }
            #staff > .container > .content > .box > .list > li:nth-child(2) > .question::before {
              top: 43%; }
      #staff > .container > .content > .box > .pic > span {
        position: absolute;
        display: block;
        pointer-events: none;
        z-index: -1; }
        #staff > .container > .content > .box > .pic > span:nth-child(1) {
          top: -334px;
          left: -333px; }
        #staff > .container > .content > .box > .pic > span:nth-child(2) {
          bottom: 60px;
          right: -60px; }
    #staff > .container > .deco > span {
      position: absolute;
      display: block;
      pointer-events: none; }
      #staff > .container > .deco > span:nth-child(1) {
        left: -332px;
        top: 148px; }
      #staff > .container > .deco > span:nth-child(2) {
        right: -299px;
        top: 149px; }
  @media (min-width: 1921px) {
    #staff > .container > .content > .box.reverse > .pic > span:nth-child(1) {
      right: 0; }
    #staff > .container > .content > .box.reverse > .pic > span:nth-child(2) {
      bottom: 60px;
      right: auto;
      width: 1100px;
      left: 50%;
      transform: translateX(-50%); }
      #staff > .container > .content > .box.reverse > .pic > span:nth-child(2) img {
        position: absolute;
        display: block;
        bottom: 30px;
        right: auto;
        left: -62px; }
    #staff > .container > .content > .box > .pic {
      width: 100vw;
      height: 100%;
      margin: 0 auto;
      transform: translateX(-50%);
      position: absolute;
      top: 0;
      left: 50%;
      z-index: -1; }
      #staff > .container > .content > .box > .pic > span:nth-child(1) {
        left: 0; }
      #staff > .container > .content > .box > .pic > span:nth-child(2) {
        bottom: 60px;
        right: auto;
        width: 1100px;
        left: 50%;
        transform: translateX(-50%); }
        #staff > .container > .content > .box > .pic > span:nth-child(2) img {
          position: absolute;
          display: block;
          bottom: 0;
          right: -135px; } }
  @media (min-width: 751px) and (max-width: 1253px) {
    #staff > .container {
      width: 100%; }
      #staff > .container > .content > .box.reverse > .list > li .answer {
        padding-right: 22.80898876404494%;
        padding-bottom: 0; }
      #staff > .container > .content > .box.reverse > .list > li:nth-child(1), #staff > .container > .content > .box.reverse > .list > li:nth-child(2), #staff > .container > .content > .box.reverse > .list > li:nth-child(3) {
        width: 71.02952913008779%; }
      #staff > .container > .content > .box.reverse > .list > li:nth-child(4), #staff > .container > .content > .box.reverse > .list > li:nth-child(5) {
        width: 61.00478468899522%; }
        #staff > .container > .content > .box.reverse > .list > li:nth-child(4) .answer, #staff > .container > .content > .box.reverse > .list > li:nth-child(5) .answer {
          padding-right: 6.37958532695375%; }
      #staff > .container > .content > .box > .tit {
        width: 52.668%; }
      #staff > .container > .content > .box > .list > li:nth-child(1) {
        width: 60.60606060606061%; }
      #staff > .container > .content > .box > .list > li:nth-child(2) {
        width: 72.64752791068581%; } }
  @media (max-width: 750px) {
    #staff > .container {
      width: 750px;
      padding: 72px 40px 99px; }
      #staff > .container > .title {
        line-height: 1.5;
        text-align: center;
        margin-bottom: 111px; }
        #staff > .container > .title > .ja {
          font-size: 1.875rem;
          margin-left: 0; }
        #staff > .container > .title > .en {
          font-size: 1.4375rem;
          margin-top: 3px; }
      #staff > .container > .content > .box {
        position: relative;
        padding-top: 589px;
        padding-bottom: 460px; }
        #staff > .container > .content > .box.reverse {
          margin-top: 25px;
          padding-top: 790px;
          padding-bottom: 510px; }
          #staff > .container > .content > .box.reverse > .pic > span:nth-child(1) {
            top: 0;
            right: -40px;
            left: auto; }
          #staff > .container > .content > .box.reverse > .pic > span:nth-child(2) {
            bottom: 0;
            right: auto;
            left: 0; }
          #staff > .container > .content > .box.reverse > .tit {
            display: flex;
            align-items: center;
            width: 100%;
            margin-left: 0;
            margin-bottom: 47px;
            padding-top: 0; }
            #staff > .container > .content > .box.reverse > .tit > .txt01 {
              padding: 19px 59px 16px 63px; }
            #staff > .container > .content > .box.reverse > .tit > .en {
              line-height: 1;
              left: auto;
              right: 11px;
              top: 486px;
              line-height: 0.928; }
          #staff > .container > .content > .box.reverse > .list > li {
            margin-bottom: 59px; }
            #staff > .container > .content > .box.reverse > .list > li .question {
              padding: 0 0 0 82px;
              letter-spacing: 0;
              margin-bottom: 25px; }
              #staff > .container > .content > .box.reverse > .list > li .question > .question::before {
                top: 17%;
                left: 0; }
            #staff > .container > .content > .box.reverse > .list > li .answer {
              padding-right: 0;
              padding-bottom: 0; }
              #staff > .container > .content > .box.reverse > .list > li .answer p {
                font-size: 0.9375rem;
                line-height: 1.933; }
            #staff > .container > .content > .box.reverse > .list > li:nth-child(1) {
              width: 100%;
              margin-left: 0; }
              #staff > .container > .content > .box.reverse > .list > li:nth-child(1) > .question::before {
                top: 17%;
                left: 0; }
            #staff > .container > .content > .box.reverse > .list > li:nth-child(2) {
              width: 100%;
              margin-left: 0;
              margin-bottom: 43px; }
              #staff > .container > .content > .box.reverse > .list > li:nth-child(2) > .question {
                margin-bottom: 25px;
                margin-right: -13px; }
                #staff > .container > .content > .box.reverse > .list > li:nth-child(2) > .question::before {
                  top: 16%; }
              #staff > .container > .content > .box.reverse > .list > li:nth-child(2) > .answer p {
                font-size: 1rem;
                line-height: 1.9375; }
            #staff > .container > .content > .box.reverse > .list > li:nth-child(3) {
              width: 100%;
              margin-left: 0;
              margin-bottom: 44px; }
              #staff > .container > .content > .box.reverse > .list > li:nth-child(3) > .question {
                margin-bottom: 34px; }
                #staff > .container > .content > .box.reverse > .list > li:nth-child(3) > .question::before {
                  top: 47%; }
              #staff > .container > .content > .box.reverse > .list > li:nth-child(3) > .answer p {
                font-size: 1rem;
                line-height: 1.9375; }
            #staff > .container > .content > .box.reverse > .list > li:nth-child(4), #staff > .container > .content > .box.reverse > .list > li:nth-child(5) {
              width: 100%;
              margin-left: 0;
              margin-bottom: 42px; }
              #staff > .container > .content > .box.reverse > .list > li:nth-child(4) > .question::before, #staff > .container > .content > .box.reverse > .list > li:nth-child(5) > .question::before {
                top: -27px;
                left: -2px;
                transform: translate(0); }
              #staff > .container > .content > .box.reverse > .list > li:nth-child(4) .answer, #staff > .container > .content > .box.reverse > .list > li:nth-child(5) .answer {
                padding-right: 0;
                padding-bottom: 0; }
                #staff > .container > .content > .box.reverse > .list > li:nth-child(4) .answer p, #staff > .container > .content > .box.reverse > .list > li:nth-child(5) .answer p {
                  font-size: 1rem;
                  line-height: 1.9375; }
            #staff > .container > .content > .box.reverse > .list > li:nth-child(5) {
              margin-bottom: 0; }
        #staff > .container > .content > .box > .tit {
          display: flex;
          align-items: center;
          width: 100%;
          margin-left: 0;
          margin-bottom: 47px; }
          #staff > .container > .content > .box > .tit > .txt01 {
            font-size: 1rem;
            padding: 18px 52px 18px 61px;
            letter-spacing: 0.08em; }
          #staff > .container > .content > .box > .tit > .txt02 {
            font-size: 1.5rem;
            margin-left: 38px; }
          #staff > .container > .content > .box > .tit > .en {
            top: 337px;
            left: -35px;
            opacity: 0.3;
            font-size: 4.375rem;
            -ms-writing-mode: lr-tb;
            writing-mode: horizontal-tb; }
        #staff > .container > .content > .box > .list > li {
          margin-bottom: 27px; }
          #staff > .container > .content > .box > .list > li > .question {
            font-size: 1.25rem;
            padding: 0 22px 0 85px;
            letter-spacing: 0.08em;
            line-height: 1.65;
            margin-bottom: 20px; }
            #staff > .container > .content > .box > .list > li > .question::before {
              content: 'Q';
              font-size: 2.5rem;
              top: 25%;
              left: 0px; }
          #staff > .container > .content > .box > .list > li > .answer {
            position: relative;
            padding: 0 0 0 85px; }
            #staff > .container > .content > .box > .list > li > .answer::before {
              font-size: 2.5rem;
              top: -31px;
              left: 1px; }
          #staff > .container > .content > .box > .list > li:nth-child(1) {
            width: 100%;
            margin-left: auto; }
            #staff > .container > .content > .box > .list > li:nth-child(1) > .question::before {
              top: 25%;
              left: 0px; }
          #staff > .container > .content > .box > .list > li:nth-child(2) {
            width: 100%;
            margin-left: 0;
            margin-bottom: 51px; }
            #staff > .container > .content > .box > .list > li:nth-child(2) > .question {
              margin-bottom: 21px; }
              #staff > .container > .content > .box > .list > li:nth-child(2) > .question::before {
                top: 25%; }
        #staff > .container > .content > .box > .pic > span:nth-child(1) {
          top: -302px;
          left: -40px; }
        #staff > .container > .content > .box > .pic > span:nth-child(2) {
          bottom: 0;
          right: 0; }
      #staff > .container > .deco > span {
        position: absolute;
        display: block;
        pointer-events: none; }
        #staff > .container > .deco > span:nth-child(1) {
          left: -172px;
          top: 178px; }
        #staff > .container > .deco > span:nth-child(2) {
          right: -172px;
          top: 178px; } }

/* career
-------------------------------------------------------------------------------------------------------------------- */
#career > .container {
  width: 1300px;
  margin: 0 auto 7px;
  position: relative;
  z-index: 1;
  padding-top: 105px;
  padding-bottom: 112px; }
  #career > .container > .title {
    line-height: 1.5;
    text-align: center;
    margin-bottom: 99px; }
    #career > .container > .title > .ja {
      font-size: 3rem;
      font-family: a-otf-ud-shin-go-pr6n, sans-serif;
      font-weight: 300;
      font-style: normal;
      -webkit-font-smoothing: antialiased;
      -moz-osx-font-smoothing: grayscale;
      color: #000000;
      letter-spacing: 0.08em;
      display: block;
      margin-left: 9px; }
    #career > .container > .title > .en {
      color: #1f4081;
      font-family: niveau-grotesk, sans-serif;
      font-weight: 500;
      font-style: normal;
      font-size: 1.75rem;
      letter-spacing: 0.1em;
      display: block;
      margin-top: 3px; }
  #career > .container > .listTab {
    display: flex;
    justify-content: center;
    margin-bottom: 100px;
    position: relative;
    z-index: 9; }
    #career > .container > .listTab > .tab a {
      width: 550px;
      height: 100px;
      position: relative;
      display: flex;
      align-items: center;
      justify-content: center;
      color: #878787;
      font-size: 1.75rem;
      font-family: a-otf-ud-shin-go-pr6n, sans-serif;
      font-weight: 300;
      font-style: normal;
      -webkit-font-smoothing: antialiased;
      -moz-osx-font-smoothing: grayscale;
      transition: color 0.4s ease;
      text-decoration: none;
      z-index: 3; }
      #career > .container > .listTab > .tab a::before {
        content: '';
        position: absolute;
        top: 0;
        right: 0;
        width: 0;
        height: 100%;
        background-color: #a9c43d;
        z-index: -1;
        transition: background-color 0.4s ease-in-out, width 0.4s ease-in-out; }
      #career > .container > .listTab > .tab a::after {
        content: '';
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background-color: #dadada;
        z-index: -2; }
    #career > .container > .listTab > .tab:nth-child(1) a:hover {
      color: #fff; }
      #career > .container > .listTab > .tab:nth-child(1) a:hover::before {
        left: 0;
        right: auto;
        width: 100%; }
    #career > .container > .listTab > .tab:nth-child(1).on a {
      color: #fff; }
      #career > .container > .listTab > .tab:nth-child(1).on a::before {
        background-color: #a9c43d;
        width: 100%; }
    #career > .container > .listTab > .tab:nth-child(2) a::before {
      background-color: #00b8fb; }
    #career > .container > .listTab > .tab:nth-child(2) a:hover {
      color: #fff; }
      #career > .container > .listTab > .tab:nth-child(2) a:hover::before {
        left: 0;
        right: auto;
        width: 100%; }
    #career > .container > .listTab > .tab:nth-child(2).on a {
      color: #fff; }
      #career > .container > .listTab > .tab:nth-child(2).on a::before {
        background-color: #00b8fb;
        width: 100%; }
  #career > .container > .careerIn {
    position: relative; }
    #career > .container > .careerIn.scrollEffect {
      -webkit-animation: none !important;
              animation: none !important;
      opacity: 1; }
      #career > .container > .careerIn.scrollEffect.show > .bgCareer {
        width: 84.6%; }
    #career > .container > .careerIn > .bgCareer {
      height: 100%;
      overflow: hidden;
      width: 0;
      position: absolute;
      left: -310px;
      top: 0;
      transition: width 2s ease; }
      #career > .container > .careerIn > .bgCareer::before {
        content: '';
        position: absolute;
        left: 0;
        width: 100%;
        background-image: url("/asset/bg_career01.jpg");
        background-repeat: repeat;
        background-size: contain;
        height: 100%;
        z-index: -1;
        top: 0; }
        @media (max-width: 750px) {
          #career > .container > .careerIn > .bgCareer::before {
            background-image: url("/asset/bg_career01_sp.jpg"); } }
        @media (min-width: 751px) and (-webkit-min-device-pixel-ratio: 2), (min-width: 751px) and (min-resolution: 2dppx) {
          #career > .container > .careerIn > .bgCareer::before {
            background-image: url("/asset/bg_career01@2x.jpg"); } }
      #career > .container > .careerIn > .bgCareer::after {
        content: '';
        position: absolute;
        left: 0;
        top: 0;
        width: 725px;
        height: 1425px;
        background-image: url("/asset/bg_career.jpg");
        background-repeat: no-repeat;
        background-size: cover;
        z-index: -1; }
        @media (max-width: 750px) {
          #career > .container > .careerIn > .bgCareer::after {
            background-image: url("/asset/bg_career_sp.jpg"); } }
        @media (min-width: 751px) and (-webkit-min-device-pixel-ratio: 2), (min-width: 751px) and (min-resolution: 2dppx) {
          #career > .container > .careerIn > .bgCareer::after {
            background-image: url("/asset/bg_career@2x.jpg"); } }
    #career > .container > .careerIn > .contents {
      padding-top: 100px;
      padding-bottom: 99px;
      position: relative;
      z-index: 2;
      display: none;
      transition: opacity 0.3s; }
      #career > .container > .careerIn > .contents[aria-hidden='false'] {
        display: block;
        opacity: 1; }
      #career > .container > .careerIn > .contents.leave, #career > .container > .careerIn > .contents.enter {
        opacity: 0; }
      #career > .container > .careerIn > .contents > .list > li {
        display: flex;
        justify-content: space-between;
        margin-bottom: 70px; }
        #career > .container > .careerIn > .contents > .list > li:nth-child(2) > .content {
          padding: 100px 100px 81px; }
          #career > .container > .careerIn > .contents > .list > li:nth-child(2) > .content > .text > .steps > li:nth-child(1) {
            margin-bottom: 33px; }
        #career > .container > .careerIn > .contents > .list > li:nth-child(3) {
          margin-bottom: 72px; }
          #career > .container > .careerIn > .contents > .list > li:nth-child(3) > .content {
            padding: 100px 100px 59px; }
            #career > .container > .careerIn > .contents > .list > li:nth-child(3) > .content > .text > .steps > li:nth-child(1) {
              margin-bottom: 32px; }
        #career > .container > .careerIn > .contents > .list > li.csBtn > .numb {
          margin-top: 0; }
        #career > .container > .careerIn > .contents > .list > li.csBtn > .content {
          background-color: #a9c43d;
          padding: 0;
          display: flex;
          align-items: center;
          justify-content: center;
          width: 900px;
          height: 200px;
          position: relative;
          text-decoration: none;
          color: #fff;
          font-size: 1.875rem;
          font-family: a-otf-ud-shin-go-pr6n, sans-serif;
          font-weight: 300;
          font-style: normal;
          -webkit-font-smoothing: antialiased;
          -moz-osx-font-smoothing: grayscale; }
          #career > .container > .careerIn > .contents > .list > li.csBtn > .content > .ico {
            position: absolute;
            bottom: 0;
            right: 18.44444444444444%; }
        #career > .container > .careerIn > .contents > .list > li:last-child {
          margin-bottom: 0; }
          #career > .container > .careerIn > .contents > .list > li:last-child > .content::after {
            content: none;
            background: transparent; }
        #career > .container > .careerIn > .contents > .list > li > .numb {
          width: 201px;
          height: 201px;
          display: flex;
          justify-content: center;
          align-items: center;
          color: #a9c43d;
          border: 1px solid #a9c43d;
          margin-top: 100px;
          margin-left: 100px;
          padding-right: 9px; }
          #career > .container > .careerIn > .contents > .list > li > .numb > span {
            line-height: 1; }
            #career > .container > .careerIn > .contents > .list > li > .numb > span:nth-child(1) {
              font-size: 7.5rem;
              font-family: niveau-grotesk, sans-serif;
              font-weight: 500;
              font-style: normal; }
            #career > .container > .careerIn > .contents > .list > li > .numb > span:nth-child(2) {
              font-size: 1.875rem;
              font-family: a-otf-ud-shin-go-pr6n, sans-serif;
              font-weight: 300;
              font-style: normal;
              -webkit-font-smoothing: antialiased;
              -moz-osx-font-smoothing: grayscale;
              margin-left: 14px; }
        #career > .container > .careerIn > .contents > .list > li > .content {
          width: 900px;
          padding: 100px 100px 68px 100px;
          background-color: #fff;
          position: relative; }
          #career > .container > .careerIn > .contents > .list > li > .content::after {
            content: '';
            position: absolute;
            bottom: -23px;
            left: calc(50% - 40px);
            background-image: url("/asset/icoArrow_career.png");
            width: 79px;
            height: 46px;
            background-size: cover;
            background-repeat: no-repeat; }
            @media (max-width: 750px) {
              #career > .container > .careerIn > .contents > .list > li > .content::after {
                background-image: url("/asset/icoArrow_career_sp.png"); } }
            @media (min-width: 751px) and (-webkit-min-device-pixel-ratio: 2), (min-width: 751px) and (min-resolution: 2dppx) {
              #career > .container > .careerIn > .contents > .list > li > .content::after {
                background-image: url("/asset/icoArrow_career@2x.png"); } }
          #career > .container > .careerIn > .contents > .list > li > .content > .pic {
            margin-bottom: 28px; }
          #career > .container > .careerIn > .contents > .list > li > .content > .text > .steps > li {
            display: flex;
            justify-content: flex-start;
            align-items: center;
            margin-bottom: 24px; }
            #career > .container > .careerIn > .contents > .list > li > .content > .text > .steps > li:nth-child(1) > .step {
              margin-top: 9px; }
            #career > .container > .careerIn > .contents > .list > li > .content > .text > .steps > li:nth-child(2) {
              margin-bottom: 31px; }
            #career > .container > .careerIn > .contents > .list > li > .content > .text > .steps > li:nth-child(3) {
              margin-bottom: 27px; }
            #career > .container > .careerIn > .contents > .list > li > .content > .text > .steps > li > .step {
              margin-right: 40px;
              flex: 0 0 auto;
              width: 60px;
              height: 60px;
              display: flex;
              flex-direction: column;
              justify-content: center;
              align-items: center;
              background-color: #a9c43d;
              color: #fff;
              line-height: 1;
              padding-bottom: 1px;
              margin-top: 0 !important; }
              #career > .container > .careerIn > .contents > .list > li > .content > .text > .steps > li > .step > span:nth-child(1) {
                font-size: 0.9375rem;
                font-family: niveau-grotesk, sans-serif;
                font-weight: 500;
                font-style: normal;
                margin-bottom: 1px;
                letter-spacing: 0.2em;
                padding-left: 4px; }
              #career > .container > .careerIn > .contents > .list > li > .content > .text > .steps > li > .step > span:nth-child(2) {
                font-family: niveau-grotesk, sans-serif;
                font-weight: 500;
                font-style: normal;
                font-size: 1.875rem; }
            #career > .container > .careerIn > .contents > .list > li > .content > .text > .steps > li > p {
              display: flex;
              flex-wrap: wrap;
              font-size: 1rem;
              line-height: 1.9375;
              font-weight: 300; }
  #career > .container > .deco > span {
    position: absolute;
    display: block;
    pointer-events: none; }
    #career > .container > .deco > span:nth-child(1) {
      left: -431px;
      top: 442px;
      z-index: -2; }
    #career > .container > .deco > span:nth-child(2) {
      right: -369px;
      top: 528px; }
    #career > .container > .deco > span:nth-child(3) {
      left: -244px;
      top: 151px;
      transform: scale(-1, -1); }
    #career > .container > .deco > span:nth-child(4) {
      right: -435px;
      top: 602px;
      transform: scale(-1, -1); }
    #career > .container > .deco > span:nth-child(5) {
      right: -370px;
      top: 1449px; }
    #career > .container > .deco > span:nth-child(6) {
      left: -558px;
      top: 1378px; }
    #career > .container > .deco > span:nth-child(7) {
      right: -555px;
      top: 2037px; }
    #career > .container > .deco > span:nth-child(8) {
      right: -368px;
      bottom: 1664px; }
    #career > .container > .deco > span:nth-child(9) {
      left: -446px;
      bottom: 542px;
      transform: scale(-1, -1); }
    #career > .container > .deco > span:nth-child(10) {
      right: -434px;
      bottom: 304px;
      transform: scale(-1, -1); }
    #career > .container > .deco > span:nth-child(11) {
      right: -368px;
      bottom: 649px;
      z-index: -1; }

@media (min-width: 751px) and (max-width: 1299px) {
  #career > .container {
    width: 100%; }
    #career > .container > .careerIn > .contents > .list > li > .numb {
      margin-left: 7.69230769230769%;
      margin-top: 7.69230769230769%;
      width: 15.46153846153846%;
      height: 15.46153846153846vw; }
      #career > .container > .careerIn > .contents > .list > li > .numb > span:nth-child(1) {
        font-size: 9.23076923076923vw; }
      #career > .container > .careerIn > .contents > .list > li > .numb > span:nth-child(2) {
        font-size: 2.30769230769231vw; }
    #career > .container > .careerIn > .contents > .list > li > .content {
      width: 69.23076923076923%;
      padding: 7.69230769230769% 7.69230769230769% 5.23076923076923%; }
      #career > .container > .careerIn > .contents > .list > li > .content > .pic img {
        width: 100%; }
    #career > .container > .careerIn > .contents > .list > li.csBtn > .content {
      width: 100%;
      height: 15.46153846153846vw; } }

@media (min-width: 751px) and (max-width: 1099px) {
  #career > .container > .careerIn > .contents > .list > li > .numb {
    width: 170px;
    height: 170px; }
    #career > .container > .careerIn > .contents > .list > li > .numb > span:nth-child(1) {
      font-size: 101px; }
    #career > .container > .careerIn > .contents > .list > li > .numb > span:nth-child(2) {
      font-size: 25px; }
  #career > .container > .careerIn > .contents > .list > li.csBtn > .content {
    height: 170px; } }

@media (max-width: 750px) {
  #career > .container {
    width: 100%;
    margin: 0 auto;
    padding: 74px 40px 0; }
    #career > .container > .title {
      line-height: 1.5;
      text-align: center;
      margin-bottom: 52px; }
      #career > .container > .title > .ja {
        font-size: 1.875rem;
        letter-spacing: 0.08em;
        margin-left: 9px; }
      #career > .container > .title > .en {
        font-size: 1.4375rem;
        letter-spacing: 0.1em;
        margin-top: 3px; }
    #career > .container > .listTab {
      display: flex;
      justify-content: center;
      margin-bottom: 60px; }
      #career > .container > .listTab > .tab {
        width: 50%; }
        #career > .container > .listTab > .tab a {
          width: 100%;
          height: 120px;
          font-size: 1.4375rem; }
    #career > .container > .careerIn {
      position: relative; }
      #career > .container > .careerIn.scrollEffect {
        -webkit-animation: none !important;
                animation: none !important;
        opacity: 1; }
        #career > .container > .careerIn.scrollEffect.show > .bgCareer {
          width: 116%; }
      #career > .container > .careerIn > .bgCareer {
        height: 100%;
        left: -40px; }
        #career > .container > .careerIn > .bgCareer::before {
          right: auto;
          left: 0; }
        #career > .container > .careerIn > .bgCareer::after {
          left: 0;
          top: 0;
          width: 491px;
          height: 646px; }
      #career > .container > .careerIn > .contents {
        padding-top: 79px;
        padding-bottom: 91px; }
        #career > .container > .careerIn > .contents > .list > li {
          display: flex;
          justify-content: flex-start;
          flex-direction: column;
          margin-bottom: 114px;
          position: relative;
          z-index: 1; }
          #career > .container > .careerIn > .contents > .list > li > .deco {
            position: absolute;
            top: -37px;
            right: -255px;
            z-index: -1; }
          #career > .container > .careerIn > .contents > .list > li:nth-child(2) > .content {
            padding: 40px 40px 67px; }
            #career > .container > .careerIn > .contents > .list > li:nth-child(2) > .content > .text > .steps > li:nth-child(1) {
              margin-bottom: 59px; }
          #career > .container > .careerIn > .contents > .list > li:nth-child(2) > .deco {
            top: -333px;
            right: auto;
            left: -293px;
            transform: scale(-1, -1); }
          #career > .container > .careerIn > .contents > .list > li:nth-child(3) {
            margin-bottom: 115px; }
            #career > .container > .careerIn > .contents > .list > li:nth-child(3) > .deco {
              top: -159px;
              right: -347px; }
            #career > .container > .careerIn > .contents > .list > li:nth-child(3) > .content {
              padding: 40px 40px 73px; }
              #career > .container > .careerIn > .contents > .list > li:nth-child(3) > .content > .text > .steps > li:nth-child(1) {
                margin-bottom: 53px; }
          #career > .container > .careerIn > .contents > .list > li:nth-child(4) > .deco {
            top: -328px;
            right: auto;
            left: -351px;
            transform: scale(-1, -1); }
          #career > .container > .careerIn > .contents > .list > li.csBtn > .numb {
            margin-top: 0; }
          #career > .container > .careerIn > .contents > .list > li.csBtn > .content {
            padding: 0;
            width: 100%;
            height: 281px;
            font-size: 1.5625rem;
            padding-right: 231px; }
            #career > .container > .careerIn > .contents > .list > li.csBtn > .content > .ico {
              right: 60px; }
          #career > .container > .careerIn > .contents > .list > li:last-child {
            margin-bottom: 0; }
            #career > .container > .careerIn > .contents > .list > li:last-child > .content::after {
              content: none;
              background: transparent; }
          #career > .container > .careerIn > .contents > .list > li > .numb {
            width: 242px;
            height: 242px;
            border: 2px solid #a9c43d;
            margin: 0 auto 48px;
            padding-right: 9px; }
            #career > .container > .careerIn > .contents > .list > li > .numb > span {
              line-height: 1; }
              #career > .container > .careerIn > .contents > .list > li > .numb > span:nth-child(1) {
                font-size: 4.5rem; }
              #career > .container > .careerIn > .contents > .list > li > .numb > span:nth-child(2) {
                font-size: 1.125rem;
                margin-left: 14px; }
          #career > .container > .careerIn > .contents > .list > li > .content {
            width: 100%;
            padding: 40px 40px 64px 40px;
            background-color: #fff;
            position: relative;
            z-index: 1; }
            #career > .container > .careerIn > .contents > .list > li > .content::after {
              bottom: -35px;
              left: calc(50% - 47px);
              width: 94px;
              height: 55px; }
            #career > .container > .careerIn > .contents > .list > li > .content > .pic {
              margin-bottom: 74px; }
            #career > .container > .careerIn > .contents > .list > li > .content > .text > .steps > li {
              align-items: flex-start;
              margin-bottom: 57px; }
              #career > .container > .careerIn > .contents > .list > li > .content > .text > .steps > li:nth-child(1) > .step {
                margin-top: -13px; }
              #career > .container > .careerIn > .contents > .list > li > .content > .text > .steps > li:nth-child(2) {
                margin-bottom: 56px; }
              #career > .container > .careerIn > .contents > .list > li > .content > .text > .steps > li:nth-child(3) {
                margin-bottom: 62px; }
              #career > .container > .careerIn > .contents > .list > li > .content > .text > .steps > li:last-child {
                margin-bottom: 0; }
              #career > .container > .careerIn > .contents > .list > li > .content > .text > .steps > li > .step {
                margin-right: 30px;
                width: 84px;
                height: 84px;
                line-height: 1;
                padding-bottom: 1px;
                margin-top: -11px !important; }
                #career > .container > .careerIn > .contents > .list > li > .content > .text > .steps > li > .step > span:nth-child(1) {
                  font-size: 0.65625rem; }
                #career > .container > .careerIn > .contents > .list > li > .content > .text > .steps > li > .step > span:nth-child(2) {
                  font-size: 1.3125rem; } }

/* predictable
-------------------------------------------------------------------------------------------------------------------- */
#predictable > .container {
  position: relative;
  width: 1150px;
  margin: 0 auto;
  z-index: 1;
  padding-bottom: 81px; }
  #predictable > .container > .title {
    width: 1100px;
    margin: 0 auto;
    height: 60px;
    display: flex;
    justify-content: center;
    align-items: center;
    background: #1f4081;
    color: #fff;
    font-family: a-otf-ud-shin-go-pr6n, sans-serif;
    font-weight: 300;
    font-style: normal;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    font-size: 1.5rem;
    margin-bottom: 65px; }
  #predictable > .container > .content {
    position: relative;
    z-index: 5; }
    #predictable > .container > .content.box01 {
      margin-bottom: 75px; }
    #predictable > .container > .content.box02 > .list > li > .text > .txt01 {
      background-color: #00b8fb; }
    #predictable > .container > .content.box02 > .list > li > .text > .txt04 {
      color: #00b8fb; }
    #predictable > .container > .content > .tit {
      width: 1100px;
      margin: 0 auto;
      height: 60px;
      display: flex;
      justify-content: center;
      align-items: center;
      color: #1f4081;
      font-family: a-otf-ud-shin-go-pr6n, sans-serif;
      font-weight: 300;
      font-style: normal;
      -webkit-font-smoothing: antialiased;
      -moz-osx-font-smoothing: grayscale;
      font-size: 1.5rem;
      border: 1px solid #1f4081;
      border-width: 1px 0px;
      margin-bottom: 65px; }
    #predictable > .container > .content > .list {
      display: flex;
      justify-content: space-between;
      flex-wrap: wrap;
      margin-bottom: 27px; }
      #predictable > .container > .content > .list > li {
        width: 360px;
        background-color: #fff;
        padding: 27px 25px; }
        @media (min-width: 751px) {
          #predictable > .container > .content > .list > li:nth-child(2) {
            transition-delay: 160ms; }
          #predictable > .container > .content > .list > li:nth-child(3) {
            transition-delay: 240ms; }
          #predictable > .container > .content > .list > li:nth-child(4) {
            transition-delay: 320ms; }
          #predictable > .container > .content > .list > li:nth-child(5) {
            transition-delay: 400ms; }
          #predictable > .container > .content > .list > li:nth-child(6) {
            transition-delay: 480ms; }
          #predictable > .container > .content > .list > li:nth-child(7) {
            transition-delay: 560ms; }
          #predictable > .container > .content > .list > li:nth-child(8) {
            transition-delay: 640ms; } }
        #predictable > .container > .content > .list > li > .text {
          display: flex;
          flex-direction: column; }
          #predictable > .container > .content > .list > li > .text > .txt01 {
            height: 65px;
            width: 100%;
            background-color: #a9c43d;
            display: flex;
            justify-content: center;
            align-items: center;
            color: #fff;
            font-weight: 400;
            font-size: 1.75rem;
            letter-spacing: 0.08em; }
          #predictable > .container > .content > .list > li > .text > .txt02 {
            color: #1f4081;
            text-align: center;
            font-weight: 400;
            font-size: 1.5rem;
            padding: 10px 0px;
            border-bottom: 1px solid #1f4081;
            padding: 17px 0 9px;
            line-height: 1.5;
            letter-spacing: 0.08em; }
          #predictable > .container > .content > .list > li > .text > .txt03 {
            color: #1f4081;
            font-size: 1.125rem;
            font-weight: 400;
            letter-spacing: 0.08em;
            text-align: center;
            padding-top: 11px; }
          #predictable > .container > .content > .list > li > .text > .txt04 {
            font-family: niveau-grotesk, sans-serif;
            font-weight: 500;
            font-style: normal;
            font-weight: 500;
            color: #a9c43d;
            font-size: 3.75rem;
            letter-spacing: 0.05em;
            white-space: nowrap;
            line-height: 1.5;
            margin-top: -18px;
            padding-bottom: 1px;
            border-bottom: 1px solid #1f4081;
            margin-bottom: 14px; }
            #predictable > .container > .content > .list > li > .text > .txt04 span {
              font-family: 'Hiragino Sans', 'Hiragino Kaku Gothic ProN', Meiryo, 'MS PGothic', sans-serif;
              font-weight: 400;
              font-size: 1.875rem;
              margin-left: 7px; }
              _:-ms-input-placeholder,
              :root #predictable > .container > .content > .list > li > .text > .txt04 span {
                font-family: Meiryo, 'MS PGothic', 'Hiragino Sans', 'Hiragino Kaku Gothic ProN', sans-serif; }
          #predictable > .container > .content > .list > li > .text > .txt05 {
            font-size: 0.875rem;
            font-weight: 300;
            color: #222;
            line-height: 1.785; }
        #predictable > .container > .content > .list > li:nth-child(2) > .text > .txt04 {
          margin-left: -7px; }
          #predictable > .container > .content > .list > li:nth-child(2) > .text > .txt04 > span {
            margin-left: 2px; }
        #predictable > .container > .content > .list > li:nth-child(3) > .text > .txt04 {
          margin-left: 27px; }
    #predictable > .container > .content > p {
      line-height: 1.8375;
      font-weight: 400;
      font-size: 0.875rem;
      color: #222;
      text-align: center; }
      #predictable > .container > .content > p > span {
        color: #b73786;
        font-size: 1.125rem;
        font-weight: 500; }
  #predictable > .container > .deco > span {
    position: absolute;
    display: block;
    pointer-events: none; }
    #predictable > .container > .deco > span:nth-child(1) {
      left: -384px;
      top: 45px;
      z-index: -2; }
    #predictable > .container > .deco > span:nth-child(2) {
      right: -350px;
      top: 46px;
      z-index: -2; }
    #predictable > .container > .deco > span:nth-child(3) {
      left: -633px;
      top: -156px; }
    #predictable > .container > .deco > span:nth-child(4) {
      right: -630px;
      top: 503px; }
    #predictable > .container > .deco > span:nth-child(5) {
      left: -506px;
      top: 895px; }
    #predictable > .container > .deco > span:nth-child(6) {
      right: -444px;
      top: 1057px; }

@media (min-width: 751px) and (max-width: 1149px) {
  #predictable > .container {
    width: 100%; } }

@media (max-width: 750px) {
  #predictable > .container {
    width: 100%;
    padding: 97px 40px 85px; }
    #predictable > .container > .title {
      width: 100%;
      margin: 0 auto 41px;
      height: 120px; }
    #predictable > .container > .content {
      position: relative;
      z-index: 5; }
      #predictable > .container > .content.box01 {
        margin-bottom: 81px; }
      #predictable > .container > .content > .tit {
        width: 100%;
        height: 120px;
        font-size: 1.5rem;
        border: 2px solid #1f4081;
        border-width: 2px 0px;
        margin-bottom: 60px; }
      #predictable > .container > .content > .list {
        justify-content: flex-start;
        margin-bottom: 39px; }
        #predictable > .container > .content > .list > li {
          width: 100%;
          background-color: #fff;
          padding: 40px 40px 57px;
          margin-bottom: 61px;
          min-height: 688px; }
          #predictable > .container > .content > .list > li:last-child {
            margin-bottom: 0; }
          #predictable > .container > .content > .list > li > .text > .txt01 {
            height: 120px;
            width: 100%;
            font-size: 1.625rem;
            padding-top: 4px; }
          #predictable > .container > .content > .list > li > .text > .txt02 {
            font-size: 1.375rem;
            padding: 10px 0px;
            border-bottom: 2px solid #1f4081;
            padding: 38px 0 16px; }
          #predictable > .container > .content > .list > li > .text > .txt03 {
            font-size: 1.0625rem;
            padding-top: 18px; }
          #predictable > .container > .content > .list > li > .text > .txt04 {
            font-size: 3.5rem;
            margin-top: -34px;
            padding-bottom: 1px;
            border-bottom: 2px solid #1f4081;
            margin-bottom: 27px;
            padding-left: 4px; }
            #predictable > .container > .content > .list > li > .text > .txt04 span {
              font-size: 1.75rem;
              margin-left: 13px; }
          #predictable > .container > .content > .list > li > .text > .txt05 {
            font-size: 0.875rem;
            font-weight: 300;
            color: #222;
            line-height: 1.785; }
          #predictable > .container > .content > .list > li:nth-child(2) > .text > .txt02 {
            padding: 35px 0 17px;
            letter-spacing: 0; }
          #predictable > .container > .content > .list > li:nth-child(2) > .text > .txt04 {
            margin-left: -7px; }
            #predictable > .container > .content > .list > li:nth-child(2) > .text > .txt04 > span {
              margin-left: 2px; }
          #predictable > .container > .content > .list > li:nth-child(3) > .text > .txt02 {
            padding: 35px 0 17px;
            letter-spacing: 0; }
          #predictable > .container > .content > .list > li:nth-child(3) > .text > .txt04 {
            margin-left: 41px; }
      #predictable > .container > .content > p {
        line-height: 2.142;
        text-align: left; }
        #predictable > .container > .content > p > span {
          line-height: 1.666; } }

/* topics
-------------------------------------------------------------------------------------------------------------------- */
#topics > .container {
  width: 1205px;
  margin: 0 auto;
  position: relative;
  z-index: 3;
  padding-bottom: 60px; }
  #topics > .container > .content {
    display: flex;
    position: relative;
    justify-content: space-between;
    padding: 90px 144px 81px 0px;
    margin-bottom: 83px; }
    #topics > .container > .content.scrollEffect {
      -webkit-animation: none !important;
              animation: none !important;
      opacity: 1; }
      #topics > .container > .content.scrollEffect.show > .bgcontent {
        width: 125.4%; }
    #topics > .container > .content > .bgcontent {
      height: 100%;
      overflow: hidden;
      width: 0;
      position: absolute;
      left: -358px;
      top: 0;
      transition: width 2s ease;
      pointer-events: none; }
      #topics > .container > .content > .bgcontent::before {
        content: '';
        position: absolute;
        right: 0;
        width: 100%;
        background-image: url("/asset/bg_topics02.jpg");
        background-repeat: repeat;
        background-size: cover;
        height: 100%;
        z-index: -1;
        top: 0; }
        @media (max-width: 750px) {
          #topics > .container > .content > .bgcontent::before {
            background-image: url("/asset/bg_topics02_sp.jpg"); } }
        @media (min-width: 751px) and (-webkit-min-device-pixel-ratio: 2), (min-width: 751px) and (min-resolution: 2dppx) {
          #topics > .container > .content > .bgcontent::before {
            background-image: url("/asset/bg_topics02@2x.jpg"); } }
      #topics > .container > .content > .bgcontent::after {
        content: '';
        position: absolute;
        left: 0;
        top: 0;
        width: 813px;
        height: 100%;
        background-image: url("/asset/bg_topics01.jpg");
        background-repeat: no-repeat;
        background-size: cover;
        z-index: -1; }
        @media (max-width: 750px) {
          #topics > .container > .content > .bgcontent::after {
            background-image: url("/asset/bg_topics01_sp.jpg"); } }
        @media (min-width: 751px) and (-webkit-min-device-pixel-ratio: 2), (min-width: 751px) and (min-resolution: 2dppx) {
          #topics > .container > .content > .bgcontent::after {
            background-image: url("/asset/bg_topics01@2x.jpg"); } }
    #topics > .container > .content.box02 {
      flex-direction: row-reverse;
      padding: 90px 0 90px 142px;
      margin-bottom: 0; }
      #topics > .container > .content.box02 > .bgcontent {
        right: -358px;
        direction: rtl;
        left: auto; }
        #topics > .container > .content.box02 > .bgcontent::before {
          left: 0;
          right: auto;
          background-image: url("/asset/bg_topics04.jpg"); }
          @media (max-width: 750px) {
            #topics > .container > .content.box02 > .bgcontent::before {
              background-image: url("/asset/bg_topics04_sp.jpg"); } }
          @media (min-width: 751px) and (-webkit-min-device-pixel-ratio: 2), (min-width: 751px) and (min-resolution: 2dppx) {
            #topics > .container > .content.box02 > .bgcontent::before {
              background-image: url("/asset/bg_topics04@2x.jpg"); } }
        #topics > .container > .content.box02 > .bgcontent::after {
          right: 0;
          left: auto;
          top: 0;
          width: 979px;
          height: 100%;
          background-image: url("/asset/bg_topics03.jpg"); }
          @media (max-width: 750px) {
            #topics > .container > .content.box02 > .bgcontent::after {
              background-image: url("/asset/bg_topics03_sp.jpg"); } }
          @media (min-width: 751px) and (-webkit-min-device-pixel-ratio: 2), (min-width: 751px) and (min-resolution: 2dppx) {
            #topics > .container > .content.box02 > .bgcontent::after {
              background-image: url("/asset/bg_topics03@2x.jpg"); } }
      #topics > .container > .content.box02 > .tit {
        margin-left: auto;
        margin-top: 0px;
        margin-right: 1px; }
      #topics > .container > .content.box02 > .text > .listCheck {
        padding: 86px 90px 75px;
        margin-bottom: 0; }
    #topics > .container > .content > .tit {
      margin-left: 51px;
      margin-top: -6px; }
    #topics > .container > .content > .text {
      width: 750px; }
      #topics > .container > .content > .text > .listCheck {
        background-color: #fff;
        padding: 86px 90px 80px;
        margin-bottom: 26px; }
        #topics > .container > .content > .text > .listCheck > li {
          position: relative;
          padding-left: 47px;
          font-weight: 400;
          font-size: 1.125rem;
          color: #222;
          line-height: 1.9375;
          margin-bottom: 18px; }
          #topics > .container > .content > .text > .listCheck > li:last-child {
            margin-bottom: 0; }
          #topics > .container > .content > .text > .listCheck > li::before {
            content: '';
            position: absolute;
            left: 0;
            top: 3px;
            background-image: url("/asset/icoCheck_topics.png");
            background-repeat: no-repeat;
            background-size: cover;
            width: 28px;
            height: 28px; }
            @media (max-width: 750px) {
              #topics > .container > .content > .text > .listCheck > li::before {
                background-image: url("/asset/icoCheck_topics_sp.png"); } }
            @media (min-width: 751px) and (-webkit-min-device-pixel-ratio: 2), (min-width: 751px) and (min-resolution: 2dppx) {
              #topics > .container > .content > .text > .listCheck > li::before {
                background-image: url("/asset/icoCheck_topics@2x.png"); } }
      #topics > .container > .content > .text > p {
        font-weight: 300;
        font-size: 1rem;
        line-height: 1.9375;
        color: #222; }
  #topics > .container > .deco > span {
    position: absolute;
    display: block;
    pointer-events: none; }
    #topics > .container > .deco > span:nth-child(1) {
      left: -493px;
      top: -144px;
      transform: scale(-1, -1); }
    #topics > .container > .deco > span:nth-child(2) {
      right: -482px;
      top: 109px;
      transform: scale(-1, -1); }
    #topics > .container > .deco > span:nth-child(3) {
      top: 380px;
      right: -416px;
      transform: scale(-1, -1);
      z-index: -2; }
    #topics > .container > .deco > span:nth-child(4) {
      bottom: 279px;
      left: -479px;
      transform: scale(-1, -1);
      z-index: -2; }
    #topics > .container > .deco > span:nth-child(5) {
      bottom: 142px;
      left: -606px; }

@media (min-width: 751px) and (max-width: 1204px) {
  #topics > .container {
    width: 100%; }
    #topics > .container > .content {
      padding-right: 11.95020746887967%; }
      #topics > .container > .content.box02 {
        padding-right: 0;
        padding-left: 11.78423236514523%; }
        #topics > .container > .content.box02 > .text {
          width: 70.55503292568203%; }
          #topics > .container > .content.box02 > .text > .listCheck {
            padding: 11.46666666666667% 12% 10%; }
        #topics > .container > .content.box02 > .tit {
          width: 18.15616180620884%; }
      #topics > .container > .content > .tit {
        margin-left: 4.80678605089538%;
        width: 10.17907634307257%; }
        #topics > .container > .content > .tit img {
          width: 100%; }
      #topics > .container > .content > .text {
        width: 70.6880301602262%; }
        #topics > .container > .content > .text > .listCheck {
          padding: 11.46666666666667% 12% 10.66666666666667%; } }

@media (max-width: 750px) {
  #topics > .container {
    width: 750px;
    padding: 0 40px; }
    #topics > .container > .content {
      justify-content: flex-start;
      flex-direction: column;
      padding: 146px 0 73px;
      margin-bottom: 0; }
      #topics > .container > .content > .bgcontent {
        height: 100%;
        left: -40px; }
        #topics > .container > .content > .bgcontent::before {
          right: auto;
          left: 0; }
        #topics > .container > .content > .bgcontent::after {
          left: 0;
          top: 0;
          width: 750px;
          height: 468px; }
      #topics > .container > .content.box02 {
        flex-direction: column;
        padding: 89px 0 79px;
        margin-bottom: 0; }
        #topics > .container > .content.box02 > .bgcontent {
          right: -40px;
          direction: rtl;
          left: auto; }
          #topics > .container > .content.box02 > .bgcontent::before {
            left: 0;
            right: 0; }
          #topics > .container > .content.box02 > .bgcontent::after {
            right: 0;
            left: auto;
            top: 0;
            width: 750px;
            height: 515px; }
        #topics > .container > .content.box02 > .tit {
          margin-left: 0;
          margin-top: 0;
          margin-right: 0; }
        #topics > .container > .content.box02 > .text > .listCheck {
          padding: 55px 40px 48px;
          margin-bottom: 0; }
      #topics > .container > .content > .tit {
        margin: 0 0 60px;
        text-align: center; }
      #topics > .container > .content > .text {
        width: 100%; }
        #topics > .container > .content > .text > .listCheck {
          padding: 55px 40px 52px;
          margin-bottom: 41px; }
          #topics > .container > .content > .text > .listCheck > li {
            padding-left: 76px;
            font-size: 1rem;
            line-height: 1.9375;
            margin-bottom: 22px;
            letter-spacing: 0; }
            #topics > .container > .content > .text > .listCheck > li:last-child {
              margin-bottom: 0; }
            #topics > .container > .content > .text > .listCheck > li::before {
              left: 0;
              top: 3px;
              width: 48px;
              height: 48px; } }

/* flow
-------------------------------------------------------------------------------------------------------------------- */
#flow {
  background: #a9c43d;
  margin-top: 58px; }
  #flow > .container {
    width: 1300px;
    position: relative;
    margin: 0 auto;
    z-index: 5;
    padding-top: 108px;
    padding-bottom: 120px; }
    #flow > .container > .title {
      line-height: 1.5;
      text-align: center;
      margin-bottom: 136px; }
      #flow > .container > .title > .ja {
        font-family: a-otf-ud-shin-go-pr6n, sans-serif;
        font-weight: 300;
        font-style: normal;
        -webkit-font-smoothing: antialiased;
        -moz-osx-font-smoothing: grayscale;
        color: #fff;
        font-size: 3rem;
        letter-spacing: 0.08em;
        display: block;
        padding-left: 8px; }
      #flow > .container > .title > .en {
        color: #1f4081;
        font-family: niveau-grotesk, sans-serif;
        font-weight: 500;
        font-style: normal;
        font-weight: 500;
        font-size: 1.75rem;
        letter-spacing: 0.1em;
        display: block;
        margin-top: 2px; }
    #flow > .container > .flowStep {
      width: 1100px;
      margin: 0 auto 120px; }
      #flow > .container > .flowStep > .list {
        display: flex;
        justify-content: space-between; }
        #flow > .container > .flowStep > .list > li {
          width: 160px;
          height: 160px;
          display: flex;
          justify-content: center;
          align-items: center;
          background-color: #1f4081;
          line-height: 1.4166;
          position: relative;
          color: #ffff;
          font-family: a-otf-ud-shin-go-pr6n, sans-serif;
          font-weight: 300;
          font-style: normal;
          -webkit-font-smoothing: antialiased;
          -moz-osx-font-smoothing: grayscale;
          font-size: 1.5rem;
          text-align: center; }
          @media (min-width: 751px) {
            #flow > .container > .flowStep > .list > li:nth-child(2) {
              transition-delay: 160ms; }
            #flow > .container > .flowStep > .list > li:nth-child(3) {
              transition-delay: 240ms; }
            #flow > .container > .flowStep > .list > li:nth-child(4) {
              transition-delay: 320ms; }
            #flow > .container > .flowStep > .list > li:nth-child(5) {
              transition-delay: 400ms; }
            #flow > .container > .flowStep > .list > li:nth-child(6) {
              transition-delay: 480ms; }
            #flow > .container > .flowStep > .list > li:nth-child(7) {
              transition-delay: 560ms; }
            #flow > .container > .flowStep > .list > li:nth-child(8) {
              transition-delay: 640ms; } }
          #flow > .container > .flowStep > .list > li::before {
            content: '';
            position: absolute;
            top: 50%;
            transform: translateY(-50%);
            right: -20px;
            background-image: url("/asset/icoArrow_flowStep.png");
            background-repeat: no-repeat;
            background-size: cover;
            width: 11px;
            height: 17px; }
            @media (max-width: 750px) {
              #flow > .container > .flowStep > .list > li::before {
                background-image: url("/asset/icoArrow_flowStep_sp.png"); } }
            @media (min-width: 751px) and (-webkit-min-device-pixel-ratio: 2), (min-width: 751px) and (min-resolution: 2dppx) {
              #flow > .container > .flowStep > .list > li::before {
                background-image: url("/asset/icoArrow_flowStep@2x.png"); } }
          #flow > .container > .flowStep > .list > li:last-child::before {
            content: none;
            background: transparent; }
    #flow > .container > .content {
      display: flex;
      justify-content: space-between;
      position: relative;
      z-index: 1; }
      #flow > .container > .content > .tit {
        margin-left: 54px; }
      #flow > .container > .content > .timeline {
        width: 900px;
        background-color: #fff;
        position: relative;
        display: flex;
        padding: 99px;
        justify-content: space-between; }
        #flow > .container > .content > .timeline > .list {
          margin-right: 30px; }
          #flow > .container > .content > .timeline > .list > li {
            display: flex;
            margin-bottom: 26px;
            position: relative;
            z-index: 4; }
            #flow > .container > .content > .timeline > .list > li::after {
              content: '';
              position: absolute;
              width: 2px;
              height: calc(100% + 28px);
              top: 0;
              left: 50px;
              background-color: #1f4081;
              z-index: -1; }
            #flow > .container > .content > .timeline > .list > li:last-child {
              margin-bottom: 0; }
              #flow > .container > .content > .timeline > .list > li:last-child::after {
                content: none; }
            #flow > .container > .content > .timeline > .list > li > .time {
              flex: 0 0 auto;
              width: 100px;
              height: 40px;
              display: flex;
              justify-content: flex-end;
              align-items: center;
              position: relative;
              background-color: #1f4081;
              font-size: 1.5625rem;
              color: #fff;
              font-family: niveau-grotesk, sans-serif;
              font-weight: 500;
              font-style: normal;
              padding-right: 13px;
              line-height: 1;
              letter-spacing: 0.1em;
              margin-right: 39px; }
            #flow > .container > .content > .timeline > .list > li > p {
              font-family: a-otf-ud-shin-go-pr6n, sans-serif;
              font-weight: 300;
              font-style: normal;
              -webkit-font-smoothing: antialiased;
              -moz-osx-font-smoothing: grayscale;
              font-size: 1.6875rem;
              color: #1f4081;
              letter-spacing: 0.08em;
              line-height: 1.481; }
        #flow > .container > .content > .timeline > .pic {
          display: flex;
          flex-direction: column;
          padding-right: 5px; }
          #flow > .container > .content > .timeline > .pic > span {
            margin-bottom: 5px;
            display: block; }
    #flow > .container > .wrapBtn > a {
      display: flex;
      position: relative;
      z-index: 5;
      text-decoration: none;
      width: 500px;
      height: 134px;
      margin: 93px auto 0;
      overflow: hidden; }
      #flow > .container > .wrapBtn > a::before {
        content: '';
        position: absolute;
        left: 0;
        bottom: 0;
        width: 100%;
        height: 110px;
        background-color: #3d59a4;
        z-index: -2; }
      #flow > .container > .wrapBtn > a::after {
        content: '';
        position: absolute;
        right: 0;
        width: 0;
        height: 110px;
        bottom: 0;
        z-index: -1;
        background-color: #a9c43d;
        transition: width 0.3s ease-in-out; }
      #flow > .container > .wrapBtn > a > .txt {
        display: flex;
        position: absolute;
        top: 11px;
        left: 31px;
        justify-content: center;
        align-items: center;
        width: 100%;
        height: 100%;
        font-family: niveau-grotesk, sans-serif;
        font-weight: 500;
        font-style: normal;
        color: #a9c43d;
        font-size: 2.5rem;
        letter-spacing: 0.15em;
        transition: color 0.3s ease-in-out; }
      #flow > .container > .wrapBtn > a:hover::after {
        right: auto;
        left: 0;
        width: 100%; }
      #flow > .container > .wrapBtn > a:hover > .txt {
        color: #17468d; }
    #flow > .container > .deco > span {
      position: absolute;
      display: block;
      pointer-events: none; }
      #flow > .container > .deco > span:nth-child(1) {
        left: -309px;
        top: 152px;
        opacity: 0.3; }
      #flow > .container > .deco > span:nth-child(2) {
        right: -276px;
        top: 152px;
        opacity: 0.3; }
      #flow > .container > .deco > span:nth-child(3) {
        right: -506px;
        top: -183px; }
      #flow > .container > .deco > span:nth-child(4) {
        left: -274px;
        bottom: 516px;
        transform: scale(-1, -1);
        opacity: 0.4; }
      #flow > .container > .deco > span:nth-child(5) {
        right: -300px;
        bottom: 279px;
        transform: scale(-1, -1);
        opacity: 0.4; }
      #flow > .container > .deco > span:nth-child(6) {
        left: -347px;
        bottom: -23px; }
  @media (min-width: 751px) and (max-width: 1299px) {
    #flow > .container {
      width: 100%; }
      #flow > .container > .content > .tit {
        margin-left: 4.15384615384615%;
        width: 14.84615384615385%; }
        #flow > .container > .content > .tit img {
          width: 100%; }
      #flow > .container > .content > .timeline {
        width: 69.23076923076923%;
        padding: 7.61538461538462%; }
        #flow > .container > .content > .timeline > .list {
          width: 56.55270655270655%; }
          #flow > .container > .content > .timeline > .list > li > .time {
            margin-right: 9.82367758186398%; }
          #flow > .container > .content > .timeline > .list > li > p {
            font-size: 1.5875rem; }
        #flow > .container > .content > .timeline > .pic {
          width: 39.17378917378917%; }
          #flow > .container > .content > .timeline > .pic img {
            width: 100%; } }
  @media (max-width: 750px) {
    #flow {
      margin-top: 0;
      overflow: hidden; }
      #flow > .container {
        width: 750px;
        padding: 73px 40px 90px; }
        #flow > .container > .title {
          margin-bottom: 53px; }
          #flow > .container > .title > .ja {
            font-size: 1.875rem;
            padding-left: 8px; }
          #flow > .container > .title > .en {
            font-size: 1.4375rem;
            margin-top: 2px; }
        #flow > .container > .flowStep {
          width: 100%;
          margin: 0 auto 88px; }
          #flow > .container > .flowStep > .list {
            display: flex;
            justify-content: flex-start;
            flex-direction: column; }
            #flow > .container > .flowStep > .list > li {
              width: 100%;
              height: 110px;
              line-height: 1.4166;
              font-size: 1.25rem;
              margin-bottom: 52px;
              letter-spacing: 0.08em; }
              #flow > .container > .flowStep > .list > li:last-child {
                margin-bottom: 0; }
              #flow > .container > .flowStep > .list > li::before {
                top: auto;
                transform: translateY(0);
                right: 47.4%;
                bottom: -39px;
                width: 32px;
                height: 21px; }
        #flow > .container > .content {
          display: flex;
          justify-content: flex-start;
          flex-direction: column;
          position: relative;
          z-index: 1; }
          #flow > .container > .content > .tit {
            margin-left: 0;
            margin-bottom: 60px;
            text-align: center; }
          #flow > .container > .content > .timeline {
            width: 100%;
            background-color: #fff;
            position: relative;
            display: flex;
            padding: 60px 40px;
            justify-content: flex-start;
            flex-direction: column; }
            #flow > .container > .content > .timeline > .list {
              margin-right: 0; }
              #flow > .container > .content > .timeline > .list > li {
                display: flex;
                margin-bottom: 49px;
                position: relative;
                z-index: 4; }
                #flow > .container > .content > .timeline > .list > li::after {
                  height: calc(100% + 50px);
                  top: 0;
                  left: 87px; }
                #flow > .container > .content > .timeline > .list > li:last-child {
                  margin-bottom: 0; }
                  #flow > .container > .content > .timeline > .list > li:last-child::after {
                    content: none; }
                #flow > .container > .content > .timeline > .list > li > .time {
                  width: 176px;
                  height: 70px;
                  font-size: 1.375rem;
                  padding-right: 22px;
                  line-height: 1;
                  letter-spacing: 0.1em;
                  margin-right: 60px; }
                #flow > .container > .content > .timeline > .list > li > p {
                  font-size: 1.4375rem;
                  letter-spacing: 0.08em;
                  line-height: 1.481; }
            #flow > .container > .content > .timeline > .pic {
              flex-direction: row;
              padding-right: 0;
              justify-content: space-between;
              margin-top: 60px; }
              #flow > .container > .content > .timeline > .pic > span {
                margin-bottom: 0;
                display: block; }
        #flow > .container > .wrapBtn > a {
          width: 671px;
          height: 224px;
          margin: 35px auto 0; }
          #flow > .container > .wrapBtn > a::before {
            height: 200px; }
          #flow > .container > .wrapBtn > a::after {
            right: 0;
            width: 0;
            height: 200px; }
          #flow > .container > .wrapBtn > a > .txt {
            top: 12px;
            left: 2px;
            font-size: 2.1875rem; }
          #flow > .container > .wrapBtn > a:hover::after {
            content: none; }
          #flow > .container > .wrapBtn > a:hover > .txt {
            color: #a9c43d; }
        #flow > .container > .deco > span:nth-child(3) {
          right: -356px;
          top: -110px; }
        #flow > .container > .deco > span:nth-child(6) {
          left: -268px;
          top: -343px;
          bottom: auto; } }

/* clinictour
-------------------------------------------------------------------------------------------------------------------- */
#clinictour {
  margin-top: 109px; }
  #clinictour > .container {
    width: 1280px;
    position: relative;
    z-index: 5;
    margin: 0 auto; }
    #clinictour > .container > .title {
      line-height: 1.5;
      text-align: center;
      margin-bottom: 79px; }
      #clinictour > .container > .title > span {
        display: block; }
      #clinictour > .container > .title > .enSmall {
        color: #3d59a4;
        font-family: niveau-grotesk, sans-serif;
        font-weight: 500;
        font-style: normal;
        font-weight: 500;
        font-size: 1.5625rem;
        letter-spacing: 0.1em;
        margin-bottom: 12px; }
      #clinictour > .container > .title > .en {
        color: #3d59a4;
        font-family: niveau-grotesk, sans-serif;
        font-weight: 500;
        font-style: normal;
        font-weight: 500;
        font-size: 5.25rem;
        line-height: 1;
        letter-spacing: 0.1em;
        padding-left: 8px; }
      #clinictour > .container > .title > .ja {
        color: #000;
        font-size: 1.5rem;
        font-family: a-otf-ud-shin-go-pr6n, sans-serif;
        font-weight: 300;
        font-style: normal;
        -webkit-font-smoothing: antialiased;
        -moz-osx-font-smoothing: grayscale;
        letter-spacing: 0.08em;
        margin-top: 22px; }
    #clinictour > .container > .content {
      position: relative;
      z-index: 6; }
      #clinictour > .container > .content > .box {
        display: flex;
        justify-content: center;
        align-items: center;
        width: 600px;
        height: 60px;
        margin: 0 auto;
        border: 1px solid #1f4081;
        color: #1f4081;
        font-size: 1.3125rem;
        font-family: a-otf-ud-shin-go-pr6n, sans-serif;
        font-weight: 300;
        font-style: normal;
        -webkit-font-smoothing: antialiased;
        -moz-osx-font-smoothing: grayscale;
        position: relative;
        letter-spacing: 0.08em;
        margin-bottom: 55px; }
        #clinictour > .container > .content > .box::before {
          content: '';
          position: absolute;
          width: 1px;
          height: 25px;
          background-color: #1f4081;
          bottom: -18px;
          left: 50%; }
      #clinictour > .container > .content > ul {
        display: flex;
        justify-content: space-between;
        padding: 0 91px; }
        #clinictour > .container > .content > ul > li {
          width: 310px;
          height: 240px;
          position: relative;
          display: flex;
          justify-content: center;
          align-items: center;
          background-color: #fff;
          text-align: center; }
          #clinictour > .container > .content > ul > li > .pic {
            position: absolute; }
          #clinictour > .container > .content > ul > li:nth-child(1) > .pic {
            top: -85px;
            left: -92px; }
          #clinictour > .container > .content > ul > li:nth-child(2) > .pic {
            bottom: -80px;
            left: -53px; }
          #clinictour > .container > .content > ul > li:nth-child(3) > .pic {
            top: -123px;
            right: -45px; }
          #clinictour > .container > .content > ul > li > .txt {
            color: #1f4081;
            font-family: a-otf-ud-shin-go-pr6n, sans-serif;
            font-weight: 300;
            font-style: normal;
            -webkit-font-smoothing: antialiased;
            -moz-osx-font-smoothing: grayscale;
            font-size: 1.5rem;
            line-height: 1.583;
            letter-spacing: 0.08em; }
    #clinictour > .container > .picLarge {
      display: flex;
      align-items: flex-end;
      justify-content: center;
      margin: -13px auto 0;
      position: relative;
      z-index: 3; }
      #clinictour > .container > .picLarge > .txt {
        position: absolute;
        bottom: 0;
        left: 50%;
        transform: translateX(-50%); }
    #clinictour > .container > .txt {
      display: flex;
      align-items: flex-end;
      justify-content: center;
      margin: 0 auto;
      position: relative;
      width: 1100px;
      z-index: 5; }
      #clinictour > .container > .txt > span {
        position: absolute;
        display: block; }
        #clinictour > .container > .txt > span:nth-child(1) {
          bottom: 152px;
          right: 26px; }
        #clinictour > .container > .txt > span:nth-child(2) {
          bottom: 178px;
          left: 34px; }
    #clinictour > .container > .deco {
      width: 1100px;
      left: 50%;
      top: 0;
      transform: translateX(-50%);
      pointer-events: none;
      position: absolute;
      z-index: 4; }
      #clinictour > .container > .deco > span {
        position: absolute;
        display: block;
        pointer-events: none; }
        #clinictour > .container > .deco > span:nth-child(1) {
          left: -505px;
          top: 110px; }
        #clinictour > .container > .deco > span:nth-child(2) {
          right: -494px;
          top: 195px; }
        #clinictour > .container > .deco > span:nth-child(3) {
          left: -506px;
          top: 741px; }
        #clinictour > .container > .deco > span:nth-child(4) {
          right: -493px;
          top: 904px; }
        #clinictour > .container > .deco > span:nth-child(5) {
          left: -420px;
          top: 426px;
          transform: scale(-1, -1); }
        #clinictour > .container > .deco > span:nth-child(6) {
          right: -552px;
          top: -62px;
          transform: scale(-1, -1); }
  @media (min-width: 751px) and (max-width: 1279px) {
    #clinictour > .container {
      width: 100%; }
      #clinictour > .container > .content > ul {
        padding: 0 7.109375%;
        width: 100%; }
        #clinictour > .container > .content > ul > li {
          width: 28.18181818181818%;
          height: 18.75vw; }
          #clinictour > .container > .content > ul > li > .txt {
            font-size: 1.3rem; }
          #clinictour > .container > .content > ul > li > .pic {
            width: 51.61290322580645%; }
            #clinictour > .container > .content > ul > li > .pic img {
              width: 100%; } }
  @media (max-width: 750px) {
    #clinictour {
      margin-top: 72px; }
      #clinictour > .container {
        width: 750px;
        padding: 0 40px; }
        #clinictour > .container > .title {
          margin-bottom: 52px; }
          #clinictour > .container > .title > .enSmall {
            font-size: 1.25rem;
            letter-spacing: 0.1em;
            margin-bottom: 12px; }
          #clinictour > .container > .title > .en {
            font-size: 3.75rem;
            line-height: 1;
            letter-spacing: 0.1em;
            padding-left: 8px; }
          #clinictour > .container > .title > .ja {
            font-size: 1.25rem;
            margin-left: -2px;
            letter-spacing: 0.05em;
            margin-top: 12px;
            white-space: nowrap; }
        #clinictour > .container > .content {
          position: relative;
          z-index: 6; }
          #clinictour > .container > .content > .box {
            width: 100%;
            height: 120px;
            border: 2px solid #1f4081;
            font-size: 1.3125rem;
            letter-spacing: 0.05em;
            margin-bottom: 208px;
            padding-bottom: 7px; }
            #clinictour > .container > .content > .box::before {
              width: 2px;
              height: 50px;
              bottom: -35px;
              left: 50%; }
          #clinictour > .container > .content > ul {
            display: flex;
            justify-content: center;
            flex-wrap: wrap;
            padding: 0; }
            #clinictour > .container > .content > ul > li {
              width: 325px;
              height: 280px;
              position: relative;
              display: flex;
              justify-content: center;
              align-items: center;
              background-color: #fff;
              text-align: center;
              flex: 0 0 auto;
              padding-top: 28px; }
              #clinictour > .container > .content > ul > li > .pic {
                position: absolute;
                top: -141px;
                left: 50%;
                transform: translateX(-50%); }
              #clinictour > .container > .content > ul > li:nth-child(1) {
                margin-right: 9px;
                margin-bottom: 180px; }
                #clinictour > .container > .content > ul > li:nth-child(1) > .pic {
                  top: -141px;
                  left: 50%;
                  transform: translateX(-50%); }
              #clinictour > .container > .content > ul > li:nth-child(2) {
                margin-left: 9px;
                margin-bottom: 180px; }
                #clinictour > .container > .content > ul > li:nth-child(2) > .pic {
                  top: -141px;
                  left: 52%;
                  transform: translateX(-50%); }
              #clinictour > .container > .content > ul > li:nth-child(3) > .pic {
                top: -141px;
                left: 48%;
                transform: translateX(-50%); }
              #clinictour > .container > .content > ul > li > .txt {
                font-size: 0.9375rem;
                line-height: 1.466;
                letter-spacing: 0.02em; }
        #clinictour > .container > .picLarge {
          margin: 0 auto;
          padding-top: 512px; }
          #clinictour > .container > .picLarge > .txt {
            position: absolute;
            bottom: 0;
            left: 50%;
            transform: translateX(-50%); }
        #clinictour > .container > .txt {
          width: 100%; }
          #clinictour > .container > .txt > span:nth-child(1) {
            bottom: 716px;
            left: 0;
            right: 0;
            text-align: center; }
          #clinictour > .container > .txt > span:nth-child(2) {
            bottom: 482px;
            left: 0;
            right: 0;
            text-align: center; }
        #clinictour > .container > .deco {
          width: 100%;
          height: 100%; }
          #clinictour > .container > .deco > span:nth-child(1) {
            left: -148px;
            top: auto;
            bottom: 426px; }
          #clinictour > .container > .deco > span:nth-child(2) {
            right: -114px;
            top: auto;
            bottom: 895px; }
          #clinictour > .container > .deco > span:nth-child(5) {
            left: -205px;
            top: auto;
            bottom: 715px;
            transform: scale(1, 1); }
          #clinictour > .container > .deco > span:nth-child(6) {
            right: -313px;
            left: auto;
            top: auto;
            bottom: 201px;
            transform: scale(1, 1); } }

/* entryBtn
-------------------------------------------------------------------------------------------------------------------- */
#entryBtn {
  background-color: #1f4081;
  overflow: hidden; }
  #entryBtn.entryBtn02 {
    background-color: transparent; }
    #entryBtn.entryBtn02 > .container {
      padding-top: 5px; }
      #entryBtn.entryBtn02 > .container > a:hover > .txt {
        color: #a9c43d; }
  #entryBtn > .container {
    width: 1100px;
    position: relative;
    margin: 0 auto;
    z-index: 6;
    min-height: 290px;
    display: flex;
    align-items: center;
    padding-right: 42px;
    padding-bottom: 24px; }
    #entryBtn > .container > a {
      display: flex;
      position: relative;
      z-index: 5;
      text-decoration: none;
      width: 500px;
      height: 134px;
      margin: auto; }
      #entryBtn > .container > a::before {
        content: '';
        position: absolute;
        left: 0;
        bottom: 1px;
        width: 100%;
        height: 110px;
        background-color: #a9c43d;
        z-index: -2; }
      #entryBtn > .container > a::after {
        content: '';
        position: absolute;
        right: 0;
        width: 0;
        height: 110px;
        bottom: 1px;
        z-index: -1;
        background-color: #1f4081;
        transition: width 0.3s ease-in-out; }
      #entryBtn > .container > a > .txt {
        display: flex;
        position: absolute;
        top: 11px;
        left: 31px;
        justify-content: center;
        align-items: center;
        width: 100%;
        height: 100%;
        font-family: niveau-grotesk, sans-serif;
        font-weight: 500;
        font-style: normal;
        color: #1f4081;
        font-size: 2.5rem;
        letter-spacing: 0.15em;
        transition: color 0.3s ease-in-out; }
      #entryBtn > .container > a:hover::after {
        right: auto;
        left: 0;
        width: 100%; }
      #entryBtn > .container > a:hover > .txt {
        color: #a9c43d; }
    #entryBtn > .container > .deco > span {
      position: absolute;
      display: block;
      pointer-events: none; }
      #entryBtn > .container > .deco > span:nth-child(1) {
        left: -226px;
        top: 119px; }
      #entryBtn > .container > .deco > span:nth-child(2) {
        right: -343px;
        top: -32px; }
  @media (max-width: 750px) {
    #entryBtn.entryBtn02 > .container {
      padding-top: 37px;
      min-height: auto;
      padding-bottom: 57px; }
      #entryBtn.entryBtn02 > .container > a:hover::after {
        content: none; }
      #entryBtn.entryBtn02 > .container > a:hover > .txt {
        color: #1f4081; }
    #entryBtn > .container {
      width: 750px;
      min-height: 380px;
      padding: 0 40px 24px; }
      #entryBtn > .container > a {
        width: 671px;
        height: 224px; }
        #entryBtn > .container > a::before {
          height: 200px; }
        #entryBtn > .container > a::after {
          height: 200px; }
        #entryBtn > .container > a > .txt {
          top: 12px;
          left: 2px;
          font-size: 2.1875rem; }
        #entryBtn > .container > a:hover::after {
          content: none; }
        #entryBtn > .container > a:hover > .txt {
          color: #1f4081; }
      #entryBtn > .container > .deco > span {
        position: absolute;
        display: block;
        pointer-events: none; }
        #entryBtn > .container > .deco > span:nth-child(1) {
          left: -288px;
          top: 282px;
          transform: scale(-1, 1); }
        #entryBtn > .container > .deco > span:nth-child(2) {
          right: -47px;
          top: -41px;
          transform: scale(-1, 1); } }

/* recruitment
-------------------------------------------------------------------------------------------------------------------- */
#recruitment {
  margin-top: 108px; }
  #recruitment > .container {
    width: 1100px;
    position: relative;
    z-index: 1;
    margin: 0 auto; }
    #recruitment > .container > .title {
      line-height: 1.5;
      text-align: center;
      margin-bottom: 100px; }
      #recruitment > .container > .title > .ja {
        color: #000;
        font-family: a-otf-ud-shin-go-pr6n, sans-serif;
        font-weight: 300;
        font-style: normal;
        -webkit-font-smoothing: antialiased;
        -moz-osx-font-smoothing: grayscale;
        font-size: 3rem;
        display: block;
        letter-spacing: 0.1em; }
      #recruitment > .container > .title > .en {
        color: #1f4081;
        font-size: 1.75rem;
        font-family: niveau-grotesk, sans-serif;
        font-weight: 500;
        font-style: normal;
        font-weight: 500;
        display: block;
        margin-top: 2px;
        letter-spacing: 0.1em; }
    #recruitment > .container > .contents {
      position: relative;
      z-index: 3; }
      #recruitment > .container > .contents > .listTab {
        display: flex;
        justify-content: space-between;
        margin-bottom: 59px; }
        #recruitment > .container > .contents > .listTab > li a {
          width: 362px;
          height: 100px;
          display: flex;
          justify-content: center;
          align-items: center;
          color: #878787;
          font-family: a-otf-ud-shin-go-pr6n, sans-serif;
          font-weight: 300;
          font-style: normal;
          -webkit-font-smoothing: antialiased;
          -moz-osx-font-smoothing: grayscale;
          font-size: 1.75rem;
          text-decoration: none;
          letter-spacing: 0.08em;
          position: relative;
          transition: color 0.4s ease-in-out; }
          #recruitment > .container > .contents > .listTab > li a::before {
            content: '';
            position: absolute;
            top: 0;
            right: 0;
            width: 0;
            height: 100%;
            background-color: #a9c43d;
            z-index: -1;
            transition: background-color 0.4s ease-in-out, width 0.4s ease-in-out; }
          #recruitment > .container > .contents > .listTab > li a::after {
            content: '';
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            background-color: #dadada;
            z-index: -2; }
          #recruitment > .container > .contents > .listTab > li a:hover {
            color: #fff; }
            #recruitment > .container > .contents > .listTab > li a:hover::before {
              left: 0;
              right: auto;
              width: 100%; }
        #recruitment > .container > .contents > .listTab > li.on a {
          color: #fff; }
          #recruitment > .container > .contents > .listTab > li.on a::before {
            background-color: #a9c43d;
            width: 100%; }
      #recruitment > .container > .contents > .boxIn > .boxContents > .content {
        padding: 81px;
        background-color: #fff; }
        #recruitment > .container > .contents > .boxIn > .boxContents > .content > table {
          width: 100%;
          border-collapse: separate; }
          #recruitment > .container > .contents > .boxIn > .boxContents > .content > table th,
          #recruitment > .container > .contents > .boxIn > .boxContents > .content > table td {
            font-weight: normal;
            padding: 24px 28px 24px;
            vertical-align: middle; }
            #recruitment > .container > .contents > .boxIn > .boxContents > .content > table th .vertical-rl,
            #recruitment > .container > .contents > .boxIn > .boxContents > .content > table td .vertical-rl {
              -ms-writing-mode: tb-rl;
              writing-mode: vertical-rl;
              white-space: nowrap; }
              #recruitment > .container > .contents > .boxIn > .boxContents > .content > table th .vertical-rl .combine,
              #recruitment > .container > .contents > .boxIn > .boxContents > .content > table td .vertical-rl .combine {
                -webkit-text-combine: horizontal;
                -moz-text-combine-upright: all;
                -ms-text-combine-horizontal: all;
                text-combine-upright: all; }
          #recruitment > .container > .contents > .boxIn > .boxContents > .content > table tbody th {
            font-weight: 300;
            text-align: left;
            border: 1px solid #ccc;
            border-width: 1px 0 0;
            width: 214px;
            background-color: #eef3d8;
            font-size: 1rem; }
          #recruitment > .container > .contents > .boxIn > .boxContents > .content > table tbody td {
            border: 1px solid #ccc;
            border-width: 1px 0 0;
            padding: 15px 40px 18px 29px; }
          #recruitment > .container > .contents > .boxIn > .boxContents > .content > table tbody tr:last-child th,
          #recruitment > .container > .contents > .boxIn > .boxContents > .content > table tbody tr:last-child td {
            border-width: 1px 0; }
    #recruitment > .container > .deco > span {
      position: absolute;
      display: block;
      pointer-events: none; }
      #recruitment > .container > .deco > span:nth-child(1) {
        left: -480px;
        bottom: 135px;
        transform: scale(-1, -1); }
      #recruitment > .container > .deco > span:nth-child(2) {
        right: -518px;
        top: -12px; }
      #recruitment > .container > .deco > span:nth-child(3) {
        right: -519px;
        bottom: -27px;
        transform: scale(-1, -1); }
      #recruitment > .container > .deco > span:nth-child(4) {
        left: -540px;
        top: 175px;
        transform: scale(1, -1); }
      #recruitment > .container > .deco > span:nth-child(5) {
        right: -516px;
        bottom: -520px;
        transform: scale(1, -1); }
  @media (max-width: 750px) {
    #recruitment {
      margin-top: 66px; }
      #recruitment > .container {
        width: 750px;
        padding: 0 40px; }
        #recruitment > .container > .title {
          margin-bottom: 55px; }
          #recruitment > .container > .title > .ja {
            font-size: 2.4375rem;
            letter-spacing: 0.1em; }
          #recruitment > .container > .title > .en {
            font-size: 1.4375rem;
            margin-top: 2px;
            letter-spacing: 0.1em; }
        #recruitment > .container > .contents > .listTab {
          display: none; }
        #recruitment > .container > .contents > .boxIn > .boxContents.open > .question {
          background-color: #a9c43d;
          color: #fff; }
          #recruitment > .container > .contents > .boxIn > .boxContents.open > .question::before {
            background-image: url("/asset/icoArrow_recruitment.png");
            transform: rotate(0deg); } }
        @media (max-width: 750px) and (max-width: 750px) {
          #recruitment > .container > .contents > .boxIn > .boxContents.open > .question::before {
            background-image: url("/asset/icoArrow_recruitment_sp.png"); } }
        @media (max-width: 750px) and (min-width: 751px) and (-webkit-min-device-pixel-ratio: 2), (max-width: 750px) and (min-width: 751px) and (min-resolution: 2dppx) {
          #recruitment > .container > .contents > .boxIn > .boxContents.open > .question::before {
            background-image: url("/asset/icoArrow_recruitment@2x.png"); } }
  @media (max-width: 750px) {
        #recruitment > .container > .contents > .boxIn > .boxContents.open > .content {
          opacity: 1;
          pointer-events: auto; }
        #recruitment > .container > .contents > .boxIn > .boxContents {
          position: relative;
          margin-bottom: 28px; }
          #recruitment > .container > .contents > .boxIn > .boxContents:nth-child(2) {
            margin-bottom: 28px; }
          #recruitment > .container > .contents > .boxIn > .boxContents:last-child {
            margin-bottom: 0; }
          #recruitment > .container > .contents > .boxIn > .boxContents > .question {
            width: 100%;
            height: 140px;
            position: relative;
            display: flex;
            justify-content: center;
            align-items: center;
            background-color: #dadada;
            color: #878787;
            font-size: 1.4375rem;
            letter-spacing: 0.08em;
            padding-bottom: 38px;
            transition: background-color 0.3s ease-in-out, color 0.3s ease-in-out; }
            #recruitment > .container > .contents > .boxIn > .boxContents > .question::before {
              content: '';
              position: absolute;
              background-image: url("/asset/icoArrow_recruitment_on.png");
              width: 24px;
              height: 14px;
              background-repeat: no-repeat;
              background-size: cover;
              bottom: 22px;
              left: calc(50% - 11px);
              transform: rotate(0deg);
              transition: transform 0.3s ease-in-out; } }
          @media (max-width: 750px) and (max-width: 750px) {
            #recruitment > .container > .contents > .boxIn > .boxContents > .question::before {
              background-image: url("/asset/icoArrow_recruitment_on_sp.png"); } }
          @media (max-width: 750px) and (min-width: 751px) and (-webkit-min-device-pixel-ratio: 2), (max-width: 750px) and (min-width: 751px) and (min-resolution: 2dppx) {
            #recruitment > .container > .contents > .boxIn > .boxContents > .question::before {
              background-image: url("/asset/icoArrow_recruitment_on@2x.png"); } }
  @media (max-width: 750px) {
          #recruitment > .container > .contents > .boxIn > .boxContents > .content {
            padding: 40px;
            background-color: #fff;
            margin-top: 38px; }
            #recruitment > .container > .contents > .boxIn > .boxContents > .content > table {
              width: 100%;
              border-collapse: separate; }
              #recruitment > .container > .contents > .boxIn > .boxContents > .content > table th,
              #recruitment > .container > .contents > .boxIn > .boxContents > .content > table td {
                font-weight: normal;
                padding: 24px 28px 24px;
                vertical-align: middle; }
                #recruitment > .container > .contents > .boxIn > .boxContents > .content > table th .vertical-rl,
                #recruitment > .container > .contents > .boxIn > .boxContents > .content > table td .vertical-rl {
                  -ms-writing-mode: lr-tb;
                  writing-mode: horizontal-tb; }
              #recruitment > .container > .contents > .boxIn > .boxContents > .content > table tbody th {
                font-weight: 300;
                text-align: center;
                border: 2px solid #ccc;
                border-width: 2px 0 0;
                width: 100%;
                vertical-align: top;
                background-color: #eef3d8;
                font-size: 1rem;
                display: block; }
              #recruitment > .container > .contents > .boxIn > .boxContents > .content > table tbody td {
                border: 2px solid #ccc;
                border-width: 0;
                padding: 18px 45px 25px 40px;
                width: 100%;
                display: block; }
              #recruitment > .container > .contents > .boxIn > .boxContents > .content > table tbody tr:last-child th,
              #recruitment > .container > .contents > .boxIn > .boxContents > .content > table tbody tr:last-child td {
                border-width: 2px 0 0; }
              #recruitment > .container > .contents > .boxIn > .boxContents > .content > table tbody tr:last-child td {
                border-width: 0 0 2px; } }

/* entry
-------------------------------------------------------------------------------------------------------------------- */
#entry {
  background-color: #1f4081;
  margin-top: 34px; }
  #entry > .container {
    width: 1100px;
    margin: 0 auto;
    position: relative;
    padding-top: 106px;
    padding-bottom: 124px; }
    #entry > .container > .title {
      line-height: 1.5;
      text-align: center;
      margin-bottom: 109px; }
      #entry > .container > .title > .ja {
        color: #fff;
        font-family: a-otf-ud-shin-go-pr6n, sans-serif;
        font-weight: 300;
        font-style: normal;
        -webkit-font-smoothing: antialiased;
        -moz-osx-font-smoothing: grayscale;
        font-size: 3rem;
        display: block;
        letter-spacing: 0.1em; }
      #entry > .container > .title > .en {
        color: #a9c43d;
        font-size: 1.75rem;
        font-family: niveau-grotesk, sans-serif;
        font-weight: 500;
        font-style: normal;
        font-weight: 500;
        display: block;
        margin-top: 2px;
        letter-spacing: 0.1em; }
    #entry > .container > .contentForm {
      background-color: #fff;
      padding: 80px; }
      #entry > .container > .contentForm > form > table {
        width: 100%; }
        #entry > .container > .contentForm > form > table th,
        #entry > .container > .contentForm > form > table td {
          padding: 27px 25px 23px 30px;
          border: 1px solid #ccc;
          border-width: 1px 0px;
          font-weight: 300;
          font-size: 1rem; }
        #entry > .container > .contentForm > form > table td {
          width: calc(100% - 290px);
          padding: 25px 20px 24px 30px;
          position: relative; }
          #entry > .container > .contentForm > form > table td > span {
            display: block;
            position: relative; }
            #entry > .container > .contentForm > form > table td > span > .focus-bg:before {
              content: '';
              display: block;
              position: absolute;
              right: 0;
              top: 0;
              width: 0;
              height: 100%;
              background-color: #eef3d8;
              transition: 0.3s;
              z-index: -1; }
            #entry > .container > .contentForm > form > table td > span > .focus-bg::after {
              content: '';
              display: block;
              position: absolute;
              left: 0;
              top: 0;
              width: 100%;
              height: 100%;
              background-color: #ebebeb;
              z-index: -2; }
          #entry > .container > .contentForm > form > table td input[type='text'] {
            border: none;
            background: transparent;
            padding: 14px 20px;
            width: 600px; }
            #entry > .container > .contentForm > form > table td input[type='text']::-moz-placeholder {
              color: #a6a6a6;
              font-weight: 300;
              background: transparent; }
            #entry > .container > .contentForm > form > table td input[type='text']:-ms-input-placeholder {
              color: #a6a6a6;
              font-weight: 300;
              background: transparent; }
            #entry > .container > .contentForm > form > table td input[type='text']::placeholder {
              color: #a6a6a6;
              font-weight: 300;
              background: transparent; }
            #entry > .container > .contentForm > form > table td input[type='text']:focus {
              background: transparent; }
              #entry > .container > .contentForm > form > table td input[type='text']:focus + .focus-bg:before {
                right: auto;
                left: 0;
                width: 100%; }
          #entry > .container > .contentForm > form > table td input[type='number'] {
            border: none;
            background: transparent;
            padding: 14px 20px;
            width: 103px; }
            #entry > .container > .contentForm > form > table td input[type='number']::-moz-placeholder {
              color: #a6a6a6;
              font-weight: 300; }
            #entry > .container > .contentForm > form > table td input[type='number']:-ms-input-placeholder {
              color: #a6a6a6;
              font-weight: 300; }
            #entry > .container > .contentForm > form > table td input[type='number']::placeholder {
              color: #a6a6a6;
              font-weight: 300; }
            #entry > .container > .contentForm > form > table td input[type='number'] > span {
              font-weight: 300; }
            #entry > .container > .contentForm > form > table td input[type='number']:focus {
              background: transparent; }
              #entry > .container > .contentForm > form > table td input[type='number']:focus + .focus-bg:before {
                right: auto;
                left: 0;
                width: 100%; }
          #entry > .container > .contentForm > form > table td input[type='email'],
          #entry > .container > .contentForm > form > table td input[type='tel'],
          #entry > .container > .contentForm > form > table td textarea {
            border: none;
            background: transparent;
            padding: 14px 20px;
            width: 600px;
            max-width: 600px;
            min-width: 600px; }
            #entry > .container > .contentForm > form > table td input[type='email']::-moz-placeholder, #entry > .container > .contentForm > form > table td input[type='tel']::-moz-placeholder, #entry > .container > .contentForm > form > table td textarea::-moz-placeholder {
              color: #a6a6a6;
              font-weight: 300; }
            #entry > .container > .contentForm > form > table td input[type='email']:-ms-input-placeholder, #entry > .container > .contentForm > form > table td input[type='tel']:-ms-input-placeholder, #entry > .container > .contentForm > form > table td textarea:-ms-input-placeholder {
              color: #a6a6a6;
              font-weight: 300; }
            #entry > .container > .contentForm > form > table td input[type='email']::placeholder,
            #entry > .container > .contentForm > form > table td input[type='tel']::placeholder,
            #entry > .container > .contentForm > form > table td textarea::placeholder {
              color: #a6a6a6;
              font-weight: 300; }
            #entry > .container > .contentForm > form > table td input[type='email']:focus,
            #entry > .container > .contentForm > form > table td input[type='tel']:focus,
            #entry > .container > .contentForm > form > table td textarea:focus {
              background: transparent; }
              #entry > .container > .contentForm > form > table td input[type='email']:focus + .focus-bg:before,
              #entry > .container > .contentForm > form > table td input[type='tel']:focus + .focus-bg:before,
              #entry > .container > .contentForm > form > table td textarea:focus + .focus-bg:before {
                right: auto;
                left: 0;
                width: 100%; }
          _:-ms-input-placeholder,
          :root #entry > .container > .contentForm > form > table td input[type='radio'] {
            opacity: 0; }
          #entry > .container > .contentForm > form > table td input[type='radio'] + span {
            width: 30px !important;
            height: 30px !important;
            border: 1px solid #a6a6a6 !important; }
            #entry > .container > .contentForm > form > table td input[type='radio'] + span::after {
              background-color: #a9c43d !important;
              width: 22px !important;
              height: 22px !important; }
        #entry > .container > .contentForm > form > table th {
          width: 290px;
          background-color: #f5f6fa; }
          #entry > .container > .contentForm > form > table th .required {
            color: #fff;
            padding: 1px 16px;
            margin-left: 0;
            background-color: #a9c43d;
            white-space: nowrap;
            font-size: 0.875rem;
            font-weight: 300;
            float: right; }
        #entry > .container > .contentForm > form > table tr:nth-child(1) td input[type='text'] {
          width: 351px; }
        #entry > .container > .contentForm > form > table tr:nth-child(1) td > span {
          width: 351px; }
        #entry > .container > .contentForm > form > table tr:nth-child(3) td > span {
          width: 126px;
          display: inline-block; }
          #entry > .container > .contentForm > form > table tr:nth-child(3) td > span input[type='number'] {
            background: transparent; }
            #entry > .container > .contentForm > form > table tr:nth-child(3) td > span input[type='number']:focus {
              background: transparent; }
              #entry > .container > .contentForm > form > table tr:nth-child(3) td > span input[type='number']:focus + .focus-bg:before {
                right: 23px;
                left: 0;
                width: 103px; }
          #entry > .container > .contentForm > form > table tr:nth-child(3) td > span span:before {
            right: 23px; }
          #entry > .container > .contentForm > form > table tr:nth-child(3) td > span span::after {
            width: 103px; }
        #entry > .container > .contentForm > form > table tr:nth-child(6) td {
          padding: 33px 34px 34px 47px; }
        #entry > .container > .contentForm > form > table tr:last-child th {
          vertical-align: top;
          padding-top: 33px; }
        @media (max-width: 750px) {
          #entry > .container > .contentForm > form > table,
          #entry > .container > .contentForm > form > table tbody,
          #entry > .container > .contentForm > form > table tr,
          #entry > .container > .contentForm > form > table th,
          #entry > .container > .contentForm > form > table td {
            display: block; }
          #entry > .container > .contentForm > form > table th,
          #entry > .container > .contentForm > form > table td {
            padding: 25px 30px; }
          #entry > .container > .contentForm > form > table th {
            width: auto; }
            #entry > .container > .contentForm > form > table th .required {
              padding: 5px 15px;
              margin-left: 15px; } }
      #entry > .container > .contentForm > form .btn_wrap {
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
        align-items: flex-start;
        margin-top: 58px; }
        #entry > .container > .contentForm > form .btn_wrap > p {
          flex: 0 0 auto;
          width: 100%;
          text-align: center;
          margin-bottom: 20px; }
        #entry > .container > .contentForm > form .btn_wrap > button {
          display: flex;
          position: relative;
          justify-content: center;
          align-items: center;
          z-index: 5;
          text-decoration: none;
          width: 240px;
          height: 70px;
          margin: 0 20px;
          font-size: 1.3125rem;
          color: #fff;
          font-family: a-otf-ud-shin-go-pr6n, sans-serif;
          font-weight: 300;
          font-style: normal;
          -webkit-font-smoothing: antialiased;
          -moz-osx-font-smoothing: grayscale;
          letter-spacing: 0.08em;
          cursor: pointer; }
          #entry > .container > .contentForm > form .btn_wrap > button::before {
            content: '';
            position: absolute;
            left: 0;
            bottom: 0;
            width: 100%;
            height: 100%;
            background-color: #1f4081;
            z-index: -2; }
          #entry > .container > .contentForm > form .btn_wrap > button::after {
            content: '';
            position: absolute;
            right: 0;
            width: 0;
            height: 100%;
            bottom: 0;
            z-index: -1;
            background-color: #a9c43d;
            transition: width 0.3s ease-in-out; }
          #entry > .container > .contentForm > form .btn_wrap > button:hover::after {
            right: auto;
            left: 0;
            width: 100%; }
          #entry > .container > .contentForm > form .btn_wrap > button.confirm {
            width: 300px; }
          #entry > .container > .contentForm > form .btn_wrap > button.back {
            color: #878787; }
            #entry > .container > .contentForm > form .btn_wrap > button.back::before {
              background-color: #dadada; }
            #entry > .container > .contentForm > form .btn_wrap > button.back::after {
              background-color: #a9c43d; }
            #entry > .container > .contentForm > form .btn_wrap > button.back:hover {
              color: #fff; }
        @media (max-width: 750px) {
          #entry > .container > .contentForm > form .btn_wrap {
            margin-top: 50px; }
            #entry > .container > .contentForm > form .btn_wrap > button {
              padding: 15px 0;
              width: 280px;
              font-size: 130%; }
              #entry > .container > .contentForm > form .btn_wrap > button.confirm {
                width: 400px; } }
      #entry > .container > .contentForm > form input,
      #entry > .container > .contentForm > form textarea,
      #entry > .container > .contentForm > form button,
      #entry > .container > .contentForm > form select {
        margin: 0;
        padding: 0;
        background: none;
        border: none;
        border-radius: 0;
        outline: none;
        -webkit-appearance: none;
        -moz-appearance: none;
        appearance: none;
        vertical-align: middle; }
      #entry > .container > .contentForm > form select::-ms-expand {
        display: none; }
      #entry > .container > .contentForm > form input:-webkit-autofill,
      #entry > .container > .contentForm > form textarea:-webkit-autofill {
        -webkit-transition: background-color 999999s;
        transition: background-color 999999s; }
      #entry > .container > .contentForm > form input[type='text'],
      #entry > .container > .contentForm > form input[type='tel'],
      #entry > .container > .contentForm > form input[type='email'],
      #entry > .container > .contentForm > form input[type='number'],
      #entry > .container > .contentForm > form input[type='date'],
      #entry > .container > .contentForm > form textarea,
      #entry > .container > .contentForm > form select {
        font-size: 0.9375rem;
        padding: 6px 10px;
        border: 1px solid #e4e4e4;
        font-family: 'Hiragino Sans', 'Hiragino Kaku Gothic ProN', Meiryo, 'MS PGothic', sans-serif;
        line-height: 1.5;
        width: 360px;
        background: linear-gradient(to right, #e1efe3 50%, rgba(225, 239, 227, 0) 50%) right top no-repeat transparent;
        background-size: 200% 100%;
        transition: background-position 0.3s; }
        _:-ms-input-placeholder,
        :root #entry > .container > .contentForm > form input[type='text'],
        :root
        #entry > .container > .contentForm > form input[type='tel'],
        :root
        #entry > .container > .contentForm > form input[type='email'],
        :root
        #entry > .container > .contentForm > form input[type='number'],
        :root
        #entry > .container > .contentForm > form input[type='date'],
        :root
        #entry > .container > .contentForm > form textarea,
        :root
        #entry > .container > .contentForm > form select {
          font-family: Meiryo, 'MS PGothic', 'Hiragino Sans', 'Hiragino Kaku Gothic ProN', sans-serif; }
        #entry > .container > .contentForm > form input[type='text']:focus,
        #entry > .container > .contentForm > form input[type='tel']:focus,
        #entry > .container > .contentForm > form input[type='email']:focus,
        #entry > .container > .contentForm > form input[type='number']:focus,
        #entry > .container > .contentForm > form input[type='date']:focus,
        #entry > .container > .contentForm > form textarea:focus,
        #entry > .container > .contentForm > form select:focus {
          background-position-x: left; }
      #entry > .container > .contentForm > form input[name^='email'],
      #entry > .container > .contentForm > form input[name*='address'] {
        width: 720px; }
      #entry > .container > .contentForm > form input[name^='address-level'] {
        width: 360px; }
      #entry > .container > .contentForm > form input[name^='old'] {
        width: 120px; }
      #entry > .container > .contentForm > form textarea {
        width: 720px;
        max-width: 720px;
        min-width: 720px;
        min-height: 150px; }
      #entry > .container > .contentForm > form .check_wrap {
        display: flex;
        flex-wrap: wrap;
        align-items: flex-start; }
        #entry > .container > .contentForm > form .check_wrap label {
          display: flex;
          align-items: center;
          cursor: pointer;
          margin-right: 2em; }
        #entry > .container > .contentForm > form .check_wrap input[type='checkbox'],
        #entry > .container > .contentForm > form .check_wrap input[type='radio'] {
          width: 24px;
          height: 24px;
          margin-right: -24px; }
          #entry > .container > .contentForm > form .check_wrap input[type='checkbox'] + span,
          #entry > .container > .contentForm > form .check_wrap input[type='radio'] + span {
            display: block;
            width: 24px;
            height: 24px;
            border: 2px solid #26ac75;
            padding: 2px;
            position: relative;
            margin-right: 0.5em; }
            #entry > .container > .contentForm > form .check_wrap input[type='checkbox'] + span:after,
            #entry > .container > .contentForm > form .check_wrap input[type='radio'] + span:after {
              content: '';
              display: block;
              position: absolute;
              left: 3px;
              top: 3px;
              width: 14px;
              height: 14px;
              background-color: #26ac75;
              transform: scale(0);
              transition: transform 0.3s; }
          #entry > .container > .contentForm > form .check_wrap input[type='checkbox']:checked + span:after,
          #entry > .container > .contentForm > form .check_wrap input[type='radio']:checked + span:after {
            transform: scale(1) !important; }
        #entry > .container > .contentForm > form .check_wrap input[type='radio'] + span {
          border-radius: 50%; }
          #entry > .container > .contentForm > form .check_wrap input[type='radio'] + span:after {
            border-radius: 50%; }
      #entry > .container > .contentForm > form .select_wrap {
        display: inline-block;
        position: relative; }
        #entry > .container > .contentForm > form .select_wrap:after {
          content: '';
          display: block;
          position: absolute;
          right: 12px;
          top: 50%;
          border-style: solid;
          border-width: 11px 7px 0;
          margin-top: -5px;
          border-color: #26ac75 transparent transparent; }
      @media (max-width: 750px) {
        #entry > .container > .contentForm > form input[type='text'],
        #entry > .container > .contentForm > form input[type='tel'],
        #entry > .container > .contentForm > form input[type='email'],
        #entry > .container > .contentForm > form input[type='number'],
        #entry > .container > .contentForm > form input[type='date'],
        #entry > .container > .contentForm > form textarea,
        #entry > .container > .contentForm > form select {
          padding: 16px 20px;
          width: 600px; }
        #entry > .container > .contentForm > form input[name^='old'] {
          width: 200px; }
        #entry > .container > .contentForm > form textarea {
          width: 600px;
          max-width: 600px;
          min-width: 600px;
          min-height: 320px; }
        #entry > .container > .contentForm > form .check_wrap {
          display: block;
          margin: 15px 0 0; }
          #entry > .container > .contentForm > form .check_wrap label {
            font-size: 0.75rem;
            padding: 10px 30px 10px 0; }
          #entry > .container > .contentForm > form .check_wrap input[type='checkbox'] + span,
          #entry > .container > .contentForm > form .check_wrap input[type='radio'] + span {
            width: 40px;
            height: 40px;
            border-width: 3px; }
            #entry > .container > .contentForm > form .check_wrap input[type='checkbox'] + span:after,
            #entry > .container > .contentForm > form .check_wrap input[type='radio'] + span:after {
              left: 6px;
              top: 6px;
              width: 22px;
              height: 22px; }
        #entry > .container > .contentForm > form .select_wrap:after {
          right: 21px;
          top: 50%;
          border-width: 16px 10px 0;
          margin-top: -8px; } }
      #entry > .container > .contentForm > form .alertText {
        display: block;
        font-size: 80%;
        padding: 7px 0 0 0;
        color: red; }
    #entry > .container > .deco > span {
      position: absolute;
      display: block;
      pointer-events: none; }
      #entry > .container > .deco > span:nth-child(1) {
        left: -410px;
        top: 150px; }
      #entry > .container > .deco > span:nth-child(2) {
        right: -377px;
        top: 149px; }
  #entry.check, #entry.end {
    padding-top: 126px;
    margin-top: -126px; }
  @media (max-width: 750px) {
    #entry {
      margin-top: 34px; }
      #entry > .container {
        width: 750px;
        padding: 72px 40px 91px; }
        #entry > .container > .title {
          margin-bottom: 56px; }
          #entry > .container > .title > .ja {
            font-size: 1.875rem;
            letter-spacing: 0.1em; }
          #entry > .container > .title > .en {
            font-size: 1.4375rem;
            margin-top: 2px;
            letter-spacing: 0.1em; }
        #entry > .container > .contentForm {
          background-color: #fff;
          padding: 58px 40px; }
          #entry > .container > .contentForm > form > table {
            width: 100%; }
            #entry > .container > .contentForm > form > table th,
            #entry > .container > .contentForm > form > table td {
              padding: 27px 25px 23px 30px;
              border: 2px solid #ccc;
              border-width: 2px 0px 0px; }
            #entry > .container > .contentForm > form > table td {
              border-width: 0px;
              width: 100%;
              padding: 45px 20px 43px; }
              #entry > .container > .contentForm > form > table td input[type='text'] {
                border: none;
                padding: 26px 40px;
                width: 100%; }
                #entry > .container > .contentForm > form > table td input[type='text']::-moz-placeholder {
                  color: #a6a6a6;
                  font-weight: 300; }
                #entry > .container > .contentForm > form > table td input[type='text']:-ms-input-placeholder {
                  color: #a6a6a6;
                  font-weight: 300; }
                #entry > .container > .contentForm > form > table td input[type='text']::placeholder {
                  color: #a6a6a6;
                  font-weight: 300; }
              #entry > .container > .contentForm > form > table td input[type='number'] {
                border: none;
                padding: 28px 30px;
                width: 200px;
                text-align: center; }
              #entry > .container > .contentForm > form > table td input[type='email'],
              #entry > .container > .contentForm > form > table td input[type='tel'],
              #entry > .container > .contentForm > form > table td textarea {
                border: none;
                background-color: transparent;
                padding: 26px 40px 25px;
                width: 100%;
                max-width: 100%;
                min-width: 100%; }
              #entry > .container > .contentForm > form > table td textarea {
                min-height: 300px; }
              #entry > .container > .contentForm > form > table td input[type='radio'] + span {
                width: 30px !important;
                height: 30px !important;
                border: 1px solid #a6a6a6 !important; }
                #entry > .container > .contentForm > form > table td input[type='radio'] + span::after {
                  background-color: #a6a6a6 !important;
                  width: 22px !important;
                  height: 22px !important; }
            #entry > .container > .contentForm > form > table th {
              display: flex;
              justify-content: center;
              flex-direction: column;
              align-content: center;
              text-align: center;
              padding: 20px 25px 38px 25px; }
              #entry > .container > .contentForm > form > table th .required {
                padding: 0px 26px 3px;
                font-size: 0.6875rem;
                float: none;
                display: inline-block;
                margin: 4px auto 0; }
            #entry > .container > .contentForm > form > table tr:nth-child(1) td input[type='text'] {
              width: 100%; }
            #entry > .container > .contentForm > form > table tr:nth-child(1) td > span {
              width: 100%; }
            #entry > .container > .contentForm > form > table tr:nth-child(3) th {
              padding: 20px 25px 26px; }
            #entry > .container > .contentForm > form > table tr:nth-child(3) td {
              display: flex;
              flex-direction: column;
              padding: 37px 20px 26px;
              align-items: center; }
            #entry > .container > .contentForm > form > table tr:nth-child(3) td > span {
              width: 200px;
              text-align: center; }
              #entry > .container > .contentForm > form > table tr:nth-child(3) td > span input[type='number'] {
                background: transparent; }
                #entry > .container > .contentForm > form > table tr:nth-child(3) td > span input[type='number']:focus {
                  background: transparent; }
                  #entry > .container > .contentForm > form > table tr:nth-child(3) td > span input[type='number']:focus + .focus-bg:before {
                    right: 0;
                    left: 0;
                    width: 200px; }
              #entry > .container > .contentForm > form > table tr:nth-child(3) td > span span:before {
                right: 0;
                height: 101px; }
              #entry > .container > .contentForm > form > table tr:nth-child(3) td > span span::after {
                width: 200px;
                height: 101px; }
            #entry > .container > .contentForm > form > table tr:nth-child(6) th {
              padding: 20px 25px 26px; }
            #entry > .container > .contentForm > form > table tr:nth-child(6) td {
              padding: 45px 34px 34px 47px; }
            #entry > .container > .contentForm > form > table tr:nth-child(7) th {
              padding: 20px 20px 38px; }
            #entry > .container > .contentForm > form > table tr:nth-child(7) td {
              padding: 30px 20px 43px; }
            #entry > .container > .contentForm > form > table tr:nth-child(8) th {
              padding: 20px 25px 26px; }
            #entry > .container > .contentForm > form > table tr:nth-child(8) td {
              padding: 40px 20px 43px; }
              #entry > .container > .contentForm > form > table tr:nth-child(8) td > .mt10 {
                margin-top: 13px !important; }
            #entry > .container > .contentForm > form > table tr:last-child th {
              padding-top: 19px; }
            #entry > .container > .contentForm > form > table tr:last-child td {
              border-bottom: 2px solid #ccc; }
          #entry > .container > .contentForm > form .check_wrap {
            display: flex;
            justify-content: center;
            margin: 3px 0 13px; }
            #entry > .container > .contentForm > form .check_wrap label {
              font-size: 1rem;
              font-weight: 300;
              color: #000;
              padding: 10px 31px 10px 23px;
              margin-right: 5px; }
            #entry > .container > .contentForm > form .check_wrap input[type='checkbox'] + span,
            #entry > .container > .contentForm > form .check_wrap input[type='radio'] + span {
              width: 60px !important;
              height: 60px !important;
              border-width: 2px !important; }
              #entry > .container > .contentForm > form .check_wrap input[type='checkbox'] + span:after,
              #entry > .container > .contentForm > form .check_wrap input[type='radio'] + span:after {
                background-color: #a9c43d !important;
                left: 5px;
                top: 5px;
                width: 46px !important;
                height: 46px !important; }
          #entry > .container > .contentForm > form .select_wrap:after {
            right: 21px;
            top: 50%;
            border-width: 16px 10px 0;
            margin-top: -8px; }
          #entry > .container > .contentForm > form .btn_wrap {
            margin-top: 56px; }
            #entry > .container > .contentForm > form .btn_wrap > button {
              width: 200px;
              height: 120px;
              font-size: 1.25rem; }
              #entry > .container > .contentForm > form .btn_wrap > button.confirm {
                width: 480px; }
              #entry > .container > .contentForm > form .btn_wrap > button.send {
                width: 300px; }
      #entry.check, #entry.end {
        padding-top: 156px;
        margin-top: -156px; } }

/* faq
-------------------------------------------------------------------------------------------------------------------- */
#faq > .container {
  position: relative;
  width: 1100px;
  margin: 0 auto;
  display: flex;
  z-index: 1;
  justify-content: space-between;
  padding-top: 119px; }
  #faq > .container > .title {
    position: relative;
    z-index: 2; }
  #faq > .container > .boxIn {
    width: 860px;
    position: relative;
    z-index: 2; }
    #faq > .container > .boxIn > .ui_list_faq {
      width: 100%;
      display: flex;
      flex-direction: column; }
      #faq > .container > .boxIn > .ui_list_faq > li {
        overflow: hidden;
        transition: height 0.3s;
        background-color: #fff;
        margin-bottom: 19px;
        padding: 45px 50px 33px 110px; }
        #faq > .container > .boxIn > .ui_list_faq > li:nth-child(4) > .question, #faq > .container > .boxIn > .ui_list_faq > li:nth-child(7) > .question, #faq > .container > .boxIn > .ui_list_faq > li:nth-child(8) > .question {
          padding-bottom: 9px; }
        #faq > .container > .boxIn > .ui_list_faq > li.open > .question::after {
          transform: rotate(0); }
        #faq > .container > .boxIn > .ui_list_faq > li.open > .answer {
          opacity: 1; }
        #faq > .container > .boxIn > .ui_list_faq > li > .question {
          font-size: 1.4375rem;
          font-family: a-otf-ud-shin-go-pr6n, sans-serif;
          font-weight: 300;
          font-style: normal;
          -webkit-font-smoothing: antialiased;
          -moz-osx-font-smoothing: grayscale;
          position: relative;
          line-height: 1.478;
          color: #1f4081;
          letter-spacing: 0.08em;
          cursor: pointer; }
          #faq > .container > .boxIn > .ui_list_faq > li > .question::before {
            content: 'Q';
            font-family: niveau-grotesk, sans-serif;
            font-weight: 500;
            font-style: normal;
            font-size: 3.375rem;
            line-height: 1.5;
            color: #00b8fb;
            position: absolute;
            top: -25px;
            left: -72px; }
          #faq > .container > .boxIn > .ui_list_faq > li > .question::after {
            content: '';
            display: block;
            position: absolute;
            background-position: center;
            background-repeat: no-repeat;
            background-size: cover;
            pointer-events: none;
            background-image: url("/asset/icoArrow_faq.png");
            width: 30px;
            height: 30px;
            top: 0;
            right: -10px;
            transform: rotate(180deg);
            z-index: 1;
            transition: transform 0.3s; }
            @media (max-width: 750px) {
              #faq > .container > .boxIn > .ui_list_faq > li > .question::after {
                background-image: url("/asset/icoArrow_faq_sp.png"); } }
            @media (min-width: 751px) and (-webkit-min-device-pixel-ratio: 2), (min-width: 751px) and (min-resolution: 2dppx) {
              #faq > .container > .boxIn > .ui_list_faq > li > .question::after {
                background-image: url("/asset/icoArrow_faq@2x.png"); } }
        #faq > .container > .boxIn > .ui_list_faq > li > .answer {
          position: relative;
          padding-top: 16px;
          opacity: 0;
          transition: opacity 0.3s; }
          #faq > .container > .boxIn > .ui_list_faq > li > .answer::before {
            content: 'A';
            font-family: niveau-grotesk, sans-serif;
            font-weight: 500;
            font-style: normal;
            font-size: 3.375rem;
            color: #a9c43d;
            position: absolute;
            top: 50%;
            left: -68px;
            line-height: 1.1481;
            margin-top: -24px; }
  #faq > .container > .deco {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    pointer-events: none; }
    #faq > .container > .deco > span {
      position: absolute;
      display: block;
      pointer-events: none; }
      #faq > .container > .deco > span:nth-child(1) {
        left: -477px;
        top: 392px; }
      #faq > .container > .deco > span:nth-child(2) {
        right: -521px;
        top: 477px; }
      #faq > .container > .deco > span:nth-child(3) {
        left: -295px;
        top: 1135px;
        transform: scale(1, -1); }
      #faq > .container > .deco > span:nth-child(4) {
        right: -751px;
        top: 1516px;
        transform: scale(1, -1); }
      #faq > .container > .deco > span:nth-child(5) {
        left: -568px;
        top: 217px; }
      #faq > .container > .deco > span:nth-child(6) {
        right: -550px;
        top: 286px;
        transform: scale(-1); }
      #faq > .container > .deco > span:nth-child(7) {
        left: -442px;
        top: 1243px;
        transform: scale(-1); }

@media (max-width: 750px) {
  #faq > .container {
    width: 750px;
    padding: 100px 40px 95px;
    flex-direction: column; }
    #faq > .container > .title {
      text-align: center;
      margin-bottom: 70px; }
    #faq > .container > .boxIn {
      width: 100%; }
      #faq > .container > .boxIn > .ui_list_faq {
        width: 100%;
        display: flex;
        flex-direction: column; }
        #faq > .container > .boxIn > .ui_list_faq > li {
          overflow: hidden;
          transition: height 0.3s;
          background-color: #fff;
          margin-bottom: 49px;
          padding: 54px 0 34px 123px; }
          #faq > .container > .boxIn > .ui_list_faq > li:nth-child(4) > .question, #faq > .container > .boxIn > .ui_list_faq > li:nth-child(7) > .question, #faq > .container > .boxIn > .ui_list_faq > li:nth-child(8) > .question {
            padding-bottom: 70px; }
          #faq > .container > .boxIn > .ui_list_faq > li:nth-child(3) {
            padding-bottom: 46px; }
          #faq > .container > .boxIn > .ui_list_faq > li:nth-child(2) {
            padding-bottom: 46px; }
            #faq > .container > .boxIn > .ui_list_faq > li:nth-child(2) > .question {
              padding-right: 0; }
          #faq > .container > .boxIn > .ui_list_faq > li:last-child {
            margin-bottom: 0; }
          #faq > .container > .boxIn > .ui_list_faq > li.open > .question::after {
            transform: rotate(0); }
          #faq > .container > .boxIn > .ui_list_faq > li.open > .answer {
            opacity: 1; }
          #faq > .container > .boxIn > .ui_list_faq > li > .question {
            font-size: 1.0625rem;
            line-height: 1.764;
            letter-spacing: 0;
            padding-bottom: 70px;
            padding-right: 20px; }
            #faq > .container > .boxIn > .ui_list_faq > li > .question::before {
              font-size: 2.5rem;
              top: -34px;
              left: -85px; }
            #faq > .container > .boxIn > .ui_list_faq > li > .question::after {
              width: 40px;
              height: 40px;
              top: auto;
              right: calc(50% + 42px);
              bottom: 4px; }
          #faq > .container > .boxIn > .ui_list_faq > li > .answer {
            position: relative;
            padding-top: 20px;
            padding-right: 20px;
            opacity: 0;
            transition: opacity 0.3s; }
            #faq > .container > .boxIn > .ui_list_faq > li > .answer::before {
              top: 0;
              left: -82px;
              font-size: 2.5rem; }
            #faq > .container > .boxIn > .ui_list_faq > li > .answer p {
              font-size: 1rem;
              font-weight: 300;
              line-height: 1.9375;
              letter-spacing: 0; } }

/* philosophy
-------------------------------------------------------------------------------------------------------------------- */
#philosophy {
  background-image: url("/asset/bg_philosophy.jpg");
  background-size: cover;
  background-repeat: repeat;
  margin-top: 111px; }
  @media (max-width: 750px) {
    #philosophy {
      background-image: url("/asset/bg_philosophy_sp.jpg"); } }
  @media (min-width: 751px) and (-webkit-min-device-pixel-ratio: 2), (min-width: 751px) and (min-resolution: 2dppx) {
    #philosophy {
      background-image: url("/asset/bg_philosophy@2x.jpg"); } }
  #philosophy > .container {
    width: 1100px;
    position: relative;
    z-index: 1;
    margin: 0 auto;
    padding-top: 106px;
    padding-bottom: 111px; }
    #philosophy > .container > .title {
      text-align: center;
      padding-right: 20px;
      margin-bottom: 94px; }
      #philosophy > .container > .title > .ja {
        font-family: a-otf-ud-shin-go-pr6n, sans-serif;
        font-weight: 300;
        font-style: normal;
        -webkit-font-smoothing: antialiased;
        -moz-osx-font-smoothing: grayscale;
        font-size: 2.8125rem;
        line-height: 1.555;
        color: #fff;
        letter-spacing: 0.08em; }
      #philosophy > .container > .title > .en {
        position: absolute;
        top: 111px;
        left: -329px;
        letter-spacing: 0.06em;
        font-family: niveau-grotesk, sans-serif;
        font-weight: 500;
        font-style: normal;
        font-size: 7.75rem;
        color: #fff;
        opacity: 0.3;
        -ms-writing-mode: tb-rl;
        writing-mode: vertical-rl; }
        #philosophy > .container > .title > .en .combine {
          -webkit-text-combine: horizontal;
          -moz-text-combine-upright: all;
          -ms-text-combine-horizontal: all;
          text-combine-upright: all; }
    #philosophy > .container > .contents > .boxIn {
      display: flex;
      justify-content: flex-end;
      position: relative;
      margin-bottom: 82px; }
      #philosophy > .container > .contents > .boxIn.reverse {
        justify-content: flex-start;
        margin-bottom: 0; }
        #philosophy > .container > .contents > .boxIn.reverse > .pic {
          position: absolute;
          top: auto;
          left: auto;
          bottom: -111px;
          right: -410px;
          z-index: -1; }
      #philosophy > .container > .contents > .boxIn > .pic {
        position: absolute;
        top: -341px;
        left: -410px;
        z-index: -1; }
      #philosophy > .container > .contents > .boxIn > .text {
        width: 740px; }
        #philosophy > .container > .contents > .boxIn > .text > .tit {
          height: 70px;
          width: 100%;
          display: flex;
          align-items: center;
          color: #a9c43d;
          font-family: a-otf-ud-shin-go-pr6n, sans-serif;
          font-weight: 300;
          font-style: normal;
          -webkit-font-smoothing: antialiased;
          -moz-osx-font-smoothing: grayscale;
          font-size: 1.625rem;
          background-color: #1f4081;
          padding-left: 25px;
          letter-spacing: 0.12em;
          margin-bottom: 31px; }
        #philosophy > .container > .contents > .boxIn > .text > p {
          font-weight: 300;
          line-height: 1.9375;
          font-size: 1rem;
          color: #fff; }
  @media (min-width: 1921px) {
    #philosophy > .container > .contents > .boxIn.reverse > .pic {
      top: auto;
      bottom: 307px;
      right: auto;
      left: 50%; }
      #philosophy > .container > .contents > .boxIn.reverse > .pic span {
        left: auto;
        right: 0; }
    #philosophy > .container > .contents > .boxIn > .pic {
      display: block;
      width: 100vw;
      height: 100%;
      margin: 0 auto;
      transform: translateX(-50%);
      position: absolute;
      top: -342px;
      left: 50%;
      z-index: -1; }
      #philosophy > .container > .contents > .boxIn > .pic span {
        position: absolute;
        left: 0;
        top: 0;
        display: block; } }
  @media (max-width: 750px) {
    #philosophy {
      margin-top: 0; }
      #philosophy > .container {
        width: 750px;
        padding: 301px 40px 143px; }
        #philosophy > .container > .title {
          text-align: center;
          padding-right: 0;
          margin-bottom: 56px; }
          #philosophy > .container > .title > .ja {
            font-size: 1.8125rem;
            line-height: 1.4137; }
          #philosophy > .container > .title > .en {
            top: -21px;
            left: -8px;
            letter-spacing: 0.04em;
            font-size: 3.75rem;
            -ms-writing-mode: lr-tb;
            writing-mode: horizontal-tb;
            line-height: 1; }
        #philosophy > .container > .contents > .boxIn {
          display: flex;
          justify-content: flex-end;
          position: relative;
          margin-bottom: 68px; }
          #philosophy > .container > .contents > .boxIn.reverse {
            justify-content: flex-start;
            margin-bottom: 0; }
            #philosophy > .container > .contents > .boxIn.reverse > .pic {
              position: absolute;
              top: auto;
              left: auto;
              bottom: -111px;
              right: -410px;
              z-index: -1; }
          #philosophy > .container > .contents > .boxIn > .pic {
            top: -612px;
            left: -40px; }
          #philosophy > .container > .contents > .boxIn > .text {
            width: 100%; }
            #philosophy > .container > .contents > .boxIn > .text > .tit {
              height: 131px;
              width: 100%;
              font-size: 1.375rem;
              padding-left: 0;
              letter-spacing: 0.08em;
              margin-bottom: 41px;
              text-align: center;
              justify-content: center; }
            #philosophy > .container > .contents > .boxIn > .text > p {
              font-weight: 300;
              line-height: 1.9375;
              font-size: 1rem;
              color: #fff; } }

/* scrollEffect custom
-------------------------------------------------------------------------------------------------------------------- */
.scrollEffect.csAnima {
  -webkit-animation: none !important;
          animation: none !important;
  transition: transform 2s ease, opacity 2s ease; }
  .scrollEffect.csAnima.left {
    transform: translateX(-50px); }
    .scrollEffect.csAnima.left.show {
      transform: translateX(0px); }
  .scrollEffect.csAnima.right {
    transform: translateX(50px); }
    .scrollEffect.csAnima.right.show {
      transform: translateX(0px); }
  .scrollEffect.csAnima.fadeup {
    transform: translateY(50px); }
    .scrollEffect.csAnima.fadeup.show {
      transform: translateX(0px); }
  .scrollEffect.csAnima.show {
    opacity: 1; }
   @charset "UTF-8";
  /*//////////////////////////////////////////////////////////

  Copyright (C) apricot-design All Rights Reserved.
  ------------------------------------------------------------
  CSS information
  file name  :  reset.css
  style info :  リセットファイル
  admin info :  apricot-design

  //////////////////////////////////////////////////////////*/
  article, aside, details, figcaption, figure, footer, header, hgroup, nav, section {
    display: block;
  }

  audio[controls], canvas, video {
    display: inline-block;
    *display: inline;
    zoom: 1;
  }

  html {
    overflow-y: scroll;
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
    -webkit-text-size-adjust: 100%;
    -ms-text-size-adjust: 100%;
  }

  body, div, dl, dt, dd, h1, h2, h3, h4, h5, h6, pre, form, fieldset, input, textarea, p, blockquote, th, td, ul {
    margin: 0;
    padding: 0;
  }

  body, button, input, select, textarea {
    font-size: 100%;
  }

  abbr[title] {
    border-bottom: 1px dotted;
  }

  b, strong {
    font-weight: bold;
  }

  blockquote {
    margin: 1em 40px;
  }

  dfn {
    font-style: italic;
  }

  mark {
    background: #ff0;
    color: #000;
  }

  pre, code, kbd, samp {
    font-family: monospace, monospace;
    _font-family: "courier new", monospace;
    font-size: 1em;
  }

  pre {
    white-space: pre;
    white-space: pre-wrap;
    word-wrap: break-word;
  }

  q {
    quotes: none;
  }
  q:before, q:after {
    content: "";
    content: none;
  }

  small {
    font-size: 75%;
  }

  sub {
    font-size: 75%;
    line-height: 0;
    position: relative;
    vertical-align: baseline;
  }

  sup {
    font-size: 75%;
    line-height: 0;
    position: relative;
    vertical-align: baseline;
    top: -0.5em;
  }

  sub {
    bottom: -0.25em;
  }

  ul, ol {
    margin: 0;
    padding: 0;
  }

  dd {
    margin: 0px;
  }

  nav ul, nav ol {
    list-style: none;
  }

  img {
    border: 0;
    -ms-interpolation-mode: bicubic;
  }

  svg:not(:root) {
    overflow: hidden;
  }

  figure, form {
    margin: 0;
  }

  fieldset {
    margin: 0 2px;
    padding: 0.35em 0.625em 0.75em;
  }

  legend {
    border: 0;
    *margin-left: -7px;
  }

  button, input, select, textarea {
    font-size: 100%;
    margin: 0;
    vertical-align: baseline;
    *vertical-align: middle;
  }

  button, input {
    line-height: normal;
    *overflow: visible;
  }

  button {
    cursor: pointer;
    -webkit-appearance: button;
  }

  input[type=button], input[type=reset], input[type=submit] {
    cursor: pointer;
    -webkit-appearance: button;
  }
  input[type=checkbox], input[type=radio] {
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
  }
  input[type=search] {
    -webkit-appearance: textfield;
    -webkit-box-sizing: content-box;
    box-sizing: content-box;
  }
  input[type=search]::-webkit-search-decoration {
    -webkit-appearance: none;
  }

  button::-moz-focus-inner, input::-moz-focus-inner {
    border: 0;
    padding: 0;
  }

  textarea {
    overflow: auto;
    vertical-align: top;
  }

  table {
    border-collapse: collapse;
    border-spacing: 0;
  }

  address, caption, cite, code, dfn, em, strong, th, var {
    font-style: normal;
  }

  h1, h2, h3, h4, h5, h6 {
    font-weight: normal;
    font-size: 100%;
  }

  img, abbr, acronym, fieldset {
    border: 0;
  }

  li {
    list-style: none;
  }

  /*画像を縦に並べた時に余白が出ないように*/
  img {
    vertical-align: top;
    font-size: 0;
    line-height: 0;
  }

  /*box-sizingを全ブラウザに対応*/
  * {
    -webkit-box-sizing: border-box;
    -ms-box-sizing: border-box;
    -o-box-sizing: border-box;
    box-sizing: border-box;
  }
  *:before, *:after {
    -webkit-box-sizing: border-box;
    -ms-box-sizing: border-box;
    -o-box-sizing: border-box;
    box-sizing: border-box;
  }

  .ie6_error, .no_script {
    background: #F66;
    padding: 100px;
    text-align: center;
    font-size: 150%;
    color: #333;
  }

  .flt {
    float: left;
  }

  .flr {
    float: right;
  }

  .txt_l, td.txt_l, .txt_l td {
    text-align: left;
  }

  .txt_r, td.txt_r, .txt_r td {
    text-align: right;
  }

  .txt_c, td.txt_c, .txt_c td {
    text-align: center;
  }

  .valign_t, td.valign_t, .valign_t td {
    vertical-align: top;
  }

  .valign_m, td.valign_m, .valign_m td {
    vertical-align: middle;
  }

  .valign_b, td.valign_b, .valign_b td {
    vertical-align: bottom;
  }

  .clear {
    clear: both;
  }

  .clearfix {
    zoom: 1;
  }
  .clearfix:before {
    content: "";
    display: block;
  }
  .clearfix:after {
    content: "";
    display: block;
    clear: both;
  }

  .img_bd {
    border: solid 1px #E8E8E8;
  }

  .c_red {
    color: #FF3425;
  }

  html {
    width: 100%;
  }

  body {
    font: 400 16px/1.8 "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", "メイリオ", Meiryo, sans-serif;
    color: #2b3148;
    text-align: left;
    letter-spacing: 1px;
  }
  @media screen and (max-width: 767px) {
    body {
      font-size: 15px;
    }
  }

  .win body {
    font-family: "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", "メイリオ", Meiryo, sans-serif;
  }

  a {
    text-decoration: none;
    color: #2b3148;
    -webkit-transition: 0.3s;
    transition: 0.3s;
  }
  a:link, a:active, a:visited {
    text-decoration: none;
  }

  .opacity {
    -webkit-transition: 0.3s;
    transition: 0.3s;
  }
  .opacity:hover {
    opacity: 0.5;
  }

  img {
    max-width: 100%;
    height: auto;
  }
  img[src$=".svg"] {
    max-width: 100%;
    width: 100%;
    height: auto;
  }

  @media screen and (max-width: 767px) {
    .pc {
      display: none;
    }
  }

  .sp {
    display: none;
  }
  @media screen and (max-width: 767px) {
    .sp {
      display: inherit;
    }
  }

  ::-moz-selection {
    background-color: #fff800;
    color: #2b3148;
  }

  ::selection {
    background-color: #fff800;
    color: #2b3148;
  }

  #container_wrap {
    overflow: hidden;
    min-width: 1000px;
  }
  @media screen and (max-width: 767px) {
    #container_wrap {
      min-width: 1px;
    }
  }

  .inner {
    max-width: 1040px;
    width: 100%;
    margin: 0 auto;
    padding: 0 30px;
  }
  @media screen and (max-width: 767px) {
    .inner {
      padding: 0 6%;
    }
  }
  .inner::after {
    content: "";
    display: block;
    clear: both;
  }

  .section_wrap {
    padding: 115px 0;
  }
  @media screen and (max-width: 767px) {
    .section_wrap {
      padding: 3.5em 0;
    }
  }

  .header_box {
    width: 100%;
    margin: 0 auto;
    overflow: hidden;
    position: absolute;
    top: 0;
    left: 0;
    padding: 2.5vw;
    z-index: 1;
    min-width: 1000px;
  }
  @media screen and (max-width: 767px) {
    .header_box {
      padding: 0 5%;
      min-width: 1px;
    }
  }

  .header_ttl img.logo {
    width: 382px;
  }
  @media screen and (max-width: 1200px) {
    .header_ttl img.logo {
      width: 250px;
    }
  }
  .header_ttl p {
    color: #fff;
    font-size: 1.125em;
    font-family: "Noto Serif JP", serif;
    margin-bottom: 5px;
  }
  @media screen and (max-width: 1200px) {
    .header_ttl p {
      font-size: 1em;
    }
  }
  @media screen and (max-width: 767px) {
    .header_ttl p {
      padding-top: 10px;
      font-size: 0.9em;
    }
  }

  #header_left {
    float: left;
  }

  #header_right {
    float: right;
  }
  #header_right .right_box {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
  #header_right .header_time {
    color: #fff;
    font-size: 0.6875em;
    margin-right: 40px;
  }
  #header_right .header_web {
    width: 200px;
    margin: 0;
    -webkit-transition: 0.3s;
    transition: 0.3s;
  }
  #header_right .header_web:hover {
    opacity: 0.85;
    -webkit-transition: 0.3s;
    transition: 0.3s;
  }

  #gnavi {
    position: absolute;
    content: "";
    left: 0;
    bottom: 0;
    width: 100%;
    padding: 0 30px;
  }
  @media screen and (max-width: 767px) {
    #gnavi {
      position: relative;
    }
  }
  #gnavi ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    text-align: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
  @media screen and (max-width: 767px) {
    #gnavi ul {
      display: block;
    }
  }
  #gnavi ul li {
    margin-right: 2em;
    font-family: "Noto Serif JP", serif;
    color: #fff;
    text-align: center;
    font-size: 1.125em;
  }
  @media screen and (max-width: 767px) {
    #gnavi ul li {
      margin: 0;
    }
  }
  #gnavi ul li a {
    color: #fff !important;
    padding-bottom: 80px;
    display: inline-block;
    position: relative;
  }
  @media screen and (max-width: 767px) {
    #gnavi ul li a {
      padding-bottom: 25px;
    }
  }
  #gnavi ul li a:before {
    position: absolute;
    content: "";
    width: 10px;
    height: 10px;
    border-top: 2px solid #fff;
    border-right: 2px solid #fff;
    -webkit-transform: rotate(135deg);
            transform: rotate(135deg);
    left: 0;
    right: 0;
    margin: 0 auto;
    bottom: 50px;
    -webkit-transition: 0.3s;
    transition: 0.3s;
  }
  @media screen and (max-width: 767px) {
    #gnavi ul li a:before {
      bottom: 15px;
    }
  }
  #gnavi ul li span {
    display: block;
    font-family: "Gowun Dodum", sans-serif;
    color: #cbfffe;
    font-size: 0.77em;
    letter-spacing: 2px;
  }
  #gnavi ul li:hover {
    opacity: 0.85;
  }
  #gnavi ul li:hover a:before {
    bottom: 40px;
    -webkit-transition: 0.3s;
    transition: 0.3s;
  }

  .fixed {
    position: fixed !important;
    top: 0;
    left: 0;
    height: 80px;
    z-index: 10;
    background: #2b3148;
    -webkit-transition: 0.3s;
    transition: 0.3s;
    width: 100%;
    overflow: hidden;
    min-width: 1000px;
  }
  @media screen and (max-width: 767px) {
    .fixed {
      min-width: 1px;
      position: relative !important;
      height: auto;
    }
  }
  .fixed a {
    padding-bottom: 60px !important;
  }
  @media screen and (max-width: 767px) {
    .fixed a {
      top: auto;
      padding-bottom: 25px !important;
    }
  }

  #overlay {
    width: 100%;
    display: contents;
  }
  @media screen and (max-width: 767px) {
    #overlay {
      display: none;
      width: 100%;
      height: 100%;
      text-align: center;
      position: fixed;
      top: 0;
      left: 0;
      z-index: 5;
      background: #2b3148;
      -webkit-box-sizing: border-box;
              box-sizing: border-box;
      overflow-y: scroll;
      -webkit-transition: all 0.3s;
      transition: all 0.3s;
      padding: 70px 0;
    }
    #overlay.active {
      display: block;
      height: 100%;
      opacity: 1;
      -webkit-transition: all 0.3s;
      transition: all 0.3s;
    }
  }

  @media screen and (max-width: 767px) {
    .menu-trigger {
      display: inline-block;
      -webkit-transition: all 0.3s;
      transition: all 0.3s;
      -webkit-box-sizing: border-box;
              box-sizing: border-box;
      position: fixed;
      top: 7px;
      right: 10px;
      width: 50px;
      height: 50px;
      z-index: 9999;
      text-align: center;
      font-weight: bold;
      cursor: pointer;
    }
    .menu-trigger span {
      display: inline-block;
      -webkit-transition: all 0.3s;
      transition: all 0.3s;
      -webkit-box-sizing: border-box;
              box-sizing: border-box;
      position: absolute;
      z-index: 4;
      width: 100%;
      height: 2px;
      background: #fff;
      right: 0;
      margin: auto;
    }
    .menu-trigger span:nth-of-type(1) {
      top: 25%;
    }
    .menu-trigger span:nth-of-type(2) {
      top: 45%;
      width: 55%;
      right: 0;
      left: unset;
    }
    .menu-trigger.active span {
      -webkit-transition: all 0.3s;
      transition: all 0.3s;
      background: #fff;
    }
    .menu-trigger.active span:nth-of-type(1) {
      -webkit-transform: translateY(20px) rotate(30deg);
              transform: translateY(20px) rotate(30deg);
      top: 0px;
      width: 80%;
    }
    .menu-trigger.active span:nth-of-type(2) {
      -webkit-transform: translateY(-20px) rotate(-30deg);
              transform: translateY(-20px) rotate(-30deg);
      bottom: -10px;
      width: 80%;
    }
    .menu-trigger p {
      color: #cbfffe;
      font-family: "Gowun Dodum", sans-serif;
      padding-top: 28px;
      text-align: right;
    }
  }

  .nav_btn {
    max-width: 250px;
    margin: 25px auto 0;
    background: #fff;
    padding: 8px;
  }

  #footer {
    width: 100%;
    margin: 0 auto;
    overflow: hidden;
  }
  @media screen and (max-width: 767px) {
    #footer {
      padding: 0 8%;
    }
  }

  .copy {
    padding: 25px 0 65px;
    font-size: 0.9375em;
    color: #fff;
  }
  @media screen and (max-width: 767px) {
    .copy {
      padding: 75px 0 25px;
    }
  }

  .main_img {
    position: relative;
  }
  .main_img img {
    width: 100%;
  }
  .main_img .main_txt_area {
    position: absolute;
    content: "";
    width: 100%;
    max-width: 338px;
    left: 55%;
    bottom: 45%;
  }
  @media screen and (max-width: 767px) {
    .main_img .main_txt_area {
      width: 70%;
      left: 0;
      right: 0;
      margin: 0 auto;
      bottom: 30%;
    }
  }
  .main_img .main_txt_area .arrowWrap {
    position: absolute;
    right: 150px;
    bottom: -180px;
    height: 140px;
  }
  @media screen and (max-width: 1200px) {
    .main_img .main_txt_area .arrowWrap {
      bottom: -160px;
    }
  }
  .main_img .main_txt_area .arrowInner p {
    font-size: 0.875em;
    font-family: "Gowun Dodum", sans-serif;
    color: #cbfffe;
    text-align: end;
    -webkit-transform: rotate(90deg);
            transform: rotate(90deg);
    position: absolute;
    top: 55px;
  }
  .main_img .main_txt_area .arrow {
    width: 1px;
    height: 140px;
    margin: 0 auto 0;
    background-color: #eee;
    position: relative;
    overflow: hidden;
  }
  .main_img .main_txt_area .arrow::before {
    content: "";
    width: 1px;
    height: 140px;
    margin: 40px auto 0;
    background-color: #000;
    position: absolute;
    top: -180px;
    left: 0;
    -webkit-animation: arrow 2.5s ease 0s infinite normal;
    animation: arrow 2.5s ease 0s infinite normal;
  }
  @-webkit-keyframes arrow {
    0% {
      -webkit-transform: translate3d(-50%, 0, 0);
      transform: translate3d(-50%, 0, 0);
    }
    60% {
      -webkit-transform: translate3d(-50%, 140px, 0);
      transform: translate3d(-50%, 140px, 0);
    }
    100% {
      -webkit-transform: translate3d(-50%, 140px, 0);
      transform: translate3d(-50%, 140px, 0);
    }
  }
  @keyframes arrow {
    0% {
      -webkit-transform: translate3d(-50%, 0, 0);
      transform: translate3d(-50%, 0, 0);
    }
    60% {
      -webkit-transform: translate3d(-50%, 140px, 0);
      transform: translate3d(-50%, 140px, 0);
    }
    100% {
      -webkit-transform: translate3d(-50%, 140px, 0);
      transform: translate3d(-50%, 140px, 0);
    }
  }

  .sec_01 {
    background: url(/asset/sec01_bg.jpg) no-repeat center/cover;
    padding: 112px 0 350px;
  }
  @media screen and (max-width: 767px) {
    .sec_01 {
      padding: 60px 0 130px;
      background: url(/asset/sec01_bg.jpg) no-repeat 50%/cover;
    }
  }
  .sec_01 .list_sec01 li {
    font-size: 1.4375em;
    font-family: "Noto Serif JP", serif;
    padding-left: 45px;
    line-height: 1;
    margin-bottom: 40px;
    position: relative;
  }
  @media screen and (max-width: 767px) {
    .sec_01 .list_sec01 li {
      font-size: 1.2em;
      margin-bottom: 25px;
      padding-left: 40px;
    }
  }
  .sec_01 .list_sec01 li:last-child {
    margin-bottom: 0;
  }
  .sec_01 .list_sec01 li:before {
    position: absolute;
    content: "";
    background: url(/asset/icon_check.svg) no-repeat center/contain;
    width: 30px;
    height: 28px;
    top: 0;
    left: 0;
  }
  @media screen and (max-width: 767px) {
    .sec_01 .list_sec01 li:before {
      width: 25px;
      height: 23px;
    }
  }

  .sec_02 {
    background: -webkit-gradient(linear, left top, left bottom, from(#2193b0), to(#6dd5ed));
    background: linear-gradient(#2193b0, #6dd5ed);
    overflow: hidden;
  }
  @media screen and (max-width: 767px) {
    .sec_02 {
      padding-bottom: 100px;
    }
  }
  .sec_02 .inner {
    position: relative;
  }
  .sec_02 .inner:before {
    position: absolute;
    content: "";
    background: url(/asset/sec02_img.png) no-repeat center/contain;
    width: 741px;
    height: 556px;
    right: -210px;
    bottom: -240px;
  }
  @media screen and (max-width: 767px) {
    .sec_02 .inner:before {
      width: 391px;
      height: 206px;
      right: -112px;
      bottom: -158px;
    }
  }

  .sec_03 {
    background: url(/asset/sec03_bg.jpg) no-repeat center/cover;
  }
  .sec_03 .sec03_img {
    width: 100%;
    margin-bottom: 30px;
  }
  @media screen and (max-width: 767px) {
    .sec_03 .sec03_img {
      margin-bottom: 20px;
    }
  }
  .sec_03 .name {
    font-size: 1.625em;
    color: #fff;
    margin-bottom: 45px;
    position: relative;
  }
  @media screen and (max-width: 767px) {
    .sec_03 .name {
      font-size: 1.5em;
      margin-bottom: 20px;
    }
  }
  .sec_03 .name:before {
    position: absolute;
    content: "";
    background: url(/asset/sec03_name.svg) no-repeat center/contain;
    width: 188px;
    height: 64px;
    top: -15px;
    left: 160px;
  }
  @media screen and (max-width: 767px) {
    .sec_03 .name:before {
      font-size: 1.5em;
      width: 178px;
      left: 130px;
    }
  }
  .sec_03 .sec03_txt {
    color: #fff;
    font-family: "Noto Serif JP", serif;
    font-size: 1.125em;
    border-bottom: 2px solid #cbfffe;
    display: inline-block;
    padding-bottom: 10px;
    margin-bottom: 15px;
  }

  .sec_04 {
    background: url(/asset/sec04_bg.jpg) no-repeat left/cover;
  }
  .sec_04 .list_sec04 li {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    width: 100%;
    margin-bottom: 2%;
  }
  .sec_04 .list_sec04 li .left {
    width: 38%;
    margin-right: 2%;
    background: #2b3148;
    color: #fff;
    font-family: "Noto Serif JP", serif;
    padding: 15px;
    font-size: 1.125em;
  }
  .sec_04 .list_sec04 li .right {
    width: 60%;
    background: #e6e6e6;
    color: #2b3148;
    padding: 15px;
  }

  .sec_10 {
    background: url(/asset/sec10_bg.jpg) no-repeat center/cover;
  }

  .over_flow {
    overflow: hidden;
  }

  .left_col {
    width: 44%;
    float: left;
    padding-right: 5%;
  }
  @media screen and (max-width: 767px) {
    .left_col {
      width: 100%;
      float: inherit;
      padding: 0 0 6% 0;
    }
  }

  .right_col {
    width: 56%;
    float: right;
  }
  @media screen and (max-width: 767px) {
    .right_col {
      width: 100%;
      float: inherit;
    }
  }

  .map {
    position: relative;
    overflow: hidden;
  }
  .map::before {
    content: "";
    display: block;
    height: 300px;
  }
  @media screen and (max-width: 767px) {
    .map::before {
      height: 100vw;
    }
  }
  .map > iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: calc(100% + 300px);
    margin-top: -150px;
  }

  .time {
    position: relative;
  }
  @media screen and (max-width: 767px) {
    .time {
      padding-bottom: 220px;
    }
  }
  .time:before {
    position: absolute;
    content: "";
    background: url(/asset/qr.png) no-repeat center/contain;
    width: 256px;
    height: 516px;
    bottom: -170px;
    right: 0;
  }
  @media screen and (max-width: 767px) {
    .time:before {
      width: 155px;
      height: 345px;
      bottom: -120px;
      left: 0;
      margin: 0 auto;
    }
  }

  .list_feature {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    margin-bottom: 50px;
  }
  @media screen and (max-width: 767px) {
    .list_feature {
      display: block;
    }
  }
  .list_feature li {
    width: 48%;
    margin: 0 4% 4% 0;
    padding: 40px;
    background: #fff;
  }
  @media screen and (max-width: 767px) {
    .list_feature li {
      width: 100%;
      margin: 0 0 5% 0;
      padding: 20px 15px;
    }
  }
  .list_feature li:nth-child(2n) {
    margin-right: 0;
  }
  .list_feature li .num_img {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    width: 100%;
    margin-bottom: 25px;
  }
  @media screen and (max-width: 767px) {
    .list_feature li .num_img {
      margin-bottom: 20px;
    }
  }
  .list_feature li .num_img .num {
    font-family: "Noto Serif JP", serif;
    font-size: 3em;
    font-weight: 700;
    line-height: 1;
    text-align: right;
  }
  @media screen and (max-width: 767px) {
    .list_feature li .num_img .num {
      font-size: 2.3em;
    }
  }
  .list_feature li .num_img .num span {
    display: block;
    font-size: 0.56em;
    font-weight: 400;
    font-family: "Gowun Dodum", sans-serif;
    letter-spacing: 3px;
  }
  .list_feature li .num_img .img {
    width: 100%;
    padding-left: 15px;
  }
  .list_feature li .num_img .img img {
    width: 100%;
  }
  .list_feature li .ttl {
    font-size: 1.25em;
    font-family: "Noto Serif JP", serif;
    font-weight: 500;
    margin-bottom: 25px;
  }
  @media screen and (max-width: 767px) {
    .list_feature li .ttl {
      margin-bottom: 10px;
    }
  }

  .list_flow {
    border-top: 1px solid #fff;
  }
  .list_flow li {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    padding: 30px 0;
    border-bottom: 1px solid #fff;
  }
  @media screen and (max-width: 767px) {
    .list_flow li {
      display: block;
    }
  }
  .list_flow li .left {
    width: 48%;
    margin-right: 4%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
  @media screen and (max-width: 767px) {
    .list_flow li .left {
      width: 100%;
      margin: 0 0 5% 0;
    }
  }
  .list_flow li .left .num {
    font-size: 2.625em;
    font-family: "Noto Serif JP", serif;
    color: #fff;
    line-height: 1.1;
    letter-spacing: 2px;
  }
  @media screen and (max-width: 767px) {
    .list_flow li .left .num {
      font-size: 2.5em;
    }
  }
  .list_flow li .left .num span {
    display: block;
    font-size: 0.57em;
    font-family: "Gowun Dodum", sans-serif;
  }
  .list_flow li .left img {
    width: 100%;
    padding-left: 20px;
  }
  .list_flow li .right {
    width: 48%;
    font-size: 1.125em;
  }
  @media screen and (max-width: 767px) {
    .list_flow li .right {
      width: 100%;
      font-size: 1em;
    }
  }
  .list_flow li .right span {
    font-size: 1.44em;
    font-family: "Noto Serif JP", serif;
    font-weight: 700;
    display: block;
    margin-bottom: 15px;
  }
  @media screen and (max-width: 767px) {
    .list_flow li .right span {
      margin-bottom: 3px;
    }
  }
  .list_flow li .txt_right {
    text-align: right;
    font-size: 1.125em;
    margin-bottom: 25px;
    width: 100%;
  }
  @media screen and (max-width: 767px) {
    .list_flow li .txt_right {
      font-size: 1em;
      margin-bottom: 5px;
    }
  }
  .list_flow li .img02 {
    width: 100%;
    padding-left: 74px;
  }
  @media screen and (max-width: 767px) {
    .list_flow li .img02 {
      padding: 0;
    }
  }
  .list_flow li .img02 img {
    width: 100%;
  }

  .list_voice {
    width: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
  @media screen and (max-width: 767px) {
    .list_voice {
      display: block;
    }
  }
  .list_voice li {
    background: #fff;
    width: 48%;
    margin-right: 4%;
    padding: 40px;
  }
  @media screen and (max-width: 767px) {
    .list_voice li {
      width: 100%;
      margin: 0 0 6% 0;
      padding: 20px 15px;
    }
  }
  .list_voice li .top_area {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    margin-bottom: 25px;
  }
  .list_voice li .top_area .top_txt {
    font-size: 1.25em;
    font-family: "Noto Serif JP", serif;
    font-weight: 700;
    padding-right: 25px;
  }
  @media screen and (max-width: 767px) {
    .list_voice li .top_area .top_txt {
      font-size: 1.15em;
    }
  }
  .list_voice li .top_area .top_txt span {
    display: block;
    position: relative;
    padding-bottom: 10px;
    margin-bottom: 10px;
  }
  .list_voice li .top_area .top_txt span:before {
    position: absolute;
    content: "";
    border-bottom: 2px solid;
    height: 2px;
    width: 52px;
    bottom: 0;
    left: 0;
  }
  .list_voice li .ttl {
    font-family: "Noto Serif JP", serif;
    font-weight: 700;
    font-size: 1.25em;
    line-height: 1.5;
    margin-bottom: 15px;
  }
  @media screen and (max-width: 767px) {
    .list_voice li .ttl {
      font-size: 1.15em;
      margin-bottom: 10px;
    }
  }
  .list_voice li .txt {
    margin-bottom: 25px;
  }
  .list_voice li:last-child {
    margin-right: 0;
  }

  .list_about li {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    margin-bottom: 2%;
    font-size: 1.125em;
    line-height: 1.5;
  }
  @media screen and (max-width: 767px) {
    .list_about li {
      font-size: 1em;
    }
  }
  .list_about li:last-child {
    margin-bottom: 0;
  }
  .list_about li .left {
    width: 24%;
    margin-right: 2%;
    background: #2b3148;
    color: #fff;
    font-family: "Noto Serif JP", serif;
    padding: 20px;
  }
  @media screen and (max-width: 767px) {
    .list_about li .left {
      padding: 20px 15px;
    }
  }
  .list_about li .right {
    width: 74%;
    background: #e6e6e6;
    padding: 20px;
  }
  @media screen and (max-width: 767px) {
    .list_about li .right {
      padding: 20px 15px;
    }
  }

  .list_access {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    margin-bottom: 35px;
  }
  @media screen and (max-width: 767px) {
    .list_access {
      display: block;
      margin-bottom: 25px;
    }
  }
  .list_access li {
    margin-right: 50px;
    font-size: 1.25em;
  }
  @media screen and (max-width: 767px) {
    .list_access li {
      width: 100%;
      margin: 0 0 8% 0;
      font-size: 1.15em;
    }
  }
  .list_access li span {
    display: block;
    font-weight: 700;
  }
  .list_access li span img {
    width: 24px;
    height: 24px;
    margin-right: 9px;
  }

  .table_time {
    width: 100%;
  }
  .table_time th {
    padding: 0.25em 1em;
    border-bottom: 1px solid #fff;
  }
  .table_time td {
    padding: 0.25em 1em;
    border-bottom: 1px solid #fff;
  }

  .table_time02 {
    max-width: 570px;
    font-size: 1.125em;
    margin-bottom: 20px;
  }
  @media screen and (max-width: 767px) {
    .table_time02 {
      width: 100%;
      max-width: 100%;
      font-size: 0.9em;
      margin-bottom: 10px;
    }
  }
  .table_time02 th {
    padding: 0.25em 0.5em;
    border-bottom: 1px solid;
  }
  @media screen and (max-width: 767px) {
    .table_time02 th {
      padding: 5px 0;
    }
  }
  .table_time02 td {
    padding: 0.25em 0.5em;
    border-bottom: 1px solid;
    text-align: center;
  }
  @media screen and (max-width: 767px) {
    .table_time02 td {
      padding: 5px 0;
    }
  }
  .table_time02 .txt_16 {
    font-size: 16px;
    line-height: 1.4;
  }
  @media screen and (max-width: 767px) {
    .table_time02 .txt_16 {
      font-size: 12px;
    }
  }
  .table_time02 .top {
    text-align: left;
  }

  .table_sec05 {
    width: 100%;
    text-align: center;
    margin-top: 50px;
  }
  @media screen and (max-width: 767px) {
    .table_sec05 {
      font-size: 0.7em;
      margin-top: 20px;
    }
  }
  .table_sec05 td {
    border-right: 10px solid #e6e6e6;
    border-bottom: 10px solid #e6e6e6;
    padding: 5px;
  }
  @media screen and (max-width: 767px) {
    .table_sec05 td {
      border-right: 3px solid #e6e6e6;
      border-bottom: 3px solid #e6e6e6;
    }
  }
  .table_sec05 .t_01 td {
    background: #2b3148;
    color: #fff;
    font-weight: 700;
    font-size: 1.125em;
  }
  @media screen and (max-width: 767px) {
    .table_sec05 .t_01 td {
      font-size: 1em;
    }
  }
  .table_sec05 .t_02 td {
    background: #fff;
  }
  .table_sec05 .t_03 td {
    background: #bfc1c8;
  }

  .table_sec08 {
    width: 100%;
    text-align: center;
    margin: 0 0 15px;
  }
  @media screen and (max-width: 767px) {
    .table_sec08 {
      margin: 0 0 10px;
    }
  }
  .table_sec08 td {
    border-right: 10px solid #e6e6e6;
    border-bottom: 10px solid #e6e6e6;
    padding: 5px;
    background: #fff;
  }
  @media screen and (max-width: 767px) {
    .table_sec08 td {
      border-right: 3px solid #e6e6e6;
      border-bottom: 3px solid #e6e6e6;
    }
  }
  .table_sec08 .t_01 td {
    background: #2b3148;
    color: #fff;
    font-weight: 700;
    font-size: 1.125em;
  }
  @media screen and (max-width: 767px) {
    .table_sec08 .t_01 td {
      font-size: 1em;
    }
  }

  .ttl_cmn {
    font-size: 2.125em;
    font-family: "Noto Serif JP", serif;
    line-height: 1.6;
    margin-bottom: 40px;
  }
  @media screen and (max-width: 767px) {
    .ttl_cmn {
      font-size: 1.5em;
      margin-bottom: 25px;
    }
  }
  .ttl_cmn.white {
    color: #fff;
  }
  .ttl_cmn.center {
    text-align: center;
  }

  .ttl_cmn02 {
    font-size: 1.875em;
    font-family: "Noto Serif JP", serif;
    color: #fff;
    padding-bottom: 10px;
    margin-bottom: 40px;
    position: relative;
    font-weight: 700;
  }
  @media screen and (max-width: 767px) {
    .ttl_cmn02 {
      font-size: 1.35em;
      margin-bottom: 25px;
    }
  }
  .ttl_cmn02:before {
    position: absolute;
    content: "";
    border-bottom: 2px solid #cbfffe;
    width: 80px;
    height: 2px;
    bottom: 0;
    left: 0;
  }
  .ttl_cmn02.black {
    color: #2b3148;
  }
  .ttl_cmn02.black:before {
    border-bottom: 2px solid #2b3148;
  }

  .con_ttl {
    font-size: 1.625em;
    font-family: "Noto Serif JP", serif;
    font-weight: 700;
    display: inline-block;
    position: relative;
    margin-bottom: 28px;
  }
  @media screen and (max-width: 767px) {
    .con_ttl {
      font-size: 1.45em;
    }
  }
  .con_ttl:before {
    position: absolute;
    content: "";
    border-left: 1px solid;
    width: 1px;
    height: 35px;
    bottom: 8px;
    left: -15px;
    -webkit-transform: rotate(-35deg);
            transform: rotate(-35deg);
  }
  .con_ttl:after {
    position: absolute;
    content: "";
    border-left: 1px solid;
    width: 1px;
    height: 35px;
    bottom: 8px;
    right: -15px;
    -webkit-transform: rotate(35deg);
            transform: rotate(35deg);
  }

  .bg_gray {
    background: #e6e6e6;
  }
  .bg_check {
    background: url(/asset/bg_bluecheck.jpg);
    position: relative;
    z-index: 0;
  }

  .txt_white {
    color: #fff;
  }
  .txt_red {
    color: #e33a50;
  }
  .txt_18 {
    font-size: 1.125em;
  }
  @media screen and (max-width: 767px) {
    .txt_18 {
      font-size: 1.1em;
    }
  }
  .txt_20 {
    font-size: 1.25em;
  }
  @media screen and (max-width: 767px) {
    .txt_20 {
      font-size: 1.14em;
    }
  }
  .txt_mincho {
    font-family: "Noto Serif JP", serif;
  }
  .txt_bold {
    font-weight: 700;
  }
  .txt_center {
    text-align: center;
  }

  #topcontrol {
    width: 100px;
    height: 100px;
    background: url(/asset/pagetop.svg) no-repeat center/auto 100%;
    margin: 0 30px 30px;
  }
  @media screen and (max-width: 767px) {
    #topcontrol {
      width: 60px;
      height: 60px;
      margin: 0 15px 15px;
    }
  }

  a.btn {
    color: #cbfffe;
    display: block;
    max-width: 420px;
    margin: auto;
    background: #2b3148;
    text-align: left;
    font-size: 1.25em;
    position: relative;
  }
  @media screen and (max-width: 767px) {
    a.btn {
      max-width: 330px;
      font-size: 1.15em;
    }
  }
  a.btn:before {
    position: absolute;
    content: "";
    background: url(/asset/icon_pc.svg) no-repeat center/contain;
    width: 31px;
    height: 31px;
    top: 0;
    bottom: 0;
    margin: auto 0;
    left: 40px;
  }
  @media screen and (max-width: 767px) {
    a.btn:before {
      left: 30px;
    }
  }
  a.btn:after {
    position: absolute;
    content: "";
    background: url(/asset/arrow.svg) no-repeat center/contain;
    width: 10px;
    height: 17px;
    top: 0;
    bottom: 0;
    margin: auto 0;
    right: 20px;
  }
  a.btn span {
    padding: 1em 1em 1em 100px;
    display: block;
  }
  @media screen and (max-width: 767px) {
    a.btn span {
      padding: 1em 1em 1em 80px;
    }
  }
  a.btn span:before {
    position: absolute;
    content: "";
    background: #cbfffe;
    width: 420px;
    height: 112px;
    bottom: -10px;
    left: 10px;
    z-index: -1;
    -webkit-transition: 0.3s;
    transition: 0.3s;
  }
  @media screen and (max-width: 767px) {
    a.btn span:before {
      width: 330px;
      height: 96.59px;
    }
  }
  a.btn:hover span:before {
    bottom: 0;
    left: 0;
    z-index: -1;
    -webkit-transition: 0.3s;
    transition: 0.3s;
  }

  .m0 {
    margin-bottom: 0 !important;
  }

  .m5 {
    margin-bottom: 5px;
  }

  .m15 {
    margin-bottom: 15px;
  }
  @media screen and (max-width: 767px) {
    .m15 {
      margin-bottom: 5px;
    }
  }

  .m20 {
    margin-bottom: 20px;
  }

  .m25 {
    margin-bottom: 25px;
  }
  @media screen and (max-width: 767px) {
    .m25 {
      margin-bottom: 20px;
    }
  }

  .m70 {
    margin-bottom: 70px;
  }
  @media screen and (max-width: 767px) {
    .m70 {
      margin-bottom: 40px;
    }
  }

  .m115 {
    margin-bottom: 115px;
  }
  @media screen and (max-width: 767px) {
    .m115 {
      margin-bottom: 80px;
    }
  }