/* CSS Document */
.humb,.pc_none{
  display: none;
}
/* @media screen and (max-width: 768px){
* {
  outline: 1px solid red;
} */
/*

-------------------------------
共通
-------------------------------
*/
/* すべての要素のスクロールバーを非表示 */
@media screen and (max-width: 767px) {*::-webkit-scrollbar {
  width: 0;
  display: none;
}

* {
  scrollbar-width: none;
  -ms-overflow-style: none;
}
.body{
  padding:0;
}
.wrapper{
  margin:0 auto 0;
  padding:40px 20px;
  box-sizing: border-box;
}
ul.nav{
  display: block;
}
ul.nav li{
  display: block;
  text-align: left;
}
.over_width,.inner_width,#wrap{
  width:100%!important;
    margin-left: 0;
    margin-right: 0;
    padding-left: 0;
    padding-right: 0;
}
.pc_none{
  display: block;
}
.sp_none{
  display: none !important;;
}
.index_section{
  margin-bottom:64px;
}
h2.section_title{
  font-family: var(--english-font);
  font-size:2rem;
}
h2.section_title span{
  font-size:1.4rem;
  display: block;
}
/*
-------------------------------
header
-------------------------------
*/
header{
  background-color: transparent;
}
body{
  font-size:1.5rem;
}
.sp_header{
  padding:0 0 0 15px;
  height:51px;
  box-sizing: border-box;
}
a.header_logo{
  display: block;
  width:245px;
  height:40.5px;
  background-size: cover;
  padding:5px;
}
a.header_logo img{
  width:100%;
}
.fix_btn{
  width:65%;
  margin:0 auto;
  position:fixed;
  top:0;
  left:10px;
  
  border-radius: 5px;
  display: none;
  z-index:900;
}
.fix_btn.active{
  display: block;
  opacity: 0;
  animation-name: fadein;
  animation-duration: 1s;
  animation-timing-function: ease-out;
  animation-fill-mode: forwards;
}


/*
-------------------------------
footer
-------------------------------
*/
footer{
  padding:40px 16px;
}
.wrapper.footer_wrap{
  display: block;
  padding:0 16px;
}
.footer_nav{
  display: none;
}
a.footer_link{
  padding:0 5%;
}
a.footer_link img{
  width:100%;
}
/* ----------------------------------
kv
---------------------------------- */
ul.kv_icon{
  align-items: center;
  flex-wrap: wrap;
  gap: 0;
  justify-content: center;
  position:absolute;
  width:calc(100% - 26px);
  left:50%;
  transform: translateX(-50%);
  bottom:13px;
}
ul.kv_icon li{
  width:50%;
  text-align: left;
}
ul.kv_icon li:first-child{
  margin-bottom:-50px;
}
ul.kv_icon li:nth-child(2){
  text-align: center;
  order:3;
}
ul.kv_icon li:nth-child(3){
  text-align: right;
  order:2;
  margin-bottom:-50px;
}

ul.kv_icon li img{
  width:70%;
  min-width: 133px;;
}
.kv_detail{
  right:20px;
  transform: initial;
  top:30px;
}
.kv_detail h1{
  font-size:2.2rem;
}
.kv_detail h1 span{
  font-size:2.8rem;
  line-height: 1.4;
}
.kv_detail p{
  font-size:1.4rem;
  padding:1rem 0;
}
/* フェードアニメーション */
.kv_image{
  aspect-ratio: 390 / 548;
}

