@charset "UTF-8";


/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
main {
	padding-top: 6%;
}
}

/*---------------------------------------------------------
m_img
---------------------------------------------------------*/
.fv_area {
	position: relative;
	height: 100vh;
	min-height: min(calc(100vw * 0.8), 1120px);
	box-sizing: border-box;
}
/*m_img*/
.m_img {
	position: relative;
	display: flex;
	flex-direction: column;
	justify-content: center;
	width: 100%;
	height: 100%;
	box-sizing: border-box;
	padding: 0 8.5%;
	background: url("../images/top/m_img1@2x.jpg") no-repeat center center;
	background-size: cover;
}
.m_img::before {
	position: absolute;
	content: "";
	background: linear-gradient(to bottom, rgba(0,0,0,0.1), rgba(0,0,0,0));
	width: 100%;
	height: 36%;
	left: 0;
	top: 0;
}
/*m_copy*/
.m_copy {
	max-width: 1220px;
	color: #FFF;
	font-size: min(2.8vw,187%);
	font-weight: bold;
	letter-spacing: .15em;
	line-height: 1.5;
	opacity: 0;
	z-index: 1;
	transition: opacity .5s .1s;
}
.m_copy #copy_svg1 {
	width: 71.8vw;
	max-width: 1077px;
}
.m_copy #copy_svg2 {
	width: 47.2vw;
	max-width: 708px;
	margin-left: auto;
}
.m_copy .com_wrap_txt {
	margin-top: 1.5em;
	margin-bottom: 3em;
}
.m_copy.anime_on {
	opacity: 1;
}
/* path */
.anm_path {
	display: block;
}
.anm_path mask * {
	fill: none;
	stroke: #FFF;
	stroke-width: 20px;
	stroke-dashoffset: 0;
	/* stroke-dashoffset: var(--dash-length); */
	stroke-dasharray: var(--dash-length);
}
.m_copy.anime_on .anm_path mask * {
    animation: strokeDraw 1s .05s ease-out forwards;
}
@keyframes strokeDraw {
  from {
    stroke-dashoffset: var(--dash-length);;
  }
  to {
    stroke-dashoffset: 0;
  }
}
/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) {
.fv_area {
	height: 100svh;
}
}
/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
.fv_area {
	height: 100svh;
	min-height: calc(100vw * 1.6);
	max-height: calc(100vw * 1.8);
}
.m_img {
	background-image: url("../images/top/m_img1_sp@2x.jpg");
	padding: 0 7%;
}
/* m_copy */
.m_copy {
	font-size: 4.2vw;
	margin-top: 40%;
}
.m_copy #copy_svg1_sp {
	width: 72vw;
}
.m_copy #copy_svg2 {
	width: 70vw;
}
}
/*m_img:m_slide
---------------------------------------------------------*/
.m_slide {
	position: absolute;
	width: 100%;
	height: 100%;
	left: 0;
	right: 0;
	overflow: hidden;
	z-index: -1;
}
.m_slide li {
	position: relative;
}
.m_slide li::before {
	position: absolute;
	display: block;
	content: "";
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover;
	width: 100%;
	height: 100%;
	left: 0;
	top: 0;
	transform: translateZ(0);
	translate: 0 0;
	/* transition: translate 10s cubic-bezier(1, 0.8, 1, 1); */
}
.m_slide .slide1::before {background-image: url("../images/top/m_img1@2x.jpg");}
.m_slide .slide2::before {background-image: url("../images/top/m_img2@2x.jpg");}
.m_slide .slide3::before {background-image: url("../images/top/m_img3@2x.jpg");}

/* Tablet,Mobile (Portrait)
------------------------------------------*/
@media screen and (orientation: portrait) {

}
/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
.m_slide .slide1::before {background-image: url("../images/top/m_img1_sp@2x.jpg");}
.m_slide .slide2::before {background-image: url("../images/top/m_img2_sp@2x.jpg");}
.m_slide .slide3::before {background-image: url("../images/top/m_img3_sp@2x.jpg");}
}



