@charset "UTF-8";
/* CSS Document */
/*
Theme Name: ymnt
*/
/*変数*/
:root {
  --main_color_p: #eb6674;
  --main_color_g: #60bdc1;
  --ttl_color: #314d93;
  --txt_color: #666666;
  --hover_color: #e4821d;
  --en_font: "Arial", sans-serif;
  --transition: 0.4s;
}
/*呼び出し方は var(--main_color)*/

/*ベース*/
p, li, a, dt, dd, address, th, td, label, input, textarea{
  font-size: 1rem;
  line-height: 2;
  color: var(--txt_color);
}
.inner{
  max-width: 1200px;
  width: 96%;
  margin-left: auto;
  margin-right: auto;
  position: relative;
}
@media screen and (max-width: 640px){
  .inner{
    width: 92%;
  }
}

/*横並び*/
.column{
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  align-items: center;
  justify-content: space-between;
}
@media screen and (max-width: 640px){
  .column{
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.column-reverse{
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  flex-direction: row-reverse;
}
@media screen and (max-width: 640px){
  .column-reverse{
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

/*見出し*/
.ttl_wrap span{
  color: var(--main_color_g);
  font-family: 
    "游明朝", "Yu Mincho",
    "ヒラギノ明朝 ProN", "Hiragino Mincho ProN",
    "ＭＳ 明朝", "MS Mincho",
    serif;
  letter-spacing: 0.1rem;
}
.ttl_span._center{
  display: block;
  width: 100%;
  text-align: center;
}
.ttl{
  font-size: 2.2rem;
  line-height: 1.3;
  color: var(--main_color_p);
  font-weight: bold;
  margin: 0.5rem 0 1rem;
}
.ttl._center{
  text-align: center;
}
.blog_ttl{
  color: #fff;
  font-size: 1.4rem;
  line-height: 1.5;
  font-weight: bold;
}
.ttl-sub.center{
  text-align: center;
}
@media screen and (max-width: 768px){
  .ttl{
    font-size: 1.8rem;
    line-height: 1.6;
  }
}


/*ボタン*/
.btn{
  position: relative;
  padding: 1% 4%;
  text-align: center;
  border-radius: 50px;
  display: table;
  margin: 4% auto 0;
  background: var(--main_color_g);
  color: #fff;
}
.btn:hover{
  opacity: .7;
}
.btn.left{
  margin: 4% 0 0;
}
.btn.right{
  margin: 4% 0 0 auto;
}
.btn::after{
  content: '';
  position: absolute;
  width: 1.2rem;
  height: 1.2rem;
  margin-left: 10px;
  top: 50%;
  background: url(./assets/img/common/arrow.svg) no-repeat right center / cover;
  transform: translateY(-50%);
}
a{
  transition: var(--transition);
}
a:hover{
  opacity: 0.8;
}
/*セクション上下の余白を設定*/
.sec{
  padding: 100px 0;
}
@media screen and (max-width: 640px){
  .sec{
    padding: 15% 0;
  }
}

.-tab{
  display: none;
}
@media screen and (max-width: 768px){
  .-tab{
    display: block;
  }
}
#header{
  position: fixed;
  justify-content: space-between;
  align-items: stretch;
  top: 0;
  left: 0;
  width: 100%;
	height: fit-content;
  display: flex;
	z-index: 100;
}
/*スクロールしたらナビゲーションに付与される*/
.fixed{
  position: fixed;
  bottom: 0;
  width: 100%;
}
.header-logo{
  max-width: 400px;
  width: 25%;
  background: #fff;
  z-index: 999;
	transition: var(--transition);
  padding: 1.5rem 2rem;
  border-bottom-right-radius: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-right: 3%;
}
.header-logo a:hover{
	opacity: 0.6;
}
@-moz-document url-prefix() {
	.header-logo img{
		width: 300px;
	}
}
@media screen and (max-width: 964px){
  #header{
    padding: 0;
  }
  .header-logo{
    width: 78%;
    padding: 4% 3%;
    position: fixed;
    top: 0;
    left: 0;
  }
  #header.thanks-parts .header-logo{
    position: relative;
    margin: auto;
  }
}
#navArea{
    display: flex;
    justify-content: center;
    background: #fff;
    border-bottom-left-radius: 10px;
    padding: 2rem;
}
#menu{
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: end;
  margin: 0 30px;
}
#menu-btn{
  display: none;
}
#menu-content{
    display: flex;
    flex-wrap: wrap;
        justify-content: end;
}
#menu-content > li{
  position: relative;
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
  margin: 10px 0;
}
#menu-content > li > a{
  margin: 10px;
}
#menu-content > li > a:hover{
	color: var(--main_color_p);
}
#menu-content > li > ul.second-content{
  visibility: hidden;
  opacity: 0;
  position: absolute;
  list-style-type: none;
  -webkit-box-shadow: 1px 1px 7px #bbb;
          box-shadow: 1px 1px 7px #bbb;
  width: 150%;
  right: 50%;
  transform: translateX(50%);
  z-index: 100;
}
#menu-content > li > a.second-content-parent{
	position: relative;
}
.second-content-parent::after{
	content: "";
	position: absolute;
	width: 0.8rem;
	height: 0.8rem;
	background: url(./assets/img/common/header-arrow.svg) no-repeat center center/ contain;
	top: 50%;
	transform: translate(50%, -50%);
	right: 10%;
}
#menu-content > li:hover > ul.second-content{
  visibility: visible;
  background: #fff;
  opacity: 1;
  -webkit-transition: opacity 0.2s, visibility 0.2s;
  transition: opacity 0.2s, visibility 0.2s;
}
#menu-content > li > ul.second-content > li{
  text-align: center;
}
#menu-content > li > ul.second-content > li > a{
  line-height: 1.5;
  display: block;
  text-decoration: none;
  padding: 3%;
}
#menu-content > li > ul.second-content li:first-child > a{
  border-bottom: 1px solid var(--main_color_p);
}
#menu-content > li > ul.second-content > li > a:hover{
  background: #eee;
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
}
.wrap_header_cv{
  display: flex;
  align-items: center;
}
.header_recruit,
.header_contact,
.header_tel{
  position: relative;
  border-radius: 5px;
  padding: 10px 10px 10px 2rem;
  margin-right: 0.5rem;
}
.header_recruit{
  border: 1px solid #d6d6d6;
  background: #f9f6f0;
}
.header_contact{
  color: #fff;
  background: var(--main_color_g);
}
.header_tel{
  color: #fff;
  background: var(--main_color_p);
  margin-right: 0;
}
.header_recruit::before,
.header_contact::before,
.header_tel::before{
  content: "";
  position: absolute;
  width: 1rem;
  height: 1rem;
  top: 50%;
  left: 0;
  transform: translate(50%, -50%);
}
.header_recruit::before{
  background: url(./assets/img/common/icon_recruit.svg) no-repeat center center / contain;
}
.header_contact::before{
  background: url(./assets/img/common/icon_contact.svg) no-repeat center center / contain;
}
.header_tel::before{
  background: url(./assets/img/common/icon_tel.svg) no-repeat center center / contain;
}
@media screen and (max-width: 964px) {
  #navArea{
    background: none;
  }
  .header-nav{
    position: fixed;
    top: 0;
    left: -300px;
    bottom: 0;
    width: 80vw;
    background: #fff;
    overflow: hidden;
    -webkit-transition: all 0.3s;
    transition: all 0.3s;
    z-index: 3;
    opacity: 0;
	pointer-events: none;
  }
  #menu-content{
    justify-content: center;
  }
  #menu-content > li > a{
    margin: 0;
  }
  .open .header-nav{
    left: 0;
            bottom: 0;
    opacity: 1;
    padding: 17% 5%;
	  pointer-events: inherit!important;
	  z-index: 99;
  }
  .header-nav ul{
    list-style: none;
    margin: 0;
    padding: 0;
  }
	.open .header-nav ul{
		pointer-events: auto;
	}
  .header-nav ul li{
    position: relative;
    margin: 0;
  }
  .header-nav ul li a{
    display: block;
    text-decoration: none;
    -webkit-transition-duration: 0.2s;
            transition-duration: 0.2s;
  }
  .wrap_header_cv{
    margin-top: 1rem;
    width: 100%;
    flex-direction: column;
  }
  .wrap_header_cv li{
    width: 100%;
  }
  .wrap_header_cv li a{
    text-align: center;
    margin: 0.5rem 0;
  }
  .header_recruit::before,
  .header_contact::before,
  .header_tel::before{
    left: 10%;
  }
  .toggle_btn{
    display: block;
    position: fixed;
    top: 15px;
    right: 15px;
    width: 30px;
    height: 30px;
    -webkit-transition: all 0.3s;
    transition: all 0.3s;
    cursor: pointer;
    z-index: 3;
  }
  .toggle_btn span{
    position: absolute;
    left: 0;
    width: 30px;
    height: 1px;
    background-color: #333;
    border-radius: 4px;
    -webkit-transition: all 0.3s;
    transition: all 0.3s;
  }
  .toggle_btn span:nth-child(1){
    top: 4px;
  }
  .toggle_btn span:nth-child(2){
    top: 14px;
  }
  .toggle_btn span:nth-child(3){
    bottom: 4px;
  }
  .open .toggle_btn span{
    background-color: #fff;
  }
  .open .toggle_btn span:nth-child(1){
    -webkit-transform: translateY(10px) rotate(-315deg);
    transform: translateY(10px) rotate(-45deg);
  }
  .open .toggle_btn span:nth-child(2){
    opacity: 0;
  }
  .open .toggle_btn span:nth-child(3){
    -webkit-transform: translateY(-10px) rotate(315deg);
    transform: translateY(-10px) rotate(45deg);
  }
  #mask {
    display: none;
    -webkit-transition: all 0.3s;
    transition: all 0.3s;
  }
  .open #mask {
    display: block;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: #000;
    opacity: 0.5;
    z-index: 2;
    cursor: pointer;
  }
  #menu-content > li{
    width: 100%;
    margin: 0;
  }
  #menu-content > li:hover {
    background: none;
  }
  #menu-content > li:last-child{
    margin-left: 0;
    margin-top: 7%;
  }
  #menu-content > li:last-child::before{
    content: none;
  }
	#menu-content > li > a.second-content-parent{
		pointer-events: none;
	}
	#menu-content > li > a.second-content-parent::after{
		content: none;
	}
  #menu-content > li > a,
	#menu-content > li > a.second-content-parent{
    padding: 15px 0 15px 1rem;
    font-size: 100%;
    border-bottom: 1px solid #000;
	text-shadow: none;
  }
	#menu-content > li > a:hover{
		color: #fff;
		text-shadow: none;
	}
  #menu-content > li > ul.second-content{
    visibility: visible;
    opacity: 1;
    width: 90%;
    position: relative;
    -webkit-box-shadow: none;
            box-shadow: none;
    margin-left: auto;
  }
  #menu-content > li > ul.second-content > li{
    width: 100%;
    text-align: left;
  }
  #menu-content > li > ul.second-content > li > a{
    padding-left: 15px;
  }
}