/* ----------------------------------
infomation
---------------------------------- */
section.infomation{
  margin-bottom:170px;
}
section.infomation::after{
  display: none;
}
section.infomation h2{
  font-size:4.5rem;
  position:absolute;
  top:-48px;
  right:auto;
  left:50%;
  transform: translateX(-50%);
  color:var(--blue);
}
.info_wrapper {
  display: block;
  width:95%;
  margin:0 auto;
}
.img_wrap{
  position:absolute;
  bottom:-80px;
  left:0;
  width:50%;
}
.img_wrap img{
  width:100%;
}
.info_wrapper ul{
  background-color: rgba(21,102,172,0.1);
  width:100%;
  padding:26px 0 143px 46px;
}
.info_wrapper ul li{
  font-size:1.8rem;
}
.info_wrapper ul li::before{
  transform: initial;
  width:18px;
  height:18px;
  top:11px;
  left:-28px;
}
.img_wrap::after{
  display: none;
}
.info_image{
  position:absolute;
  width:50%;
  right:0;
  bottom:-120px;
}
.img_box{
  width:50%;
  margin:0 0 24px auto;
  text-align: right;
}
img.infomation2{
  width:76px;
  margin:0 0 0 auto;
}
img.infomation3{
  width:150px;
  margin:0 24px 0 auto;
}
/* ----------------------------------
shop_info
---------------------------------- */
.shop_info_wrap{
  display: block;
  width:90%;
  box-shadow: 8px 8px 0px 0px rgba(21, 102, 172, 0.3);
}
.wrapper.shop_info_wrap{
  padding:20px;
}
.shop_info_wrap iframe{
  width:100%;
  height:180px;
}
.shop_info_detail{
  width:100%;
  margin-top:20px;
}
.shop_info_detail h3{
  font-size:1.8rem;
}
p.address{
  font-size:1.2rem;
}
.shop_info_detail a{
  font-size:1.8rem;
}
.shop_info_detail table{
  font-size:1.3rem;
}
.shop_info_reserve{
  display: block;
}
.shop_info_reserve p{
  font-size:2.2rem;
  text-align: center;
  padding-bottom:32px;
}
.shop_info_reserve p::after{
  top:inherit;
  bottom:0;
  right:inherit;
  left:50%;
  transform: translateX(-50%) rotate(90deg);
}
.shop_info_reserve p, .shop_info_reserve a{
  width:100%;
}
.shop_info_reserve a{
  margin-top:10px;
  font-size:1.8rem;
}
.shop_info_reserve a img{
  width:24px;
}
/* ----------------------------------
worries
---------------------------------- */
.worries{
  background: url(../images/index/sp/worries_main_bg_sp.png) bottom center no-repeat;
  background-size: cover;
}
.worries h3{
  font-size: 2.5rem;
}
.worries h3 span{
  font-size:3.2rem;
}
.worries ul{
  display: block;
  padding:30px 20px;
}
.worries ul li{
  width:100%;
  font-size:1.6rem;
  padding-left:30px;
}
.worries ul li::before{
  width:20px;
  height:20px;
  transform: inherit;
  top:5px;
}
.worries .worries_bottom_wrap h3{
  font-size:1.6rem;
  line-height: 2;
}
.worries .worries_bottom_wrap h3 span{
  font-size:2.2rem;
}
/* ----------------------------------
important
---------------------------------- */
.important{
  padding-top:0;
  background-color: #ECF7FF;
}
.important::before{
  width:250px;
  height:204px;
}
.important::after{
  bottom:inherit;
  top:0;
  /* display: none; */
}
img.important_head{
  position:static;
  display: block;
}
.wrapper.important_list{
  margin-top:0;
}
.important_list_inner{
  margin-bottom:16px;
}
.important_list_inner div{
  padding:16px;
}
.important_list_inner div img{
  width:100%;
}
.important_list_inner a{
  font-size:1.2rem;
  text-decoration: underline;
}
.important_list_content{
  display: block;
}
.important_list h3{
  font-size:2rem;
  padding:16px 0;
}
.important_list h3 span{
  font-size:3.2rem;
}
.wrapper.important_list{
  padding:0 10px;
  margin-top:-60px;
} 
.important_list ul{
  display: block;
}
.important_list ul li{
  padding:20px;
  font-size:1.4rem;
  line-height:1.75;
  margin-bottom:15px;
  border-bottom:5px solid #1BA771;
}
.important_list ul li a{
  font-size:1.4rem;
}
.important_list ul li img{
  width:100%;
}
/* ----------------------------------
reason
---------------------------------- */
.reason{
  padding-top:30px;
  position:relative;
  padding-bottom:0;
}
.reason::before{
  content:"";
  position:absolute;
  width:calc(100% - 40px);
  height:1000px;
  background-color: var(--blue);
  opacity: 0.1;
  left:0;
  top:124px;
}
.reason::after{
  content:"";
  position:absolute;
  width:73px;
  height:65px;
  background-color: var(--blue);
  opacity: 0.1;
  right:0;
  top:0;
}
.wrapper.reason_wrap{
  display: block;
  padding:40px 20px 0;
}
.image_title{
  font-size:5.7rem;
  right:0;
  top:200px;
  line-height: 1;
}
.reason_title{
  display:flex;
  justify-content:center; /* 横中央 */
  align-items:center; 
  writing-mode: inherit;
  flex-direction: row-reverse;
  height:280px;
}
.reason_title p{
  font-size:2rem;
  writing-mode: vertical-rl;
  height:100%;
}
.reason_title p span{
  font-size:2.8rem;
}
.reason_title h2{
  font-size:3.6rem;
  writing-mode: vertical-rl;
  height:100%;
  transform: translateY(-12px);
}
.reason_wrap ul{
  display: block;
  width:100%;
}
.reason_wrap ul li{
  width:100%;
  padding:30px 20px;
  margin-bottom:20px;
}
.reason_wrap ul li h3{
  font-size:1.8rem;
}
.reason_wrap ul li h3 span{
  font-size:2.2rem;
}
.reason_wrap ul li::after{
  width:calc(100% - 5px);
}
.reason_wrap ul li img{
  width:100%;
}
.reason_wrap span.number{
  font-size:10rem;
  right:10px;
}
/* ----------------------------------
greeting
---------------------------------- */
.greeting{
  background: url(../images/index/sp/greeting_bg_sp.png) top center no-repeat;
  background-size: cover;
  padding:38px 20px 0;
  margin-top:50px;
}
.greeting h2{
  font-size:6.6rem;
  position:static;
  text-align: center;
}
.greeting_wrap{
  display: block;
  width:100%;
  padding:0;
}
.greeting_wrap img{
  width:100%;
  margin-top:-80px;
}
.greeting_detail{
  margin:20px 0;
  width:100%;
}
.greeting_detail h3{
  font-size:2.5rem;
  line-height: 1.8;
}
.greeting_detail p{
  font-size:1.4rem;
  line-height: 2;
  font-weight:300;
}
.greeting_wrap a{
  width:79.4%;
  max-width:310px;
  margin:25px auto 0;
}
.wrapper.greeting_menu{
  padding:40px 0;
}
.wrapper.greeting_menu h3{
  font-size:2.2rem;
  margin:0 calc(50% - 50vw);
  width:100vw;
}
.wrapper.greeting_menu ul{
  gap:10px;
  margin:10px auto;
}
.wrapper.greeting_menu ul li{
  width:calc((100% - 10px) / 2);
  font-size:1.2rem;
}
.greeting_bottom{
  position:static;
  margin:0 calc(50% - 50vw);
  width:100vw;
}