/*---------------------------------------------------------
concept
---------------------------------------------------------*/
#concept {
	position: relative;
}
#concept .com_h__en.h__135 {
	text-align: center;
	color: #1B2B4C;
	font-size: min(10vw,7.5rem);
}
#concept .cpt_copy {
	font-size: min(281%,3.5vw);
	font-weight: var(--fw_bold);
	letter-spacing: .12em;
	line-height: 1.5;
	margin-bottom: .4em;
}
#concept .cpt_bg {
	position: relative;
	background: url(../images/top/cpt_bg@2x.jpg) no-repeat center bottom;
	background-size: cover;
	height: min(44vw,660px);
	margin-top: -5%;

	-webkit-mask-image: linear-gradient(to bottom, transparent 0%, black 40%);
	mask-image: linear-gradient(to bottom, transparent 0%, black 40%);
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-position: center;
    mask-position: center;
    -webkit-mask-size: auto;
    mask-size: auto;
	z-index: -1;

	opacity: 0;
	transition: opacity 5s .2s;
}
#concept .cpt_bg.anime_on {
	opacity: 1;
}
/* img */
.img-wrapper {
	position: relative;
	display: flex;
	flex-wrap: wrap;
	width: min(100vw,1500px);
	height: min(68vw,1017px);
	left: 50%;
	top: 0;
	translate: -50% 0;
	z-index: -1;
}
.img-piece {
	transition: transform 0.3s ease;
}
.img-piece._01 {
	width: 34vw;
	max-width: 500px;
	margin-top: 14%;
	margin-left: 4.8%;
	margin-right: 9.5%;
}
.img-piece._02 {
	width: 32vw;
	max-width: 480px;
	margin-right: -5%;
}
.img-piece._03 {
	width: 24vw;
	max-width: 360px;
	margin-top: 11%;
	margin-left: auto;
}
.img-piece._04 {
	width: 22.7vw;
	max-width: 340px;
	margin-top: 4.2%;
	margin-right: -3.4%;
}
.img-piece._05 {
	width: 24vw;
	max-width: 360px;
	margin-top: -8%;
	margin-right: 5.4%;
}
.img-piece._06 {
	width: 39.4vw;
	max-width: 590px;
	margin-top: -13.5%;
}
/* PC,Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) {
#concept {
	padding-top: 100px;
}
#concept dl {
	max-width: 840px;
	padding-right: 4%;
	margin-top: 28%;
	margin-left: auto;
}
#concept dl dd {
	font-size: 106%;
	line-height: 2.5;
}
#concept .cpt_copy {
	display: inline-flex;
	flex-wrap: wrap;
}
#concept .cpt_copy > span {
	display: block;
}
#concept .cpt_copy > span:nth-of-type(2) > span {transition-delay: .4s;}
#concept .cpt_copy > span:nth-of-type(3) > span {transition-delay: .6s;}
/* img */
.img-wrapper {
	position: absolute;

}
}
/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
#concept .com_h__en.h__135 {
	font-size: 16vw;
	margin-top: -0.5em;
}
#concept dl {
	margin-top: 4%;
}
#concept .cpt_copy {
	text-align: center;
	font-size: 150%
}
#concept .cpt_copy > span:nth-of-type(3) > span {transition-delay: .8s;}
#concept .cpt_bg {
	background-image: url(../images/top/cpt_bg_sp@2x.jpg);
	height: 80vw;
	margin-top: -15%;
}
}
/*concept:bnr_list
---------------------------------------------------------*/
.bnr_list {
	display: grid;
	justify-content: space-between;
}
.bnr_list a {
	text-align: center;
	font-size: min(2vw,125%);
	line-height: 1.4;
}
.bnr_list .img_wrap {
	background-color: #fff;
	margin-bottom: 0;
}
.bnr_list a > div {
	position: relative;
}
.bnr_list div:lang(en) {
	color: #999;
	font: var(--font_wed);
	letter-spacing: normal;
	font-size: 65%;
	margin-top: .6em;
}
.bnr_list .com_arw-r {
	font-size: 70%;
	margin: auto;
	translate: 0 -60%;
}
/* PC,Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) {
.bnr_list {
	max-width: 1172px;
	grid-template-columns: repeat(4,23.1%);
	margin: 8.6% auto 0;
}
}
/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
.bnr_list {
	grid-template-columns: repeat(2,48%);
	row-gap: 1.5em;
	margin-top: 10%;
}
.bnr_list > li {
	margin-top: 3%;
}
.bnr_list a {
	font-size: 100%;
}
}




/*---------------------------------------------------------
medical
---------------------------------------------------------*/
#medical {
	background-color: #E3E5E7;
	padding-bottom: min(11vw,160px);
}
#medical .com_h__en.h__135 {
	color: #FFF;
	margin-bottom: -0.5em;
	z-index: 1;
}
#medical .com_h__bar {
	margin-left: 9%;
}
#medical .com_h__bld {
	display: inline-block;
}
#medical .com_h__bld .com_arw-r {
	position: absolute;
	font-size: 52%;
	left: calc(100% + .6em);
	top: 50%;
	translate: 0 -50%;
}
#medical [class^="med_flex"] {
	margin-top: min(6%,80px);
}
#medical [class^="med_flex"]:nth-child(2) {
	margin-top: 0;
}