#drawer_input:checked ~ .drawer_open{
  background: #7a7a7a;
}

/*スクロールしたらナビゲーションに付与される*/
.fixed{
  position: fixed;
  bottom: 0;
  width: 100%;
  z-index: 100;
}


/*ファーストビュー*/
.fv{
  background: url(./assets/img/top/bg_fv.svg) no-repeat bottom center/ cover;
  position: relative;
  z-index: -10;
  overflow: hidden;
}
.fv .copy-wrap{
  width: 60%;
  padding: 16rem 0;
}
.fv h1{
  font-size: clamp(2rem, 0.222rem + 3.7vw, 3rem);
  line-height: 1.8;
  text-align: left;
  color: var(--txt_color);
}
.copy-wrap h1::after{
  content: "";
  position: absolute;
  width: 115%;
  height: 115%;
  aspect-ratio: 1 / 1;
  background: url(./assets/img/common/bg_logo.svg) no-repeat center center / contain;
  bottom: 33%;
  right: -11%;
  z-index: -5;
}
.h1_pink{
  color: var(--main_color_p);
  text-align: left;
  font-weight: bold;
  line-height: 1.5;
  display: block;
  position: relative;
}
.h1_pink::before, .h1_pink::after{
  content: "”";
  position: absolute;
  width: 1.5rem;
  height: 1.5rem;
}
.h1_pink::before{
  top: -19%;
  left: -4%;
}
.h1_pink::after{
  bottom: 6%;
}
.h1_bold{
  font-size: clamp(2.3rem, 1.5rem + 2vw, 3.5rem);
  font-weight: bold;
}