.greeting_bottom_txt{
  position:static;
  width:100%;
  padding:30px 0;
  transform: initial;
  left:0;
  height:auto;
}
.greeting_bottom::before{
  display: none;
}


.greeting_bottom_txt p{
  font-size:1.6rem;
  font-weight:300;
}
.greeting_bottom_txt h4{
  font-size:2.2rem;
  font-family: var(--f-f-mincho);
}
.greeting_bottom_image{
  position:relative
}
.greeting_bottom_image::before{
  content:"";
  position:absolute;
  width:100%;
  margin:0 calc(50% - 50vw);
  height:40px;
  background: linear-gradient(
    to bottom,
    rgba(255,255,255,1) 0%,
    rgba(255,255,255,0) 100%
  );
  left:0;
  top:0;
  z-index: 2;
}
/* ----------------------------------
pickup
---------------------------------- */
.pickup_title{
  background: url(../images/index/sp/pickup_head_sp.png) center center no-repeat;
  background-size: cover;
}
.pickup_title h2{
  font-size:6rem;
}
.pickup_title p{
  font-size:2.4rem;
}
.pickup_wrap{
  display: block;
}
.pickup_image,.pickup_detail{
  width:100%;
}
.pickup_image h3{
  font-size:8rem;
}
.pickup_image img{
  width:100%;
}
.pickup_detail{
  padding:10px;
}
.pickup_inner h4{
  font-size:2.8rem;
}
.pickup_inner h5{
  font-size:1.6rem;
  font-weight:200;
}
.pickup_inner p{
  font-size:1.4rem;
  padding:0 1em;
}
.pickup_detail img.picup_image2{
  width:100px;
}
.pickup_detail img.picup_image3{
  width:80px;
}
/* ----------------------------------
news
---------------------------------- */
.news_wrap{
  display: block;
  padding:0 20px;
}
.news_inner{
  width:100%;
}
.news_head h3{
  font-size:2.5rem;
}
.news_head a{
  font-size:1.4rem;
}
.news_head ul li a{
  font-size:1rem;
  text-decoration: none;
}
.news_inner{
  margin-bottom:40px;
}
/* ----------------------------------
footer_info
---------------------------------- */
section.footer_info{
  padding:0;
}
.footer_info_wrap{
  display: block;
}
.footer_info_wrap img{
  width:100%;
}
.footer_info_wrap table{
  font-size:1.4rem;
  margin-top:20px;
}
.footer_info_wrap table tr th{
  width:20%;
}
.footer_info_wrap table tr td{
  font-size:1.3rem;
}
ul.footer_nav{
  justify-content: center;
  flex-wrap: wrap;
  margin:0;
}
ul.footer_nav.wrapper{
  padding:40px 20px 0;
}
ul.footer_nav li{
  width:50%;
  margin-bottom:30px;
}
ul.footer_nav li:nth-child(even)::after{
  content: "";
  position: absolute;
  background-color: #333;
  width: 1px;
  height: 80%;
  right: 0;
  top: 10%;
}
.shop_info_reserve.footer_fix{
  margin:0 calc(50% - 50vw);
  display: flex;
  width:100vw;
  padding:0;
  gap:0;
}
.shop_info_reserve.humb{
  margin-top:60px;
  display: flex;
  padding:0;
  gap:8px;
}
.shop_info_reserve.humb a,
.shop_info_reserve.footer_fix a{
  width:50%;
  box-shadow: none;
  margin:0;
  border:none;
  font-size:1.5rem;
  height:87px;
  padding:0;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  line-height: 1;
}
.shop_info_reserve.humb a img,
.shop_info_reserve.footer_fix a img{
  margin:0 auto;
}
footer{
  padding-bottom:120px;
}
.footer_fix{
  position: fixed;
  bottom: 0;
  left: 0;
  width: 100%;
  transform: translateY(100%);
  transition: transform .4s ease;
  z-index: 999;
}