#medical .box_img {
	aspect-ratio: 690 / 390;
	transition: mask 1s .2s;

	-webkit-mask-image: linear-gradient(to right, transparent 50%, black 50%);
	mask-image: linear-gradient(to right, transparent 50%, black 50%);
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-position: 200% 0;
    mask-position: 200% 0;
    -webkit-mask-size: 200% 100%;
    mask-size: 200% 100%;
}
#medical .box_img img {
	width: max-content;
	height: 100%;
}
#medical .box_img.anime_on {
    -webkit-mask-position: 100% 0;
    mask-position: 100% 0;
}
/* PC,Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) {
#medical .com_h__en.h__135 {
	text-align: right;
	margin-right: .6em;
}
/* med_flex1 */
#medical .med_flex1 {
	display: flex;
	width: 90%;
	max-width: 1100px;
	margin-left: auto;
	margin-right: auto;
}
#medical .med_flex1 .box_img {
	width: 63%;
	margin-right: -12%;
}
#medical .med_flex1 .box_txt {
	position: relative;
	width: 50%;
	align-self: center;
	box-sizing: border-box;
	padding: 0 4%;
}
#medical .med_flex1.rev {
	flex-direction: row-reverse;
}
#medical .med_flex1.rev .box_img {
	margin-right: 0;
	margin-left: -12%;
}
#medical .med_flex1.rev .box_txt {
	align-self: flex-start;
	padding-top: 3%;
	padding-bottom: 5%;
}
/* med_flex2 */
#medical .med_flex2 {
	display: flex;
	max-width: 1400px;
}
#medical .med_flex2 hgroup {
	padding-top: 1em;
	margin-bottom: 5%;
}
#medical .med_flex2 .box_img {
	width: 33%;
	max-width: 460px;
	aspect-ratio: 460 / 390;
}
#medical .med_flex2 .box_txt {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	width: 67%;
	box-sizing: border-box;
	padding: 0 7%;
}
}
/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
#medical .com_h__en.h__135 {
	text-align: center;
}
#medical [class^="med_flex"] {
	margin-top: 10%;
}
#medical [class^="med_flex"] .box_txt {
	padding: 7% 6%;
}

}
/*medical:med_list1
---------------------------------------------------------*/
.med_list_wrap {
	position: relative;
	width: 90%;
	max-width: 1230px;
	box-sizing: border-box;
	padding: 80px 4% 70px;
}
.med_list1 {
	display: grid;
	justify-content: space-between;
	grid-template-columns: repeat(5,18%);
	column-gap: 2.5%;
	line-height: 1.6;
}
.med_list1::before {
	position: absolute;
	content: "";
	background-color: #FFF;
	width: 100vw;
	height: 100%;
	right: 0;
	top: 0;
}
.med_list1 > li {
	position: relative;
}
.med_list1 .title,
.med_list1 p {
	position: relative;
	z-index: 1;
}
.med_list1 .title {
	font-size: min(2vw,168%);
	font-feature-settings: "halt";
	letter-spacing: .15em;
	line-height: 1.6;
	margin: .4em 0 .6em;
}
.med_list1 a {
	display: block;
	color: #999999;
	text-align: center;
	font: var(--font_wed);
	font-size: min(1.1vw,75%);
	letter-spacing: .1em;
	padding: 1.5em .5em;
	border: 1px solid currentColor;
}

.med_list1 a:hover {
	color: #FFF;
	background-color: #999999;
}
.med_list1 a:hover::before {
	color: #9CB2B3;
}