.fv_slider{
  width: 70%;
  height: 500px;
  aspect-ratio: 4 / 3;
  margin-left: 2rem;
  margin-right: calc((50vw - 50%) * -1);
  border-radius: 10px 0 0 10px;
}
.vegas-content{
  padding: 0;
}
.copy-wrap h1{
  position: relative;
}

/*ファーストビューの基準の位置を変更する*/
.fv .vegas-slide-inner{
/*  background-position: center bottom!important;*/
}

@media screen and (max-width: 768px){
  .fv .inner.column{
    flex-direction: column;
  }
  .fv .copy-wrap{
    width: 85%;
    padding: 10rem 4% 2rem;
  }
  .copy-wrap h1::after{
    width: 200%;
    height: 200%;
    bottom: auto;
    right: 50%;
    transform: translate(50%, -50%);
  }
  .fv h1{
    font-size: 2.6rem;
    line-height: 1.2;
    text-align: center;
  }
  .h1_pink{
    text-align: center;
  }
  .h1_pink::before{
    left: auto;
  }
  .h1_pink::after{
    right:auto;
  }
  .fv_slider{
    width: 90%;
    height: auto;
    margin: auto;
    border-radius: 10px;
  }
}
@media screen and (max-width: 640px){
  .fv .copy-wrap {
    padding: 33% 4% 2rem;
  }
}
@media screen and (max-width: 425px){
  .fv h1{
    font-size: 2.2rem;
  }
  .copy-wrap h1::after{
    width: 150%;
    height: 150%;
  }
}

.sec._top_about{
  position: relative;
  overflow: hidden;
}
.sec._top_about::before,
.sec._top_about:after{
  content: "";
  position: absolute;
  width: 75%;
  height: 75%;
  aspect-ratio: 1 / 1;
}
.sec._top_about::before{
  background: url(./assets/img/common/bg_logo.svg) no-repeat center center / contain;
  top: 50%;
  left: -32%;
  transform: translateY(-50%);
}
.top_about_wrap figure,
.top_about_wrap .top_about_box{
  width: 48%;
}
.top_about_wrap{
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 5%;
}
.ttl_dot{
  color: var(--main_color_p);
  font-size: 2rem;
  text-align: center;
  font-weight: bold;
  line-height: 1.5;
  margin: 2rem 0 1rem;
  position: relative;
}
.ttl_dot::before{
  content: "";
  position: absolute;
  width: 3rem;
  height: 1rem;
  background: url(./assets/img/top/ttl_deco.svg) no-repeat center center / contain;
  top: -1.5rem;
  left: 50%;
  transform: translateX(-50%);
}
.top_about_box{
  border: 3px solid var(--main_color_p);
  border-radius: 10px;
  padding: 20px;
  background: #fff;
}
.ul_about{
  display: flex;
  justify-content: space-between;
}
.ul_about li{
  width: calc(100% / 3 - 20px);
  position: relative;
  display: flex;
  flex-direction: column;
}
.ul_about li::after{
  content: "";
  position: absolute;
  width: 1px;
  height: 100%;
  background: #b5b5b5;
  top: 50%;
  right: -20px;
  transform: translateY(-50%);
}
.ul_about li:last-child::after{
  content: none;
}
.ul_about li p{
  text-align: center;
  padding: 0 10px;
}
@media screen and (max-width: 640px){
  .sec._top_about::before{
    top: 28%;
  }
  .sec._top_about::after{
    background: url(./assets/img/common/bg_logo.svg) no-repeat center center / contain;
    right: -30%;
    top: 37%;
    z-index: -5;
  }
  .top_about_wrap figure, .top_about_wrap .top_about_box,.top_about_box{
    width: 90%;
    margin: 5% auto;
  }
  .ttl_dot{
    font-size: 1.5rem;
    margin: 2rem 0 0.3rem;
  }
  .ttl_dot::before{
    top: -1rem;
  }
  .top_about_wrap,.ul_about{
    flex-direction: column;
  }
  .ul_about{
    margin: auto;
  }
  .ul_about li{
    width: 100%;
    margin-bottom: 1rem;
  }
  .ul_about li::after{
    width: 100%;
    height: 1px;
    top: 100%;
    right: 0;
    transform: translateY(50%);
  }
  .ul_about li p{
    margin-bottom: 1rem;
    line-height: 1.5;
  }
}