/* 表示状態 */
.footer_fix.show{
  transform: translateY(0);
}
/* ----------------------------------
ぱんくず
---------------------------------- */
.breadcrumbs{
  display: flex;
  align-items: center;
  padding:8px 20px;
  font-size:1rem;
}
.arrow{
  display: block;
  width:4px;
  height:4px;
  border-right:1px solid #3e3e3e;
  border-bottom:1px solid #3e3e3e;
  margin:1px 10px 0 7px;
  transform: rotate(-45deg);
}

/* ----------------------------------
recruit-page
---------------------------------- */
.recruit_mv{
  margin-top:60px;
}
.recruit_mv h2{
  font-family: var(--f-f-mincho);
  font-size:4rem;
  margin-bottom:1.6rem;
  padding-left:8px;
}
.recruit_mv figure{
  margin:0;
}
.recruit_mv figure img{
  width:100%;
}
.message{
  position:relative;
}
.message_head{
  display: block;
  justify-content: space-between;
}
.message_head img{
  width:100%;
}
p.message_text{
  writing-mode: inherit;
  font-family: var(--f-f-mincho);
  color:var(--main-color);
  font-size:3.6rem;
  text-align: center;
  line-height: 1.5;
  margin-top:1em;
}
.message_detail{
  font-size:1.6rem;
  margin-top:3rem;
  padding:2rem;
}
.message::after{
  content:"";
  position:absolute;
  top:-50%;
  transform: translateY(50%);
  left:-100%;
  width:200%;
  height:100%;
  background: url(../images/recruit/recruit_bg.jpg) bottom center no-repeat;
  background-size: contain;
  z-index: -1;
}
.condition table{
  width:100%;
  margin:60px auto;
  font-size:2rem;
}
.condition table tr th,
.condition table tr td{
  padding:16px;
  box-sizing: border-box;
}
.condition table tr th{
  font-weight:bold;
  width:30%;
}
.condition table tr:nth-child(odd){
  background-color: #e8e8e8;
}
.condition table tr:nth-child(even){
  background-color: #f7f7f7;
}