.med_list1 svg {
	position: absolute;
	color: #E8E9EB;
	width: 35%;
	max-width: 72px;
	aspect-ratio: 1;
	right: 0;
	top: -1.5em;
	transition: color .5s
}
.med_list1 a:hover + svg {
	color: #9CB2B3;
}
/* PC,Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) {
.med_list_wrap {
	margin-top: -2%;
}
}
/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
.med_list_wrap {
	padding: 12% 6% 10%;
	margin: 0 auto;
}

.med_list1 {
	width: 94%;
	grid-template-columns: repeat(2,47%);
	row-gap: 8vw;
}
.med_list1::before {
	width: 100%;
}
.med_list1 > div {
	position: relative;
}
.med_list1 p {
	font-size: 80%;
}
.med_list1 .title {
	font-size: 115%;
}
.med_list1 a {
	font-size: 60%;
}
}
/*medical:med_list2
---------------------------------------------------------*/
.med_list2 {
	max-width: 743px;
	display: grid;
	justify-content: space-between;
	grid-template-columns: repeat(2,47.4%);
	row-gap: 1.4em;
}
.med_list2 > li {
	border-bottom: 1px solid #999;
}
.med_list2 a {
	position: relative;
	display: block;
	font-size: min(1.4vw,100%);
	line-height: 1.4;
	padding: 0 .3em 1em .5em;
}
.med_list2 a div {
	color: #666;
	margin-bottom: .4em;
}
.med_list2 .title {
	position: relative;
	font-size: min(2vw,168%);
	font-feature-settings: "halt";
	letter-spacing: .15em;
}
.med_list2 .com_arw-r {
	position: absolute;
	font-size: 66%;
	right: 0;
	top: 50%;
	translate: 0 -50%;
}
/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
.med_list2 a {
	font-size: 80%;
	font-feature-settings: "halt";
}
.med_list2 .title {
	font-size: 125%;
}
}



/*---------------------------------------------------------
clinic
---------------------------------------------------------*/
#clinic {
	color: #FFF;
	background-color: var(--color_dgrn);
}
#clinic hgroup {
	position: relative;
	margin-right: 5%;
}
#clinic .com_h__en.h__135 {
	position: relative;
	color: #CAD5D6;
	z-index: 1;
}
#clinic .com_h__bar {
	margin-left: auto;
}
#clinic .com_h__bar::before {
	background-color: currentColor;
}
#clinic .com_h__bar + p {
	text-align: right;
	font: var(--font_min);
	font-size: min(3vw,218%);
	line-height: 1.4;
	letter-spacing: .1em;
}
#clinic .com_ccl_txt {
	position: absolute;
	color: #000;
	background-color: #fff;
	right: 6%;
	bottom: 0;
}
#clinic .com_ccl_txt:hover {
	color: #FFF;
	background-color: #1E5354;
}
/* PC,Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) {
#clinic hgroup {
	padding-right: 3.5%;
	margin-bottom: 7.4%;
}
#clinic .com_h__en.h__135 {
	position: absolute;
	left: 0;
	top: -0.4em;
}
}
/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {

#clinic .com_h__en.h__135 {
	translate: 0.4em 0.5em;
}
#clinic .com_h__bar + p {
	font-size: 150%;
}

}
/*clinic:slide
---------------------------------------------------------*/
.cln_slide_wrap {
	position: relative;
}
.cln_slide .splide__track {
	overflow: visible;
}
.cln_slide figcaption {
	line-height: 1.6;
	padding-left: .5em;
	margin-top: 1.2em;
}
.cln_pagination {
	position: relative;
	display: flex;
	align-items: center;
	column-gap: .6em;
	margin-top: 3em;
}
/* controller */
.cln_slide .splide-controller {
	display: flex;
	align-items: center;
	gap: 1rem;
	margin-top: 4.5%;
}
/* dot */
.cln_slide .splide__pagination {
	column-gap: 15px;
}
.cln_slide .splide__pagination button {
	background-color: transparent;
	border: 1px solid #FFF;
	width: 7px;
	height: 7px;
}
.cln_slide .splide__pagination button.is-active,
.cln_slide .splide__pagination button:hover {
	background-color: #FFF;
}
/* button */
.cln_slide .splide__arrow {
	font-size: 88%;
	letter-spacing: .15em;
	transition: color .5s;
}
.cln_slide .splide__arrow:hover {
	color: #CAD5D6;
}
.cln_slide .splide__arrow--next::after,
.cln_slide .splide__arrow--prev::before {
	position: relative;
	display: inline-block;
	font-family: 'fontello';
	content: '\e802';
	font-size: 65%;
	font-weight: normal;
	vertical-align: 0.2em;
}
.cln_slide .splide__arrow--prev::before {
	scale: -1 1;
	margin-right: .8em;
	vertical-align: 0.3em;
}
.cln_slide .splide__arrow--next::after {
	margin-left: .8em;
}
/* PC,Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) {
.cln_slide .splide__track {
	width: 80%;
	max-width: 1000px;
	margin: 0 auto;
}
}
/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
.cln_slide figcaption {
	width: 60%;
	font-size: 90%;
	padding-left: 1em;
}
/* controller */
.cln_slide .splide-controller {
	margin-top: 8%;
}
/* button */
.cln_slide .splide__arrow {
	font-size: 70%;
}
}