.sec._top_facility{
  position: relative;
}
.sec._top_facility::before,
.sec._top_facility::after{
  content: "";
  position: absolute;
}
.sec._top_facility::before{
  width: 100%;
  height: 100%;
  background: url(./assets/img/common/deco_line.svg) no-repeat center center / contain;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: -5;
}
.sec._top_facility::after{
  width: 67%;
  height: 90%;
  background: #f9f6f0;
  border-radius: 30px 0 0 30px;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
  z-index: -15;
}
.ul_top_facility{
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.ul_top_facility li{
  width: 48%;
  background: #fff;
  border-radius: 15px;
  padding-bottom: 2rem;
}
.ul_top_facility li h3{
  color: #fff;
  font-size: 1.8rem;
  text-align: center;
  position: relative;
  background: var(--main_color_p);
  border-radius: 15px 15px 0 0;
  padding: 0.5rem;
}
.ul_top_facility li h3::after{
  content: "";
  position: absolute;
  width: 2.5rem;
  height: 2.5rem;
  aspect-ratio: 1 / 1;
  background: url(./assets/img/common/bg_logo.svg) no-repeat center center / contain;
  top: 50%;
  right: 54%;
  transform: translate(-50%, -50%);
  z-index: 0;
  mix-blend-mode: plus-lighter;
}
.facility_wrap{
  background: #ffe9ec;
  width: 90%;
  margin: 2rem auto;
  display: flex;
  flex-direction: column;
  align-items: center;
  border-radius: 10px;
  border: 1px solid var(--main_color_p);
}
.facility_wrap a{
  padding: 1.5rem 0 1rem;
  display: block;
  width: 100%;
  height: 100%;
}
.facility_wrap a:hover{
  opacity: 0.7;
}
.facility_wrap img{
  width: 90%;
  margin: auto;
}
.facility_wrap h4{
  color: var(--main_color_g);
  font-size: 1.5rem;
  text-align: center;
  line-height: 1.8;
}
.facility_wrap span{
  width: 100%;
  display: block;
  text-align: center;
  line-height: 1;
  letter-spacing: 0.1rem;
}
.instragram_wrap{
  width: 90%;
  margin: auto;
}
.instragram_wrap h4{
  color: #fff;
  font-size: 1.5rem;
  background: var(--main_color_p);
  line-height: 1;
  padding: 0.5rem 1rem;
  width: fit-content;
  border-radius: 10px 10px 0 0;
}
.instagram_contents{
  background: #ffe9ec;
  padding: 1rem;
}
.insta_img{
  display: flex;
  margin: auto;
}
.insta_img img{
    width: 50%;
}
.instagram_contents .btn::after{
  content: none;
}
.bnr{
	width: 80%;
  max-width: 750px;
  display: block;
  margin: 3rem auto;
	
}
.bnr img{
	border-radius: 10px;
}
@media screen and (max-width: 640px){
  .sec._top_facility::after{
    width: 80%;
    height: 100%;
    border-radius: 20px 0 0 20px;
  }
  .ul_top_facility li{
    width: 90%;
  }
  .ul_top_facility li h3{
    font-size: 1.5rem;
    padding: 0;
  }
  .facility_wrap h4{
    font-size: 1.3rem;
  }
  .bnr{
    width: 80%;
  }
}


/*画像＋テキストの要素を横並びにする*/
.blog_list{
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  flex-wrap: wrap;
}
.blog_list li{
  width: 30%;
  background: var(--main_color_p);
  border-radius: 10px;
  border: 1px solid var(--main_color_p);
}
.blog_list li a{
    display: block;
    width: 100%;
    height: 100%;
}
.blog_list picture{
  width: 100%;
  display: block;
}
.blog_list picture img{
	aspect-ratio: 4 / 3;
    object-fit: cover;
	border-radius: 10px 10px 0 0;
}
.blog_data{
  padding: 0.5rem 1rem;
}
.blog_ttl{
  padding: 0 1rem;
  margin-bottom: 1rem;
}
.sec._top_blog .btn{
  max-width: 230px;
  width: 50%;
  padding: 0.5rem;
  margin-left: auto;
  margin-right: 0;
}
@media screen and (max-width: 640px){
	.blog_list{
    	-webkit-box-orient: vertical;
    	-webkit-box-direction: normal;
    	-ms-flex-direction: column;
    	flex-direction: column;
  }
  .blog_list li{
    width: 90%;
    margin: 0 auto 8%;
    border-bottom: 1px dotted #9b9b9b;;
  }
  .blog_list li:last-child{
    border-bottom: none;
    margin-bottom: 0;
    padding-bottom: 0;
  }
  .blog_list picture{
    margin-bottom: 0;
  }
	.blog_list picture img{
		height: 300px;
	}
}
@media screen and (max-width: 425px){
  .blog_list picture, .blog_list .ttl-sub, .blog_list li p{
    width: 100%;
  }
	.blog_list picture img{
		height: 200px;
	}
}


.top_recruit{
	/*padding: 10% 0;*/
	margin-bottom: 16rem;
	position: relative;
}
.top_recruit::after{
	content: "";
	position: absolute;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	background: url(./assets/img/top/bg_top_recruit.jpeg) no-repeat center center / cover;
	opacity: 0.3;
	border-radius: 80px 80px 0 0;
	 z-index: -1;
}
.top_recruit h3{
	color: #4c4130;
	font-size:1.5rem;
	line-height: 1.5;
	font-weight: bold;
	margin-bottom: 1rem;
}
.recruit_slider,.top_recruit_txt{
	width: 48%;
}
div.recruit_slider{
	max-width: 48%;
	aspect-ratio: 4 / 3;
	border-radius: 10px;
	position: relative;
	z-index: 0;
	overflow: visible!important;
}
div.recruit_slider  div.vegas-slide{
	border-radius 10px!important;
}
.recruit_slider::before,
.recruit_slider::after{
	content: "";
	position: absolute;
	width: 20%;
	height: 20%;
	z-index: 10;
}
.recruit_slider::before{
	background: url(./assets/img/top/deco_recruit01.svg) no-repeat center center / contain;
	top: -10%;
	left:-10%;
}
.recruit_slider::after{
	background: url(./assets/img/top/deco_recruit02.svg) no-repeat center center / contain;
	bottom: -10%;
	right: -10%;
}
.recruit-indicator{
  position: absolute;
  bottom: 20px;
  left: 50%;
  display: flex;
  gap: 10px;
  transform: translateX(-50%);
  z-index: 10;
}
.recruit-indicator li{
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: rgba(255,255,255,0.7);
  cursor: pointer;
}
.recruit-indicator li.active{
  background: var(--main_color_p);
}
.top_recruit_txt{
	text-align: justify;
}
.top_recruit_txt p:first-child{
	margin-bottom: 7%;
}
.top_recruit_txt .btn{
	width: 63%;
    max-width: 250px;
    padding: 0.5rem;
    margin: 4% 0 0 auto;
}
@media screen and (max-width: 640px){
	.top_recruit::after{
		border-radius: 30px 30px 0 0;
	}
	.recruit_slider,.top_recruit_txt{
		width: 90%;
	}
	.recruit_slider{
		max-width: none!important;
		margin-bottom: 2rem;
	}
	.recruit_slider::before,
	.recruit_slider::after{
		width: 30%;
		height: 30%;
	}
}
@media screen and (max-width: 425px){
	.top_recruit h3{
		font-size: 1.3rem;
	}
	.recruit-indicator{
		bottom: 15px;
	}
	.top_recruit_txt .btn{
		width: 70%;
	}	
}


/*footer*/
footer{
	background: #ffe9ec!important;
	padding: 100px 0 0!important;
	position: relative;
	margin-top: 8%;
}
footer::before{
  content: "";
  position: absolute;
  width: 100%;
  height: 42%;
  background: url(./assets/img/common/footer_deco.svg) no-repeat center center / cover;
  top: -38%;
  left: 0;
	z-index: -10;
}
.footer_menu_wrap{
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  flex-wrap: wrap;
}
.footer_logo{
  width: 100%;
  /*max-width: 350px;*/
  margin: 0 auto 3%;
  display: block;
  background: #fff;
  border-radius: 5px;
  padding: 5%;
  margin-bottom: 1.5rem;
}
.footer_logo img{
  width: 90%;
  margin: auto;
}
.footer_adress div{
  display: flex;
  flex-wrap: wrap;
}
.footer_adress dt{
  color: #fff;
  text-align: center;
  width: 6rem;
  height: fit-content;
  background: var(--main_color_g);
  margin-right: 0.5rem;
}
.footer_adress dt,.footer_adress dd{
  line-height: 1.5;
}
.footer_menu{
  display: flex;
  flex-wrap: wrap;
  margin-left: auto;
}
.footer_menu li{
  margin: 0 0.3rem;
}
.footer_menu li a:hover{
	color: var(--main_color_p);
}
.second-content li{
    margin: 0;
}

.bnr_img{
  display: flex;
  justify-content: space-around;
  margin-top: 1.5rem;
}
.footer_bnr{
	max-width: 250px;
}
footer .copy{
  font-size: .9rem;
  text-align: center;
  display: block;
  margin-top: 5%;
  padding: 1% 0;
  border-top: 1px dotted var(--txt_color);
}
@media screen and (max-width: 1024px){
  .footer_menu{
    flex-direction: column;
  }
  .footer_menu li .second-content li{
    margin-left: 1rem;
  }
	.bnr_img{
		flex-direction: column;
	}
	.footer_bnr{
		max-width: 200px;
	}
	.footer_bnr:first-child{
		margin-bottom: 1rem;
	}
}
@media screen and (max-width: 640px){
  footer{
    padding: 15% 0 0;
	  margin-top: 100px;
  }
  .footer_menu_wrap{
    flex-direction: column;
    align-items: center;
  }
  .footer_left{
    width: 90%;
  }
  .footer_adress dt, .footer_adress dd{
    margin-bottom: 3%;
  }
  .footer_right{
    width: 90%;
  }
  .footer_menu li{
    border-bottom: 1px solid var(--main_color_p);
  }
  .footer_menu li a{
    line-height: 2.5;
    display: block;
  }
  .footer_menu li .second-content li:last-child{
    border-bottom: none;
  }
	.footer_bnr{
		width: auto;
		max-width: 250px;
	}
	  .bnr_img{
    	align-items: center;
    	flex-direction: column;
	}
	footer .copy{
    margin-top: 15%;
  }
}




/*サイドインスタボタン*/
.insta{
	color: #fff;
	font-size: 0.8rem;
    background: var(--main_color_p);
    border-radius: 10px 0 0 10px;
    width: 5rem;
	padding: 0.5rem 0 0.2rem;
    display: flex;
    flex-direction: column;
    align-items: center;
    position: fixed;
    right: 0;
    top: 56%;
	z-index: 10;
}
.insta img{
	width: 2rem;
	height: 2rem;
}
@media screen and (max-width: 425px) {
	.insta{
		font-size: 0.6rem;
		width: 4rem;
	}
	.insta img{
		width: 1.5rem;
		height: 1.5rem;
	}
}

/*TOPへ戻るボタン*/
 .re-btn {
  position: fixed;
  bottom: 2%;
  right: 2%;
  z-index: 999;
  -webkit-transition: .4s;
  transition: .4s;
  max-width: 75px;
  opacity: .7
}
.re-btn img {
  width: 100%
}
.re-btn:hover {
  opacity: .7;
  filter: alpha(opacity=70);
  -ms-filter: "alpha(opacity=70)"
}

@media screen and (max-width: 640px) {
  .re-btn {
    position:fixed;
    bottom: 2%;
    right: 2%;
    z-index: 50;
    -webkit-transition: .4s;
    transition: .4s;
    width: 30%;
    z-index: 200;
    max-width: 80px;
    opacity: .7
  }
  .re-btn img {
    width: 100%
  }
  .re-btn:hover {
    opacity: .7;
    filter: alpha(opacity=70);
    -ms-filter: "alpha(opacity=70)"
  }
}



/* 下層ページ　共通
================================================ */
/* ヘッダー */
.sec_header{
	background: #f9f6f0;
	padding: 50px 0;
	position: relative;
}
.sec_header::before{
	content: "";
	position: absolute;
	width: 100%;
	height: 100%;
	background: url(./assets/img/common/sec_header_deco.svg) no-repeat center center / contain;
	top: 50%;
	left: 0;
	transform: translateY(-50%);
}
.sec_header .inner{
	border-radius: 15px;
	padding: 100px 0;
}
.inner._about{
	background: url(./assets/img/about/header.jpg) no-repeat center center / cover;
}
.inner._info{
	background: url(./assets/img/info/header.jpg) no-repeat center center / cover;
}
.inner._blog{
	background: url(./assets/img/blog/header.jpg) no-repeat center center / cover;
}
.inner._contact{
	background: url(./assets/img/contact/header.jpg) no-repeat center center / cover;
}
.inner._policy{
	background: url(./assets/img/policy/header.jpg) no-repeat center center / cover;
}
.ttl_row_header{
	color: var(--txt_color);
	font-size: clamp(2rem, 1.5rem + 2vw, 3rem);
	text-align: center;
	font-weight: bold;
	letter-spacing: 0.1rem;
	position: relative;	
	z-index: 0;
}
.ttl_row_header::before{
	content: "";
    position: absolute;
    width: 100px;
    height: 100px;
    background: url(./assets/img/common/bg_logo.svg) no-repeat center center / cover;
    top: 50%;
    right: 56%;
    transform: translateY(-50%);
    z-index: -5;
}

/* パンくず */
.breadcrumb{
    padding: 0.5rem 0;
	background: #efefef;
}
.breadcrumb ul{
    display: flex;
	flex-wrap: wrap;
}
.breadcrumb ul li{
    position: relative;
	padding-right: 4rem;
}
.breadcrumb ul li:last-child {
	padding-right: 0;
}
.breadcrumb ul li::after{
    content: ">";
	position: absolute;
	right: 1.8rem;
}
.breadcrumb ul li:last-child::after{
	content: none;
}
.breadcrumb ul li a{
	color: var(--main_color_p);
}
.breadcrumb ul li a:hover{
	opacity: 0.4;
}
@media screen and (max-width: 425px){
	.sec_header .inner{
    	padding: 50px 0;
		border-radius: 10px;
	}
	.ttl_row_header::before{
		width: 70px;
		height: 70px;
	}
}


/* 下層ページ　法人概要
================================================ */
.sec._message{
	position: relative;
}
.sec._message::after{
	content: "";
	position: absolute;
	width: 100%;
	height: 100%;
	background: url(./assets/img/common/deco_line.svg) no-repeat center center/ contain;
	top: 70%;
    z-index: -10;
    transform: translateY(-50%);
}
.sec_message_wrap{
    display: flex;
	justify-content: space-between;
}
.sec_message_left{
    display: flex;
	align-items: flex-start;
	position: sticky;
    top: 15%;
    height: 100%;
}
.sec_message_left::after{
	content: "";
    position: absolute;
    width: 200px;
    height: 200px;
    background: url(./assets/img/common/bg_logo.svg) no-repeat center center / contain;
    top: -11%;
    right: -11%;
    z-index: -5;
}
.sec_message_img_left{
    display: flex;
    flex-direction: column;
    align-items: center;
}
.sec_message_img_left img{
	margin-bottom: 1rem;
}
.sec_message_img_left span{
	color: var(--txt_color);
	line-height: 1.5;
}
.sec_message_img_left p{
	font-size: 1.5rem;
}
.sec_message_img_right p{
	color: #fcb1b8;
	font-size: 1.25rem;
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
	letter-spacing: 0.1rem;
	margin-left: 0.5rem;
	
}
.sec_message_right{
    width: 58%;
	padding-left: 2rem;
}
.sec_message_right p{
	text-align: justify;
}
@media screen and (max-width: 640px){
	.sec_message_wrap{
		align-items: center;
		flex-direction: column;
	}
	.sec_message_left{
		position: relative;
		align-items: self-end;
		width: 90%;
        justify-content: space-around;
	}
	.sec_message_right{
		width: 90%;
		padding-left: 0;
	}
}

.sec._about{
	position: relative;
	overflow: hidden;
}
.sec._about::before,
.sec._about::after{
	content: "";
	position: absolute;
}
.sec._about::before{
    width: 90%;
    height: 100%;
    background: #f9f6f0;
    border-radius: 0 30px 30px 0;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
    z-index: -15;
}
.sec._about::after{
    width: 75%;
    height: 75%;
    background: url(./assets/img/common/bg_logo.svg) no-repeat center center / contain;
    top: 50%;
    right: -34%;
    transform: translateY(-50%);
    z-index: -10;
}
.dl_about_wrap{
	max-width: 90%;
    background: #fff;
    margin: auto;
    border-radius: 10px;
	padding: 6%;
}
.dl_logo{
    width: 40%;
    margin: 0 auto 1.5rem;
}
/*概要リスト*/
.data-list{
	display: flex;
	align-items: stretch;
	flex-wrap: wrap;
	border-top: 2px solid var(--main_color_p);
	border-bottom: 2px solid var(--main_color_p);
}
.data-list dt, .data-list dd{
  padding: 1.5%;
  border-bottom: 1px dotted #666666;
}
.data-list dt:last-of-type, .data-list dd:last-of-type{
  border-bottom: none;
}
.data-list dt{
  width: 160px;
  font-weight: bold;
}
.data-list dd{
  width: calc(100% - 160px);
}
.data-list li{
  list-style: disc;
  margin-left: 1rem;
}
.data-list address{
  font-style: normal;
  line-height: 1.6;
}
.map{
	width: 100%;
    height: 14%;
    aspect-ratio: 2 / 1;
	margin-top: 3%;
}
.map iframe{
    width: 100%;
    height: 100%;
}
@media screen and (max-width: 640px){
	.dl_logo{
		width: 70%;
	}
	.data-list{
	  flex-direction: column;
	  
  }
	.data-list dt, .data-list dd{
		width: 100%;
	}
	.data-list dt{
		border-bottom: none;
		padding: 0.3rem 0 0;
	}
	.map{
		margin-top: 1.25rem;
	}
}
@media screen and (max-width: 425px){
  .data-list{
    flex-direction: column!important;
  }
  .data-list dt{
    font-weight: normal;
  }
}
.sec._history .ttl_wrap{
	position: sticky;
    top: 37%;
    height: 100%;
}
.sec._history .inner{
	display: flex;
    justify-content: space-between;
    align-items: stretch;
}
.history_wrap{
	width: 70%;
	padding-left: 8%;
	border-left: 1px solid #d6d6d6;
}
@media screen and (max-width: 425px){
	.sec._history .inner{
		flex-direction: column;
	}
	.sec._history .ttl_wrap{
		position: relative;
	}
	.history_wrap{
		width: 90%;
		margin: auto;
		padding-left: 0;
		border-left: none;
	}
}


/* 下層ページ　お問い合わせ
================================================ */
.sec._contact_form .inner{
	width: 80%;
	padding: 5%;
	border: 1px solid #d6d6d6;
	border-radius: 10px;
	max-width: 1000px;
}
.contact_form dl{
    display: flex;
    flex-flow: wrap;
    width: 100%;
}
.contact_form dt{
    width: 35%;
	padding: 10px 0;
	border-bottom: 1px solid var(--txt_color);
}
.contact_form dt:nth-child(11){
	border-bottom: none;
}
.contact_form dt span{
    color: #fff;
    font-size: 0.85rem;
	line-height: 1;
    background: var(--main_color_p);
    padding: 0.3rem 0.5rem;
    border-radius: 5px;
    margin: 0.5rem 0.5rem 0.5rem 0.3rem;
    display: inline-block;
}
.contact_form dd{
    width: 65%;
    padding: 10px 0;
    border-bottom: 1px solid #ccc;
}
.contact_form dd input{
    width: 100%;
}
.contact_form dd:last-child{
    border-bottom: none;
}
.contact_form textarea{
    padding: 1rem;
    border: 1px solid #ccc;
    width: 100% !important;
}
.e-article{
    margin: 1.5rem 0;
}
.pp_container{
    font-size: 15px;
    height: 200px;
    width: 90%;
    overflow-y: scroll;
    margin: 0 auto 1.5rem;
    padding: 2rem;
    border: 1px solid #303030;
}
.pp_container h4{
    font-size: 20px;
    font-weight: normal;
    margin-bottom: 0.8rem;
}
.pp_container p {
    margin-bottom: 1.8rem;
}
.pp_container ul{
    padding-left: 1.5rem;
    margin-bottom: 1.8rem;
}
.pp_container ul li{
    list-style: disc;
    line-height: 1.8rem;
}
.acceptance_container{
    text-align: center;
    line-height: 1.5rem;
    margin-bottom: 1.5rem;
}
.acceptance_container input{
    width: auto !important;
}
.submit-container{
    margin: auto;
}
.wpcf7-submit{
    color: #ffffff;
    background: var(--main_color_g);
    max-width: 300px;
    box-sizing: border-box;
    text-align: center;
    font-size: 1rem;
    font-weight: 600;
    text-decoration: none;
    padding: 15px;
    position: relative;
    display: table;
    width: 100%;
    -webkit-transition: .4s;
    -o-transition: .4s;
    transition: .4s;
    margin: auto;
}
@media screen and (max-width: 640px) {
    .contact_form dl{
        flex-flow: column;
    }
    .contact_form dl dt, .contact_form dl dd{
        width: 100%;
    }
    .contact_form dt {
        padding: 1rem 0;
    }
	.form_choice span select{
		width: 100%;
	}
}
.thanks{
	width: 80%;
	margin: auto;
}
.thanks p{
	text-align: center;
}
.sec._contact_recruit .inner{
	background: #f9f6f0;
	border-radius: 15px;
	padding: 5%;
}
.contact_bnr_wrap{
    display: flex;
    flex-direction: column;
    align-items: center;
	margin-top: 3%;
	border-top: 1px solid #d6d6d6;
}
.contact_bnr_wrap a:first-child{
    margin: 3% 0;
}

/* 下層ページ　プライバシーポリシー
================================================ */
.sec._policy .inner{
    width: 80%;
	max-width: 900px;
    padding: 4%;
    border: 1px solid #d6d6d6;
    border-radius: 15px;
}
.sec._policy .inner p:first-child{
	margin-bottom: 5%;
}
.dl_policy h2{
	padding: 0.5rem 1.5rem 0.5rem 1rem;
    border-bottom: 1px solid #d6d6d6;
    position: relative;
}
.dl_policy h2::before{
	content: "";
	position: absolute;
	width: 6px;
	height: 65%;
	background: var(--main_color_p);
	border-radius: 20px;
	top: 10px;
	left: 0;
}
.dl_policy dd{
    margin: 1rem 0;
}
.ttl_policy{
	color: var(--main_color_p);
	font-size: 1.5rem;
	text-align: center;
	font-weight: bold;
	margin: 5% 0 3%;
}


/* 下層ページ　情報公開
================================================ */
.sec._info{
	padding: 70px 0;
}
.info_contents_wrap{
	background: #fff;
    border: 1px solid #d6d6d6;
    border-radius: 10px;
    padding: 3%;
	position: relative;
}
.info_contents_wrap::after{
	content: "";
	position: absolute;
	width: 150px;
	height: 150px;
	background: url(./assets/img/common/bg_logo.svg) no-repeat center center / contain;
	top: -70px;
    left: 50%;
    transform: translateX(-50%);
    z-index: -5;
}
.info-contents{
    display: flex;
    justify-content: space-between;
    align-items: center;
	flex-wrap: wrap;
	gap: 1rem;
}
.info-contents li{
	width: 48%;
}
.info-contents li a{
	line-height: 1.5;
	display: block;
	padding: 3% 3% 3% 8%;
	border: 1px solid #d6d6d6;
	position: relative;
}
.info-contents li a:hover{
	background: #d6d6d6;
}
.info-contents li a::before{
	content: "";
    position: absolute;
    width: 6px;
    height: 53%;
    background: var(--main_color_p);
    border-radius: 20px;
    top: 25%;
    left: 4%;
}
.ttl{
	/*font-size: 1.5rem;
	margin: 2rem 0 1rem;*/
}
.info-contents.questionnaire{
	align-items: flex-start;
}
.info_accordion{
	width: 48%;
}
.info_accordion summary{
    display: flex;
    justify-content: space-between;
    align-items: center;
    position: relative;
    padding: 1em 2em;
    border-left: 5px solid var(--main_color_p);
    color: #666;
    cursor: pointer;
	transition: var(--transition);
}
.info_accordion summary:hover{
	background: #d6d6d6;
}
.info_accordion summary::-webkit-details-marker{
    display: none;
}
.info_accordion summary::after{
    transform: translateY(-25%) rotate(45deg);
    width: 7px;
    height: 7px;
    margin-left: 10px;
    border-bottom: 3px solid #c2c2c2;
    border-right: 3px solid #c2c2c2;
    content: '';
    transition: transform .3s;
}
.info_accordion[open] summary::after{
    transform: rotate(225deg);
}
.info_accordion p{
    transform: translateY(-10px);
    opacity: 0;
    margin: 0;
    color: #333333;
    transition: transform .5s, opacity .5s;
}
.info_accordion p a{
	padding: 0.5rem;
	display: block;
	border-bottom: 1px solid #c2c2c2;
}
.info_accordion p a:hover{
	color: var(--main_color_p);
	transition: var(--transition);
}
.info_accordion[open] p{
    transform: none;
    opacity: 1;
}
@media screen and (max-width: 640px) {
	.info_contents_wrap{
		padding: 7%;
	}
	.info-contents{
		flex-direction: column;
	}
	.info-contents li,
	.info_accordion{
		width: 95%;
	}
	.info-contents.questionnaire{
		align-items: center;
	}
	.info_accordion summary{
		padding: 0.8rem;
	}
}
@media screen and (max-width: 425px) {
	.info-contents li{
		width: 100%;
	}
	.info-contents li a::before{
		width: 4px;
	}
}





/* アーカイブページ */
.category_list{
	margin-bottom: 5%;
}
.ul_category_list{
	display: flex;
	flex-wrap: wrap;
	gap: 0.8rem;
}
.ul_category_list li{
	margin-bottom: 0.5rem;
}
.ul_category_list a{
	padding: 0.5rem;
	background: #ffe0e3;
}
.ul_blog_list{
	display: flex;
	align-items: stretch;
    justify-content: space-evenly;
	gap: 2rem;
	flex-wrap: wrap;
	margin-bottom: 5%;
}
.ul_blog_list li{
	flex: 0 0 calc(30% - 10px);
}

.ul_blog_list li a{
	display: flex;
	flex-direction: column;
}
.ul_blog_list li img{
	aspect-ratio: 4 / 3;
	object-fit: cover;
	border-radius: 10px;
}
.entry_ttl{
	font-size: 1.2rem;
	line-height: 1.3;
	flex-grow: 1;
}
.entry_time{
	font-size: 0.85rem;
}
.archive_pagination{
	display: flex;
	align-items: center;
	justify-content: center;
	flex-wrap: wrap;
}
.page-numbers li{
	margin: 0 10px;
}
.page-numbers{
	font-size: 1.25rem;
	padding: 20px;
}
.page-numbers a:hover{
	color: var(--main_color_p);
}
.page-numbers.current{
    color: #fff;
    background: var(--main_color_p);
	padding: 16px 20px;
	border-radius: 50px;
}
.page-numbers.current:hover{
	color: #fff;
}
@media screen and (max-width: 640px) {
	.category_list{
    	margin-bottom: 80px;
	}
	.ul_category_list{
		gap: 0.5rem;
	}
	.ul_blog_list li{
		flex: 0 0 calc(45% - 10px);
	}
	.ul_blog_list li:last-child{
		margin-right: auto;
	}
}
@media screen and (max-width: 425px) {
	.ul_blog_list{
		justify-content: center;
	}
	.ul_blog_list li{
		flex: 0 0 calc(80% - 10px);
	}
	.ul_blog_list li:last-child{
		margin-right: 0;
	}
}

/* シングルページ */
.single-inner{
	width: 80%;
	max-width:900px;
	margin: 5% auto;
}
.h2_single{
	color: var(--txt_color);
	font-size: 2rem;
	line-height: 1.3;
	margin-bottom: 1rem;
	padding-bottom: 0.5rem;
	border-bottom :2px solid var(--main_color_p);
}
.blog_single_info_wrap{
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-bottom: 3%;
}
.post-categories{
	display: flex;	
	flex-wrap: wrap;
}
.post-categories li{
	width: fit-content;
}
.post-categories li a{
	padding: 0.3rem;
	border: 1px solid var(--txt_color);
	margin-right: 0.5rem;
	transition: var(--transition);
}
.post-categories li last-child a{
	margin-right: 0;
}
.post-categories li a:hover{
	color: #fff;
	background: var(--txt_color);
}
.blog_single_data{
	color: var(--txt_color);
	font-size: 0.85rem;
}
.contents_wrap h1,
.contents_wrap h2,
.contents_wrap h3,
.contents_wrap h4,
.contents_wrap h5{
	margin-bottom: 1rem;
}
.contents_wrap h1{
	color: var(--txt_color);
	font-size: 1.5rem;
}
.contents_wrap h1:first-letter{
	color: var(--main_color_p);
	font-size: 1.8rem;
}
.contents_wrap h2{
	padding: 1rem;
	border-left: 6px double #000;
	background: #f4f4f4;
}
.contents_wrap h3{
	padding: 0.5rem 0;
    border-bottom: 6px double var(--txt_color);
}
.contents_wrap h4{
	line-height: 1.5;
    display: block;
    padding: 3% 3%;
    position: relative;
}
.contents_wrap h4::before{
	content: "";
    position: absolute;
    width: 6px;
    height: 53%;
    background: var(--main_color_p);
    border-radius: 20px;
    top: 25%;
    left: 0;
}
.contents_wrap h5{
	color: var(--main_color_p);
	font-size: 1.2rem;
	font-weight: bold;
}
.contents_wrap a{
	color: var(--main_color_p);
	border: 1px solid var(--main_color);
}
.contents_wrap strong{
	font-weight: bold;
}
.contents_wrap img{
	width: auto;
    margin: auto;
    max-width: 600px;
}
.contents_wrap table{
	width: 100%;
	border: 1px solid #f4f4f4;
	margin: 0.5rem 0;
}
.contents_wrap table th,
.contents_wrap table td{
	line-height: 1.3;
	border: 1px solid #f4f4f4;
	padding: 1rem;
	
}
.single-inner > .btn{
	min-width: 180px;
}
@media screen and (max-width: 640px) {
	.h2_single{
		font-size: 1.5rem;
	}
	.blog_single_info_wrap{
		flex-direction: column-reverse;
	}
	.blog_single_data{
		margin: auto 0 1rem auto;
	}
	.post-categories{
		width: 100%;
	}
	.post-categories li{
		margin-bottom: 0.5rem;
	}
	.contents_wrap img{
		width: 100%;
	}
}