/* ARCHIVE */
.news.archive_news{
  margin-top:30px;
  width:100%;
  padding:0 5%;
}
.news_head ul{
  width:100%;
}
.news_head ul li{
  padding-left:0;
  font-size:1.2rem;
  margin-bottom:3px;
}
.cp_list{
  margin-top:40px;
}

.cp_link p{
  display: block;
}
.cp_link p img{
  width:50%;
}
.cp_ttl.taxonomy_ttl .archive_thumb{
  width:100%;
  display: block;
}
.cp_ttl.taxonomy_ttl .archive_thumb img{
  width:100%;
}
.taxonomy_date,.taxonomy_title{
  display: block;
}
.taxonomy_date{
  text-align: left;
  width:100%;
  margin:10px 0;
  font-size:1.2rem;
  
}

.cp_link p::after{
  display: none;
}
.post_content{
  width: 100%;
  padding:0 5%;
  box-sizing: border-box;
}
.post_content figure,
.post_content figure img{
  width:100%;
}
/* ----------------------------------
post_content
---------------------------------- */
.post_info{
  padding-right:1rem;
  font-size:1.2rem;
}
.post
/* ----------------------------------
下層ページ共通
---------------------------------- */
.temp_mv{
  background: url(../images/common/temp_mv_sp.png) center center no-repeat;
  background-size: cover;
  padding:104px 30px;
  position:relative;

}
.temp_mv::before,.temp_mv::after{
  content:"";
  position:absolute;
  top:50%;
  left:50%;
  transform: translate(-50%,-50%);
  border:1px solid #fff;
  width:calc(100% - 20px);
  height:calc(100% - 20px);
}
.temp_mv::after{
  width:calc(100% - 30px);
  height:calc(100% - 30px);
}
.temp_mv h2{
  font-size:2rem;
  font-family: var(--f-f-mincho);
  color:#fff;
}
.temp_head{
  padding:20px;
  width:calc(100% - 32px);
  font-size:1.4rem;
  margin:60px auto 40px;
  line-height: 1.8;
}
.temp_head ul{
  list-style: disc;
  margin:1rem 0;
  padding-left:1.5em;
  font-size:1.4rem;
}
.temp_index{
  margin:0 auto 40px;
  width:calc(100% - 32px);
}
.temp_index h3{
  font-family: var(--f-f-mincho);
  font-size:2.4rem;
  border-bottom: 1px solid var(--blue);
  color:var(--blue);
  padding-bottom:5px;
}
.temp_index ol{
  font-size:1.6rem;
  margin-top:30px;
  padding-left:2em;
  line-height: 2.4;
}
.temp_index ol li{
  list-style: decimal;
  text-decoration: underline;
}
.temp_index ol li a{
  color:#333333;
  font-weight:200;
}
.temp_sec.page_detail{
  font-size:1.4rem;
  line-height: 1.8;
  padding:1em;
  margin:60px auto 0;
  width:calc(100% - 32px);
}
.temp_sec{
  padding-top:80px;
  padding-bottom:80px;
}

.temp_sec h2{
  margin:0 auto;
  width:calc(100% - 32px);
  max-width:calc(100% - 32px);
  font-size:2rem;
  height:52px;
  line-height: 52px;
  border-radius: 26px;
}
.temp_wrap{
  width:100%;
  max-width:100%;
  margin:30px auto 0;
  padding:0 16px;
}
.temp_wrap h3{
  font-size:1.8rem;
  padding:7px 0;
  margin-bottom:20px;
}
.temp_wrap p{
  line-height: 2;
  font-size:1.4rem;
  margin-bottom:1rem;
}
a.temp_link{
  font-size:1.4rem;
  display: inline-block;
  width:100%;
  padding:26px 0 26px 1em;;
  margin:15px auto 0;
  position:relative;
}
a.temp_link::after{
  content:"";
  position:absolute;
  border-top:7px solid transparent;
  border-bottom:7px solid transparent;
  right:14px;
  top:50%;
  transform: translateY(-50%);
}
/* flow */
section.flow .temp_wrap h4{
  font-size:1.8rem;
  font-family: var(--f-f-mincho);
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap:14px;
  margin-bottom:16px;
}
section.flow .temp_wrap h4 span{
  display: block;
  width:30px;
  height:30px;
  border-radius:15px;
  line-height: 30px;
}
div.flow_arrow{
  border-left:18px solid transparent;
  border-right:18px solid transparent;
  margin:15px auto;
  width:36px;
}
section.flow.faq_sec h2{
  margin-bottom:50px;
}
.temp_wrap.faq_wrap{
  background-color: #fff;
  padding:30px;
  margin:0 auto 10px;
}
/* ex */