/*---------------------------------------------------------
wp
---------------------------------------------------------*/
#wp {
	padding: min(8vw,120px) 0;
	border-top: 20px solid #FFF;
}
.wp_post a {
	position: relative;
	display: block;
	font-size: 94%;
	line-height: 1.6;
	box-sizing: border-box;
}
.wp_post time {
	display: block;
	color: #999;
	font: var(--font_wed);
	font-size: 80%;
	letter-spacing: normal;
	line-height: 1.1;
	margin-bottom: 1em;
	transition: color .5s;
}
.wp_post .title {
	position: relative;
}
.wp_post .cat {
	display: flex;
	gap: .2em;
	margin-top: .8em;
}
.wp_post .cat > li {
	color: #FFF;
	font-size: 86%;
	background-color: #A19161;
	padding: .3em 1em;
	transition: color .5s, background-color .5s;
}
/* title */
#wp hgroup {
	display: flex;
	justify-content: space-between;
	margin-bottom: 2em;
}
#wp .com_link1 {
	margin-top: 0;
}
/* PC,Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) {
#wp .inbox {
	display: grid;
	justify-content: space-between;
	grid-template-columns: 24% 68%;
}
}
/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
/* title */
#wp hgroup {
	margin-bottom: 1.2em;
}
#wp .com_h__en.h__30 {
	font-size: 7vw;
}
}
/*wp:m_news
---------------------------------------------------------*/
#m_news a {
	display: inline-block;
	padding: 2.5em;
	background-color: #fff;
	border: 1px solid #D9D9D9;
}
#m_news dt {
	display: flex;
	justify-content: space-between;
}
#m_news .com_arw-r {
	position: absolute;
	right: 1em;
	bottom: -0.8em;
}
/* PC,Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) {
#m_news {
	max-width: 320px;
	margin-left: auto;
	translate: 0 -70%;
}
}
/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
#m_news {
	margin-bottom: 15%;
}
#m_news a {
	display: block;
	padding: 2em;
}
}
/*wp:news
---------------------------------------------------------*/
#news .com_link1 .com_arw-r {	background-color: var(--color_red);}
#news .com_link1  a:hover .com_arw-r { background-color: #EE7F64;}

#news .wp_post > article {
	margin-bottom: 1.5em;
}
#news .wp_post .title {
	padding-bottom: .2em;
}
#news .wp_post .title::before {
	position: absolute;
	content: "";
	background-color: currentColor;
	width: 100%;
	height: 1px;
	left: 0;
	bottom: 0;
	scale: 0 1;
	transform-origin: right;
	transition: scale .5s;
}
#news .wp_post a:hover .title::before {
	scale: 1 1;
	transform-origin: left;
}
/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {

}
/*wp:blog
---------------------------------------------------------*/
#blog .com_link1 .com_arw-r {	background-color: var(--color_och);}
#blog .com_link1  a:hover .com_arw-r { background-color: #D8CB30;}

