@charset "UTF-8";

img {
    width: 100%;
    height: auto;
    max-width: 1200px;
    display: block;
    margin: 0 auto;
}

#blog img {
	width: auto !important;
	display: inline !important;
}

.blog_banner {
	text-align: center;
	margin: 30px auto;
	max-width: 800px;
}

.cta_col {
    max-width: 980px;
    margin: 0 auto;
    padding: 3% 2%;
    text-align: center;
    box-sizing: border-box;
}

.movie iframe {
	width: 100%;
	height: 100%;
}

@media screen and (min-width:641px) {

.movie {
	width: 960px;
	height: 540px;
	margin: 30px auto;
}

.fv {
    background: url(../img/pc/bg_fv.png) center bottom no-repeat;
    background-size: cover;
    padding: 0 0 4.25%;
}

.fv_b_txt {
    padding: 20px 0 50px;
}

.fv_b_txt img {
    max-width: 628px;
}

.nayami {
    background: url(../img/pc/bg_nayami.png) center top no-repeat;
    background-size: cover;
}

.oneyear {
    background: url(../img/pc/bg_1year.png) center bottom no-repeat;
    background-size: cover;
    margin: 0 0 -10%;
    position: relative;
    z-index: 10;
}

.otetsudai {
    background: url(../img/pc/bg_otetsudai.png) center top no-repeat;
    background-size: cover;
    padding: 10% 0 15%;
}

#achievement {
    background: #ff919d;
    margin: -15% 0 0;
}

.chigai {
    background: #ff919d url(../img/pc/bg_chigai.png) center top 13vw no-repeat;
    background-size: cover;
    margin: 0 0 0;
}

.chigai02 {
    background: #ffffff;
    background-size: cover;
    margin: -5% 0 0;
    padding: 5% 0 0;
}

.biyouseitai {
    padding: 45px 0;
}

#reason {
    background: url(../img/pc/bg_reason.png) center top no-repeat;
    background-size: cover;
    padding: 0 0 6vw;
}

.reason02 {
    background: url(../img/pc/bg_yakusoku.png) center bottom no-repeat;

}

.reason02 h2 {
    background: url(../img/pc/arrow_reasun.png) center top no-repeat;
}

.cta {
    background: #fff9b4;
}

.cta h2 {
    background: url(../img/pc/bg_cta.png) center center repeat-x;
}

.btn_01 {
    max-width: 1169px;
    margin: 24px auto 0;
    padding: 0 24px 64px;
}

#flow,
#faq {
    background: #fffbf0;
}

#flow h2 {
    background: #ffacb7;
}

#staff {
    background: rgb(255, 251, 240);
    background: linear-gradient(180deg, rgba(255, 251, 240, 1) 0%, rgba(255, 133, 156, 1) 11%, rgba(255, 206, 159, 1) 100%);
}

#staff figure img,
#staff h3 img,
#staff p img {
    background: #fff;
}

#staff h2 img {
    background: rgb(255, 251, 240);
    background: linear-gradient(180deg, rgba(255, 255, 255, 0) 70%, rgba(255, 255, 255, 1) 71%);
}

.map {
    max-width: 1200px;
    background: #fff;
    margin: auto;
}

.map .inner {
    height: 0;
    overflow: hidden;
    padding-bottom: 56.25%;
    position: relative;
    max-width: 926px;
    margin: 0 auto;
}

.map .inner iframe {
    position: absolute;
    left: 0;
    top: 0;
    height: 100%;
    width: 100%;
}

.rsv {
    padding: 64px 0;
    text-align: center;
    background: rgba(255, 206, 159, 1);
}

.rsv img {
    max-width: 900px !important;
}

.btns {
    background: rgba(255, 206, 159, 1);
    padding: 64px;

}

.btns::after {
    content: "";
    display: block;
    clear: both;
}

.btns ul {
    max-width: 900px;
    margin: 0 auto;
}

.btns li {
    width: calc(50% - 5%);
    max-width: 526px;
}

.btns li:nth-of-type(1) {
    float: left;
}

.btns li:nth-of-type(2),
.btns li:nth-of-type(3) {
    float: right;
}

.btns li:nth-of-type(2) {
    margin: 0 0 1em;
}

.pc_none {
    display: none;
}

#blog {
	max-width: 1200px;
	margin: 0 auto 60px;
	padding: 60px 0 0;
}

#blog a {
	color: #eb1e55;
}

#blog h2 {
	font-size: 32px;
	text-align: center;
	margin: 60px 0 30px;
}

#blog .entry section {
	padding: 30px 10px;
	border-top: #cccccc dashed 1px;
}

#blog .entry section:last-child {
	border-bottom: #cccccc dashed 1px;
}

#blog .entry h3 {
	font-size: 24px;
	margin: 0 0 15px;
}

#blog .entry .meta {
	font-size: 14px;
	margin: 0 0 30px;
}

#page_nav {
	margin: 30px 0 30px;
	text-align: center;
}

#topic_path {
	max-width: 1200px;
	margin: 0 auto 15px;
}

}

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

.blog_banner {
	padding: 0 2%;
}

iframe {
	max-width: 100%;
	max-height: 240px;
}

.movie {
	width: auto;
	height: 240px;
	padding: 0 15px;
}

    .fb {
        position: fixed;
        bottom: 0;
        right: 0;
        left: 0;
        width: 100%;
        margin: 0 auto;
    }
    .fb::after {
        content: "";
        display: block;
        clear: both;
    }
    .fb li {

    }