.temp_wrap h5{
  font-size:1.4rem;
  margin-bottom:12px;
}
.temp_wrap h5 a{
  color:rgba(0,0,0,0.5);
}
/* 料金表テーブル */
.temp_wrap table{
  margin-bottom:24px;

}
.temp_wrap table tr th{
  font-size:1.4rem;
}
.temp_wrap table thead tr th{
  font-weight:bold;
}
.temp_wrap table tr th,
.temp_wrap table tr td{
  padding:8px;
}

.temp_wrap table tr th:first-child{
  width:25%;
}

.temp_wrap table tbody tr td{
  font-size:1.2rem;
}
.temp_wrap ul{
  font-size:1.2rem;
  padding-left:1em;
}
/* アクセスページMAP */
.temp_wrap.temp_map{
  display: block;
  
}
.temp_map_inner{
  width:100%;
  aspect-ratio: 16 / 9;
}

.temp_map_detail{
  padding:16px;
}
/* 問い合わせフォーム  */
.mw_wp_form{
  padding:30px 5%;
  background-color: #f1f1f1;
}
.contact{
  margin:60px auto;
  width:100%;
  max-width:880px;
  padding:48px 5%;
  background-color: rgba(109, 187, 255, 0.1);;
}

.temp_wrap .mw_wp_form h3{
  margin-bottom:8px;
  border-top:none;
  font-size:1.6rem;
  display: flex;
  flex-direction: column;
  gap:3px;
  align-items: flex-start;
}
.mw_wp_form h3 span{
  display: inline-block;
  padding:3px 5px;
  background-color: var(--main-color);
  color:#fff;
  font-size:1.2rem;
  background-color: var(--blue);
}
.contact form p{
  font-size:14px;
  margin-bottom:8px;
}
.contact form p span.form_label{
  padding:3px 5px;
  background-color: #808080;
  color:#fff;
}
.contact form p span.red{
  padding:3px 5px;
  margin-left:3px;
  font-size:10px;
  background-color: #29abe2;
  color:#fff;
}
.contact form select{
  box-sizing: border-box;
  appearance: none;
  border:none;
}
.contact form input[name="name"],
.contact form input[name="rubi"],
.contact form input[name="address"],
.contact form input[type="email"],
.contact form textarea,
.contact form select{
  width:100%;
  padding:8px;
  font-size:1.6;
  border:1px solid rgba(0,0,0,0.1);
  background-color: rgb(255, 255, 255);
  border-radius:7px;
}
.contact form input[type="text"]{
  padding:8px;
  border:none;
  background-color: rgb(255, 255, 255);
  border-radius:7px;
}
.contact form input[name="tel"],
.contact form input[name="add_number"]{
  width:20px;
}
.contact form input[type=submit]{
  padding:15px 0;
  width:200px;
  border:none;
  background-color: var(--blue);
  color:#fff;
  border-radius:7px;
}
.mw_wp_form .error{
  margin-top:5px;
}
/* 投稿記事 */
  main.main_single{
    padding:0 10px;
  }
  .post_title{
    margin:40px auto 0;
  }
  .post_title h2{
    font-size:16px;
    margin-top:30px;
    font-weight:bold;
  }
  .post_flex{
    display: block;
  }
  .post_flex_content{
    width:100%;
  }
  .post_sidebar{
    width:84%;
    margin:50px auto;
  }
  .single_content{
    margin-top:40px;
    padding-right:0;
  }
  .single_content img{
    width:100%;
  }
  .single_content p{
    margin-top:30px;
    padding:0 8%;
    font-size:12px;
  }
}