#blog .wp_post article {
	margin-right: 15px;
}
#blog .wp_post a {
	background-color: #EFF0F1;
	padding: 8.3%;
}
#blog .wp_post a:hover {
	color: #FFF;
	background-color: var(--color_och);
}
#blog .wp_post a:hover time {
	color: #FFF;
}
#blog .wp_post a:hover .cat > li {
	color: var(--color_och);
	background-color: #FFF;
}
#blog .wp_post .img {
	margin-bottom: 1em;
}
/* slide */
.blog_slide .scrollbar_area {
	position: relative;
	margin-top: 1.6em;
}
/* splide__progress */
.blog_slide .splide__progress {
	position: absolute;
	width: 100%;
	height: 1px;
	background-color: #ccc;
	overflow: hidden;
	left: 0;
	top: 50%;
}
.blog_slide .splide__progress__bar {
	height: 100%;
	width: 0%;
	background: #999;
	transition: width 0.3s ease-in-out;
}
/* splide__arrows */
.blog_slide .splide__arrows {
	position: relative;
	width: 11em;
	height: 4em;
	display: grid;
	grid-template-columns: 50% 1fr;
	justify-content: center;
	align-items: center;
	color: #999;
	font-size: 10px;
	background-color: #fff;
	box-sizing: border-box;
	border: 1px solid currentColor;
	border-radius: 100vmax;
	z-index: 51;
}
.blog_slide .splide__arrows button {
	position: relative;
	display: block;
	width: 100%;
	height: 100%;
	color: inherit;
	text-align: center;
	inset: auto !important;
	margin: 0 !important;
	box-sizing: border-box;
	transition: color .5s;
}
.blog_slide .splide__arrows button:hover {
	color: #000;
}
.blog_slide .splide__arrows .splide__arrow--prev {
	padding-left: 2.2em;
}
.blog_slide .splide__arrows .splide__arrow--next {
	padding-right: 2.2em;
}
.blog_slide .splide__arrows button::after {
	display: inline-block;
	font-family: 'fontello';
	content: '\e802';
	font-size: 100%;
}
.blog_slide .splide__arrows .splide__arrow--prev::after {
	scale: -1 1;
}
/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
#blog {
	margin-top: 12%;
}
#blog .wp_post a {
	padding: 7%;
}
/* slide */
.blog_slide .splide__arrows {
	font-size: 8px;
}
}




/*---------------------------------------------------------
recruit
---------------------------------------------------------*/
#recruit {
	position: relative;
	padding-top: min(7vw,100px);
}
#recruit .rec_bg {
	position: absolute;
	content: "";
	background: url(../images/top/rec_bg@2x.jpg) no-repeat right top;
	background-size: cover;
	width: 100%;
	height: min(40vw,580px);
	left: 0;
	top: 0;
	z-index: -1;
	filter: grayscale(1);
	transition: filter 3s .2s;
}
#recruit .rec_bg.anime_on {
	filter: grayscale(0);
}
#recruit .com_h__bld {
	display: inline-block;
	color: #FFF;
	padding-bottom: .8em;
	border-bottom: 1px solid currentColor;
	margin-bottom: 1.2em;
}
.rec_copy {
	color: #FFF;
	font-size: min(2.4vw,156%);
	line-height: 1.7;
	letter-spacing: .1em;
	font-feature-settings: "halt";
	margin-bottom: .6em;
}