.sp_none {
    display: none;
}

.pc_none {
    display: block;
}

.map {
    background: rgb(255,183,159);
background: linear-gradient(180deg, rgba(255,183,159,1) 0%, rgba(255,188,158,1) 100%);

margin: 0 auto;
}

.biyouseitai {
    padding: 15px 0;
}

.map .inner {
    height: 0;
    overflow: hidden;
    padding-bottom: 56.25%;
    position: relative;
    max-width: 89.5%;
    margin: 0 auto;
}

.map .inner iframe {
    position: absolute;
    left: 0;
    top: 0;
    height: 100%;
    width: 100%;
}

.rsv {
    padding: 24px 5% 24px;
    text-align: center;
    background: #ffc09f;
}

.btns {
    padding: 24px 5%;
    background: #ffc09f;
}

.btns li {
    margin: 0 0 1em;
}

.btn_01 {
    background: #fff9b4;
    padding: 24px 5%;
}

#blog {
	margin: 0 0 30px;
	padding: 60px 2% 0;
}

#blog a {
	color: #eb1e55;
}

#blog h2 {
	font-size: 22px;
	text-align: center;
	margin: 30px 0 30px;
}

#blog .entry section {
	padding: 15px 0;
	border-top: #cccccc dashed 1px;
}

#blog .entry section:last-child {
	border-bottom: #cccccc dashed 1px;
}

#blog .entry h3 {
	font-size: 18px;
	margin: 0 0 10px;
}

#blog .entry .meta {
	font-size: 14px;
	margin: 0 0 15px;
}

#page_nav {
	margin: 15px 0;
	text-align: center;
}

#topic_path {
	font-size: 14px;
	margin: 0 auto 10px;
}

}

@media screen and (min-width:1001px) {
    
header {
    width: 100%;
    height: auto;
    max-width: 1200px;
    display: block;
    margin: 0 auto;
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    margin: auto;
    z-index: 9999;
}

header figure {
    max-width: 283px;
    padding: 1em 0 0;
}

header nav {
    display: block;
    background: #fff;
    border-radius: 0 0 16px 16px;
    position: absolute;
    right: 0;
    top: 0;
    padding: 14px;
    z-index: 9999;
}

header nav li {
    display: inline-block;
    height: 44px;
    line-height: 44px;
    border-left: 1px solid #b6b6b6;
    padding: 0 1em;
}

header nav li:nth-of-type(1) {
    border: none;
}

.openbtn1 {
    display: none;
}

}

@media screen and (max-width:1000px) {
    header {
        position: absolute;
        top: 0;
        right: 0;
        left: 0;
        margin: auto;
    }

    header figure {
        max-width: 283px;
        width: 70%;
        padding: 16px 0 0 5%;
    }

    
header nav {
    display: block;
    background: #fff;
    border-radius: 16px 0 0 16px;
    position: fixed;
    right: 0;
    top: 70px;
    padding: 14px;
    transform: translateX(100%);
    transition: .3s;
    z-index: 9999;
}

header nav.active {
    transform: translateX(0%);
}

header nav li {
    display: block;
    height: 44px;
    line-height: 44px;
    border-top: 1px solid #b6b6b6;
    padding: 0 1em;
}

header nav li:nth-of-type(1) {
    border: none;
}

    /*ボタン外側※レイアウトによってpositionや形状は適宜変更してください*/
.openbtn1{
    display: block;
    position: fixed;/*ボタン内側の基点となるためrelativeを指定*/
    background:#fff;
    cursor: pointer;
      width: 50px;
      height:50px;
    border-radius: 50%;
    top: 10px;
    right: 5%;
    z-index: 9999;
  }
  
  /*ボタン内側*/
  .openbtn1 span{
      display: inline-block;
      transition: all .4s;/*アニメーションの設定*/
      position: absolute;
      left: 14px;
      height: 3px;
      border-radius: 2px;
    background: #000;
      width: 45%;
    }
  
  .openbtn1 span:nth-of-type(1) {
    top:15px; 
  }
  
  .openbtn1 span:nth-of-type(2) {
    top:23px;
  }
  
  .openbtn1 span:nth-of-type(3) {
    top:31px;
  }
  
  /*activeクラスが付与されると線が回転して×に*/
  
  .openbtn1.active span:nth-of-type(1) {
      top: 18px;
      left: 18px;
      transform: translateY(6px) rotate(-45deg);
      width: 30%;
  }
  
  .openbtn1.active span:nth-of-type(2) {
    opacity: 0;/*真ん中の線は透過*/
  }
  
  .openbtn1.active span:nth-of-type(3){
      top: 30px;
      left: 18px;
      transform: translateY(-6px) rotate(45deg);
      width: 30%;
  }
    
}
/*230511
=====================================*/
.btn_cta {
    display: flex;
    flex-wrap: wrap;
    max-width: 1200px;
    padding: 3% 3% 3%;
    margin: 0 auto;
}

.btn_cta li {
    display: flex;
    flex-direction: column;
    width: calc((100% - 3%)/2);
    margin: 0 3% 0 0;
}

.btn_cta li:nth-of-type(2n) {
    margin: 0;
}

.btn_cta li img {
    width: 100%;
    height: auto;
}

/*
@media screen and (max-width:640px) {
  dl {
    display: flex;
    flex-wrap: wrap;
  }
  dt,
  dd {
    display: flex;
    flex-direction: column;
  }
}
*/