@charset "utf-8";
/* ===================================================
	Facilities CSS
====================================================== */

.cmn_tit { font-size: 32px; text-align: center; line-height: 1.4; letter-spacing: 0.1em;}

@media screen and (max-width: 600px) {
.cmn_tit { font-size: 24px;}
}

.cmn_linkbtn01 { position: relative; display: block; width: 250px; padding: 10px; text-align: center; box-sizing: border-box;}
.cmn_linkbtn01::before,
.cmn_linkbtn01::after { content: ''; position: absolute; border: solid rgba(255 255 255/60%); width: 95%; height: 65%; transition: all .3s ease-in-out; box-sizing: border-box;}
.cmn_linkbtn01::before { top: 0; left: 0; border-width: 2px 0 0 2px;}
.cmn_linkbtn01::after { right: 0; bottom: 0; border-width: 0 2px 2px 0;}

@media screen and (hover: hover) {
.cmn_linkbtn01:hover::before,
.cmn_linkbtn01:hover::after { width: 100%; height: 100%; border-color: rgba(255 255 255/90%);}
}

/* ---------------------------------------------------
box_lead
------------------------------------------------------ */
.box_lead{ padding: 100px 0; border-bottom: solid 1px #303030;}
.box_lead .txt_01{ text-align: center; padding: 30px 0 0; font-size: 16px; line-height: 2; letter-spacing: 0.1em;}

@media screen and (max-width: 600px) {
.box_lead{ padding: 50px 0;}
.box_lead .txt_01{ /*text-align: left;*/ padding: 30px 5% 0; font-size: 15px; line-height: 1.7;}
}

/* ---------------------------------------------------
sec01
------------------------------------------------------ */
#sec01 { }

@media screen and (max-width: 600px) {

}

/* ---------------------------------------------------
sec02
------------------------------------------------------ */
#sec02 { }

@media screen and (max-width: 600px) {

}

/* ---------------------------------------------------
sec03
------------------------------------------------------ */
#sec03 { padding: 60px 0 90px; background: url(../../common/img/sec_bg03.jpg); line-height: 1.8;}
#sec03 .dots_slick { margin-top: 30px;}
#sec03 .dots_slick .slick-dots { margin-top: 10px; justify-content: flex-end;}
#sec03 .dots_slick + p + p { margin-top: 10px;}
#sec03 .fac_list { display: flex; flex-wrap: wrap; justify-content: space-between; margin-top: 60px;}
#sec03 .fac_list div { width: 48%;}
#sec03 .fac_list div img { width: 100%;}
#sec03 .fac_list div h3 { font-size: 22px; margin: 7px auto 10px;}
#sec03 .fac_list div p + p { margin-top: 15px;}

@media screen and (max-width: 600px) {
#sec03 { padding: 40px 0 60px;}
#sec03 .dots_slick { margin-top: 20px;}
#sec03 .fac_list { margin-top: 30px;}
#sec03 .fac_list div { width: 100%;}
#sec03 .fac_list div h3 { font-size: 20px; margin: 10px auto;}
#sec03 .fac_list div p + p { margin-top: 10px;}
#sec03 .fac_list div + div { margin-top: 30px;}
}

/* ---------------------------------------------------
sec04
------------------------------------------------------ */
#sec04 { padding: 60px 0 90px; line-height: 1.8;}
#sec04 .dots_slick { margin-top: 30px;}
#sec04 .dots_slick .slick-dots { margin-top: 10px; justify-content: flex-end;}
#sec04 p + dl { margin-top: 40px;}
#sec04 p + dl dt { font-size: 22px; margin-bottom: 5px;}
@media screen and (max-width: 600px) {
#sec04 { padding: 40px 0 60px;}
#sec04 .dots_slick { margin-top: 20px;}
#sec04 p + dl { margin-top: 20px;}
#sec04 p + dl dt { font-size: 20px;}
}

/* ---------------------------------------------------
sec05
------------------------------------------------------ */
#sec05 { padding: 60px 0 90px; background: url(../../common/img/sec_bg03.jpg); line-height: 1.8;}
#sec05 .photo_list { margin-top: 30px; display: grid; grid-template-columns: calc(50% - 5px) 10px calc(25% - 2.5px) 10px 1fr; grid-template-rows: calc(50% - 5px) 10px 1fr;}
#sec05 .photo_list div:first-of-type { grid-column: 1; grid-row: 1 / 4;}
#sec05 .photo_list div:nth-of-type(2) { grid-column: 3 / 6; grid-row: 1;}
#sec05 .photo_list div:nth-of-type(3) { grid-column: 3; grid-row: 3;}
#sec05 .photo_list div:nth-of-type(4) { grid-column: 5; grid-row: 3;}
#sec05 .photo_list + p { margin-top: 20px;}
#sec05 .cmn_linkbtn01 { width: 290px; margin: 80px auto 0;}
#sec05 .cmn_linkbtn01:hover { text-decoration: none;}

@media screen and (max-width: 600px) {
#sec05 { padding: 40px 0 60px;}
#sec05 .photo_list { margin-top: 20px; grid-template-columns: calc(50% - 2.5px) 5px calc(25% - 1.25px) 5px 1fr; grid-template-rows: calc(50% - 2.5px) 5px 1fr;}
#sec05 .cmn_linkbtn01 { margin: 30px auto 0;}
}

/* ---------------------------------------------------
sec06
------------------------------------------------------ */
#sec06 { padding: 80px 0 110px; line-height: 1.8;}
#sec06 .tb_layout { margin-top: 60px; display: flex; flex-wrap: wrap;}
#sec06 .tb_layout > dt,
#sec06 .tb_layout > dd { padding: 10px 30px; box-sizing: border-box; border-bottom: 1px solid #404040;}
#sec06 .tb_layout > dt { width: 250px; background: #262829;}
#sec06 .tb_layout > dd { width: calc(100% - 250px);}
#sec06 .tb_layout > dd .mg_top { margin-top: 20px;}
#sec06 .tb_layout > dd .list > li { padding-left: 1em; text-indent: -1em;}
#sec06 .tb_layout > dd .list > li::before { content: '・';}
#sec06 .tb_layout > dd .list > li dl { padding-left: 1em; text-indent: -1em;}
#sec06 .tb_layout > dd dl { display: flex;}
#sec06 .tb_layout > dd dt { margin-right: 15px;}
#sec06 .tb_layout > dd .list > li dt { margin-right: calc(1em + 15px);}
#sec06 .tb_layout > dd dd { flex: 1;}
#sec06 .tb_layout + a { display: block; width: 400px; text-align: center; padding: 15px 20px 15px 0; position: relative; background: #fff; color: #000; box-sizing: border-box; font-size: 20px; margin: 70px auto 0; transition: opacity .3s; }
#sec06 .tb_layout + a::after { content: ''; display: block; width: 10px; height: 10px; position: absolute; top: 42%; right: 25px; border-top: 1px solid #000; border-right: 1px solid #000; transform: rotate(45deg); }

@media screen and (hover: hover) {
#sec06 .tb_layout + a:hover { opacity: .75;}
}

@media screen and (max-width: 600px) {
#sec06 { padding: 40px 0 80px;}
#sec06 .tb_layout { flex-wrap: wrap; margin-top: 20px;}
#sec06 .tb_layout > dt { width: 100%; padding: 8px 15px; border-bottom: none;}
#sec06 .tb_layout > dd { width: 100%; padding: 15px 15px;}
#sec06 .tb_layout > dd dl { display: block;}
#sec06 .tb_layout > dd dt { margin-right: 0;}
#sec06 .tb_layout > dd .mg_top { margin-top: 15px;}
#sec06 .tb_layout > dd .list > li dt { margin-right: 0;}
#sec06 .tb_layout + a { width: 280px; padding: 10px 15px 10px 0; font-size: 18px; margin: 30px auto 0;}
}

/* ---------------------------------------------------
sec07
------------------------------------------------------ */
#sec07 { padding: 60px 0 90px; background: url(../../common/img/sec_bg03.jpg); line-height: 1.8;}
#sec07 .dots_slick { margin-top: 30px;}
#sec07 .dots_slick .slick-dots { margin-top: 10px; justify-content: flex-end;}
#sec07 p + dl { margin-top: 40px;}
#sec07 p + dl dt { font-size: 22px; margin-bottom: 5px;}

@media screen and (max-width: 600px) {
#sec07 { padding: 40px 0 60px;}
#sec07 .dots_slick { margin-top: 20px;}
#sec07 p + dl { margin-top: 20px;}
#sec07 p + dl dt { font-size: 20px;}
}