.com_flow_txt.rec {
	line-height: 0.77;
}
/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
#recruit {
	padding-top: 35vw;
}
#recruit .rec_bg {
	background-image: url(../images/top/rec_bg_sp@2x.jpg);
	height: 100vw;
}
.rec_copy {
	font-size: 110%;
}
}
/*recruit:rec_bnr
---------------------------------------------------------*/
.rec_bnr > li {
	box-shadow: 0 50px 30px -50px rgba(0,0,0,0.2);
}
.rec_bnr a {
	display: grid;
	justify-content: space-between;
	grid-template-columns: 50% 47%;
	font-size: min(2.2vw,156%);
	line-height: 1.7;
	letter-spacing: .1em;
	background-color: #FFF;
	border: 1px solid #ccc;
	box-sizing: border-box;
	padding: 1.6em;
}
.rec_bnr div:lang(en) {
	font: var(--font_wed);
	font-size: 60%;
	letter-spacing: normal;
	margin-bottom: 2.2em;
}
.rec_bnr .bdr {
	display: flex;
	align-items: flex-end;
	font-size: 72%;
	margin-top: 1.2em;
}
.rec_bnr .bdr span {
	display: inline-block;
	width: 9.4em;
	box-sizing: border-box;
	padding: 0 .8em .5em;
	border-bottom: 1px solid currentColor;
}
.rec_bnr .bdr .com_arw-r {
	font-size: 76%;
	margin-left: .5em;
}
.rec_bnr a:hover {
	background-color: #EFF9F9;
}
/* PC,Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) {
.rec_bnr {
	max-width: 1100px;
	display: grid;
	justify-content: space-between;
	grid-template-columns: repeat(2,49%);
	margin: 7% auto 0;
}
.rec_bnr > li:nth-of-type(2) {
	transition-delay: .4s;
}
}
/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
.rec_bnr > li {
	margin-top: 5%;
}
.rec_bnr a {
	font-size: 105%;
	padding: 1.4em;
}
}



/*---------------------------------------------------------
info
---------------------------------------------------------*/
#info {
	padding-top: min(9.4vw,140px);
}
#info .com_acslist {
	margin-top: 6%;
}
#info .map_box {
	position: relative;
}
#info .map_box::before {
	position: absolute;
	content: "";
	background-color: #DADDDF;
	width: 100vw;
	height: 60%;
	left: 0;
	bottom: -1px;
	margin-left: calc(50% - 50vw);
	z-index: -1;
}
#info .map_box .com_link1 {
	text-align: right;
}
/* PC,Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) {
#info .inf_inbox {
	max-width: 1220px;
	display: grid;
	justify-content: space-between;
	align-items: flex-start;
	grid-template-columns: 47% 52%;
	margin: 0 auto 5%;
}
}
/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
#info {
	padding-top: 15%;
}
#info .com_ctc_box {
	padding-top: 12%;
	margin-top: 10%;
	border-top: 1px solid #999999;
}
#info iframe {
	height: 80vw;
}
}
/*info:available
---------------------------------------------------------*/
#info .available dt {
	text-align: center;
	font-size: 94%;
	line-height: 1.5;
	letter-spacing: .12em;
	margin-bottom: .8em;
	word-break: keep-all;
	overflow-wrap: break-word;
}
#info .available ul {
	display: flex;
	flex-wrap: wrap;
}
#info .available ul > li {
	margin-bottom: .5em;
}
#info .available ul > li:last-of-type {
	margin-right: 0;
}
/* card */
#info .available .avl_card {
	padding: 3em 7%;
	border: 1px solid #D1D4D7;
}
#info .available .card_list {
	justify-content: center;
}
#info .available .card_list > li {
	width: 15.1%;
	margin-right: 1.6%;
}
/* insu */
#info .available .avl_insu dt {
	color: var(--color_dgrn);
}
#info .available .insu_list > li {
	height: min(5.2vw,74px);
	margin-right: 2%;
}
#info .available .insu_list img {
	width: auto;
	height: 100%;
}
/* PC,Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) {
#info .available {
	display: grid;
	grid-template-columns: 52% 44%;
	justify-content: space-between;
	align-items: center;
	max-width: 1020px;
	margin: 0 auto;
}
}
/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
#info .available {
	margin-top: 8%;
}
#info .available dt {
	font-size: 90%;
	letter-spacing: .06em;
}
/* card */
#info .available .avl_card {
	padding: 8% 7%;
	margin-bottom: 6%;
}
#info .available .card_list > li {
	width: 15.1%;
	margin-right: 1.6%;
}
/* insu */
#info .available .insu_list > li {
	height: 12vw;
}
}


/* ========================================================
  
  footer

======================================================== */
footer .f_inbox {
	position: relative;
}
.f_logo {
	width: 60%;
	max-width: 126px;
}
footer .com_flow_txt {
	color: #FFF;
}
/* PC,Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) {
footer .f_inbox {
	padding-left: min(310px,28%);
}
footer .f_inbox > div:first-of-type {
	position: absolute;
	left: 0;
	bottom: 0;
}

.f_sitemap {
	max-width: 800px;
	margin-left: min(310px,28%);
	margin-bottom: 1em;
}
.f_sitemap ul {
	grid-template-rows: repeat(3, auto);
}
}
/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) {
.f_sitemap ul {
	grid-template-rows: repeat(4, auto);
}
}
/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
.f_logo {
	width: 25%;
}
footer .com_flow_txt {
	position: absolute;
	left: 36%;
	top: 0;
}

}


/*---------------------------------------------------------

---------------------------------------------------------*/

/* PC,Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) {

}
/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) {

}
/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {


}