@charset "UTF-8";

/*scss Document */
html, body {
  width: 100%; }
html {
    scroll-behavior: smooth;
}
body {
  position: relative;
  color: #505050;
  background: url(../images/back.jpg) center no-repeat;
  background-size: cover;
  font-size: 16px;
  margin: 0 auto;
  font-feature-settings: "palt";
  font-family: 'Kiwi Maru', serif;
  font-weight: 400;
  -webkit-text-size-adjust: 100%;
  -moz-text-size-adjust: 100%;
  -ms-text-size-adjust: 100%;
  -o-text-size-adjust: 100%;
  text-size-adjust: 100%;
  -webkit-font-smoothing: antialiased; 
}

.mb0 {
  margin-bottom: 0 !important; }

@media (min-width: 1001px) {
  .mb5 {
    margin-bottom: 5px !important; } }
@media (max-width: 1000px) {
  .mb5 {
    margin-bottom: 0.6vw !important; } }

@media (min-width: 1001px) {
  .mb10 {
    margin-bottom: 10px !important; } }
@media (max-width: 1000px) {
  .mb10 {
    margin-bottom: 1.3vw !important; } }

@media (min-width: 1001px) {
  .mb15 {
    margin-bottom: 15px !important; } }
@media (max-width: 1000px) {
  .mb15 {
    margin-bottom: 2vw !important; } }

@media (min-width: 1001px) {
  .mb20 {
    margin-bottom: 20px !important; } }
@media (max-width: 1000px) {
  .mb20 {
    margin-bottom: 2.6vw !important; } }

@media (min-width: 1001px) {
  .mb25 {
    margin-bottom: 25px !important; } }
@media (max-width: 1000px) {
  .mb25 {
    margin-bottom: 3.3vw !important; } }

@media (min-width: 1001px) {
  .mb30 {
    margin-bottom: 30px !important; } }
@media (max-width: 1000px) {
  .mb30 {
    margin-bottom: 3.3vw !important; } }

@media (min-width: 1001px) {
  .mb40 {
    margin-bottom: 40px !important; } }
@media (max-width: 1000px) {
  .mb40 {
    margin-bottom: 5.3vw !important; } }

@media (min-width: 1001px) {
  .mb50 {
    margin-bottom: 50px !important; } }
@media (max-width: 1000px) {
  .mb50 {
    margin-bottom: 6.6vw !important; } }

@media (min-width: 1001px) {
  .mb60 {
    margin-bottom: 60px !important; } }
@media (max-width: 1000px) {
  .mb60 {
    margin-bottom: 8vw !important; } }

@media (min-width: 1001px) {
  .mb70 {
    margin-bottom: 70px !important; } }
@media (max-width: 1000px) {
  .mb70 {
    margin-bottom: 9.3vw !important; } }

@media (min-width: 1001px) {
  .mb80 {
    margin-bottom: 80px !important; } }
@media (max-width: 1000px) {
  .mb80 {
    margin-bottom: 10.6vw !important; } }

@media (min-width: 1001px) {
  .mb90 {
    margin-bottom: 90px !important; } }
@media (max-width: 1000px) {
  .mb90 {
    margin-bottom: 12vw !important; } }

@media (min-width: 1001px) {
  .mb100 {
    margin-bottom: 100px !important; } }
@media (max-width: 1000px) {
  .mb100 {
    margin-bottom: 13.3vw !important; } }

@media (min-width: 1001px) {
  .mb110 {
    margin-bottom: 110px !important; } }
@media (max-width: 1000px) {
  .mb110 {
    margin-bottom: 14.6vw !important; } }

@media (min-width: 1001px) {
  .mb120 {
    margin-bottom: 120px !important; } }
@media (max-width: 1000px) {
  .mb120 {
    margin-bottom: 16vw !important; } }

@media (min-width: 1001px) {
  .mb130 {
    margin-bottom: 130px !important; } }
@media (max-width: 1000px) {
  .mb130 {
    margin-bottom: 17.3vw !important; } }

@media (min-width: 1001px) {
  .mb140 {
    margin-bottom: 140px !important; } }
@media (max-width: 1000px) {
  .mb140 {
    margin-bottom: 18.6vw !important; } }

@media (min-width: 1001px) {
  .mb150 {
    margin-bottom: 150px !important; } }
@media (max-width: 1000px) {
  .mb150 {
    margin-bottom: 20vw !important; } }

.pb0 {
  padding-bottom: 0 !important; }

@media (min-width: 1001px) {
  .pb10 {
    padding-bottom: 10px !important; } }
@media (max-width: 1000px) {
  .pb10 {
    padding-bottom: 1.3vw !important; } }

@media (min-width: 1001px) {
  .p15 {
    padding: 0 15px !important; } }
@media (max-width: 1000px) {
  .p15 {
    padding: 0 2vw !important; } }

@media (min-width: 1001px) {
  .pt10 {
    padding-top: 10px !important; } }
@media (max-width: 1000px) {
  .pt10 {
    padding-top: 1.3vw !important; } }

@media (min-width: 1001px) {
  .pt15 {
    padding-top: 15px !important; } }
@media (max-width: 1000px) {
  .pt15 {
    padding-top: 2vw !important; } }

@media (min-width: 1001px) {
  .pt20 {
    padding-top: 20px !important; } }
@media (max-width: 1000px) {
  .pt20 {
    padding-top: 2.6vw !important; } }

@media (min-width: 1001px) {
  .pt30 {
    padding-top: 30px !important; } }
@media (max-width: 1000px) {
  .pt30 {
    padding-top: 3.3vw !important; } }

@media (min-width: 1001px) {
  .pt40 {
    padding-top: 40px !important; } }
@media (max-width: 1000px) {
  .pt40 {
    padding-top: 5.3vw !important; } }

@media (min-width: 1001px) {
  .ls-1 {
    letter-spacing: -1px; } }

@media (min-width: 1001px) {
  .ls-2 {
    letter-spacing: -2px; } }

@media (min-width: 1001px) {
  .ls-3 {
    letter-spacing: -3px; } }

@media (min-width: 1001px) {
  .ls-4 {
    letter-spacing: -4px; } }

@media (min-width: 1001px) {
  .fs10 {
    font-size: 10px; } }

@media (min-width: 1001px) {
  .fs14 {
    font-size: 14px; } }

@media (min-width: 1001px) {
  .fs15 {
    font-size: 15px; } }

@media (min-width: 1001px) {
  .fs16 {
    font-size: 16px; } }

@media (min-width: 1001px) {
  .fs24 {
    font-size: 24px; } }

@media (min-width: 1001px) {
  .fs26 {
    font-size: 26px; } }

.mb05em {
  margin-bottom: 0.5em !important; }

.mb1em {
  margin-bottom: 1em !important; }

.mb2em {
  margin-bottom: 2em !important; }

.mb3em {
  margin-bottom: 3em !important; }

.mb4em {
  margin-bottom: 4em !important; }

.pb05em {
  padding-bottom: 0.5em !important; }

.mr0 {
  margin-right: 0 !important; }

li {
  list-style: none; }

p {
  -ms-text-justify: auto;
  text-justify: auto;
  text-justify: inter-ideograph; }

h1, h2, h3, h4, h5, h6/*, strong*/ {
  font-weight: normal; }

img {
  vertical-align: bottom;
  max-width: 100%; }

.noborder {
  border: none !important; }

.nomargin {
  margin: 0 0 !important; }

.ta_r {
  text-align: right; }

.ta_c {
  text-align: center;
  font-size: 1.3rem;
 }

.ta_l {
  text-align: left; }

.cf:before, .cf:after {
  content: "";
  display: table; }

.cf:after {
  clear: both; }

.cf {
  zoom: 1; }

.enfont ,
.enfont * {
  font-family: 'Open Sans', sans-serif !important;
  }
.enmin ,
.enmin * {
  font-family: 'Noto Serif JP', serif !important;
    font-feature-settings: inherit;
  }

a {
  color: #595757;
  text-decoration: none; }

  span.kai {
    display: inline-block;
  }


/* pagetop
  ---------------------------------------------------------------------- */
  #trip_ai_container {
    z-index: 10!important;
    }

/* ---------------------------------------------------------------------- */
@media (min-width: 1001px) {
  a {
    -webkit-transition: 0.3s ease-in-out;
    -moz-transition: 0.3s ease-in-out;
    -o-transition: 0.3s ease-in-out;
    transition: 0.3s ease-in-out; }

  img {
    -webkit-transition: 0.3s ease-in-out;
    -moz-transition: 0.3s ease-in-out;
    -o-transition: 0.3s ease-in-out;
    transition: 0.3s ease-in-out; }

  a:active {
    opacity: 0.5; }

  .img_hidden {
    opacity: 0;
    transition: 1s; }

  .img_open {
    -moz-animation: imgfade 1s linear 0s 1 normal forwards;
    -webkit-animation: imgfade 1s linear 0s 1 normal forwards;
    -o-animation: imgfade 1s linear 0s 1 normal forwards;
    -ms-animation: imgfade 1s linear 0s 1 normal forwards; }

  .img_open.ih2 {
    -moz-animation: imgfade 1s linear 0.3s 1 normal forwards;
    -webkit-animation: imgfade 1s linear 0.3s 1 normal forwards;
    -o-animation: imgfade 1s linear 0.3s 1 normal forwards;
    -ms-animation: imgfade 1s linear 0.3s 1 normal forwards; }

  .img_open.ih3 {
    -moz-animation: imgfade 1s linear 0.6s 1 normal forwards;
    -webkit-animation: imgfade 1s linear 0.6s 1 normal forwards;
    -o-animation: imgfade 1s linear 0.6s 1 normal forwards;
    -ms-animation: imgfade 1s linear 0.6s 1 normal forwards; }

  .img_open.ih4 {
    -moz-animation: imgfade 1s linear 0.9s 1 normal forwards;
    -webkit-animation: imgfade 1s linear 0.9s 1 normal forwards;
    -o-animation: imgfade 1s linear 0.9s 1 normal forwards;
    -ms-animation: imgfade 1s linear 0.9s 1 normal forwards; }

  .img_open.ih5 {
    -moz-animation: imgfade 1s linear 1.2s 1 normal forwards;
    -webkit-animation: imgfade 1s linear 1.2s 1 normal forwards;
    -o-animation: imgfade 1s linear 1.2s 1 normal forwards;
    -ms-animation: imgfade 1s linear 1.2s 1 normal forwards; }

  .showup {
    opacity: 0;
    transition: 1s;
    transform: translateY(20px);
    -webkit-transform: translateY(20px);
    -moz-transform: translateY(20px);
    -ms-transform: translateY(20px);
    -o-transform: translateY(20px); }

  .upview {
    -moz-animation: showup 0.6s linear 0s 1 normal forwards;
    -webkit-animation: showup 0.6s linear 0s 1 normal forwards;
    -o-animation: showup 0.6s linear 0s 1 normal forwards;
    -ms-animation: showup 0.6s linear 0s 1 normal forwards; }

  .upview.uv2 {
    -moz-animation: showup 0.6s linear 0.3s 1 normal forwards;
    -webkit-animation: showup 0.6s linear 0.3s 1 normal forwards;
    -o-animation: showup 0.6s linear 0.3s 1 normal forwards;
    -ms-animation: showup 0.6s linear 0.3s 1 normal forwards; }

  .upview.uv3 {
    -moz-animation: showup 0.6s linear 0.6s 1 normal forwards;
    -webkit-animation: showup 0.6s linear 0.6s 1 normal forwards;
    -o-animation: showup 0.6s linear 0.6s 1 normal forwards;
    -ms-animation: showup 0.6s linear 0.6s 1 normal forwards; }

  .upview.uv4 {
    -moz-animation: showup 0.6s linear 0.9s 1 normal forwards;
    -webkit-animation: showup 0.6s linear 0.9s 1 normal forwards;
    -o-animation: showup 0.6s linear 0.9s 1 normal forwards;
    -ms-animation: showup 0.6s linear 0.9s 1 normal forwards; }

  .upview.uv5 {
    -moz-animation: showup 0.6s linear 1.2s 1 normal forwards;
    -webkit-animation: showup 0.6s linear 1.2s 1 normal forwards;
    -o-animation: showup 0.6s linear 1.2s 1 normal forwards;
    -ms-animation: showup 0.6s linear 1.2s 1 normal forwards; }

  .showdown {
    opacity: 0;
    transition: 1s;
    transform: translateY(-20px);
    -webkit-transform: translateY(-20px);
    -moz-transform: translateY(-20px);
    -ms-transform: translateY(-20px);
    -o-transform: translateY(-20px); }

  .downview {
    -moz-animation: showdown 0.6s linear 0s 1 normal forwards;
    -webkit-animation: showdown 0.6s linear 0s 1 normal forwards;
    -o-animation: showdown 0.6s linear 0s 1 normal forwards;
    -ms-animation: showdown 0.6s linear 0s 1 normal forwards; }

  .downview.dv2 {
    -moz-animation: showdown 0.6s linear 0.3s 1 normal forwards;
    -webkit-animation: showdown 0.6s linear 0.3s 1 normal forwards;
    -o-animation: showdown 0.6s linear 0.3s 1 normal forwards;
    -ms-animation: showdown 0.6s linear 0.3s 1 normal forwards; }

  .downview.dv3 {
    -moz-animation: showdown 0.6s linear 0.6s 1 normal forwards;
    -webkit-animation: showdown 0.6s linear 0.6s 1 normal forwards;
    -o-animation: showdown 0.6s linear 0.6s 1 normal forwards;
    -ms-animation: showdown 0.6s linear 0.6s 1 normal forwards; }

  .downview.dv4 {
    -moz-animation: showdown 0.6s linear 0.9s 1 normal forwards;
    -webkit-animation: showdown 0.6s linear 0.9s 1 normal forwards;
    -o-animation: showdown 0.6s linear 0.9s 1 normal forwards;
    -ms-animation: showdown 0.6s linear 0.9s 1 normal forwards; }

  .showleft {
    opacity: 0;
    transition: 1s;
    transform: translateX(-20px);
    -webkit-transform: translateX(-20px);
    -moz-transform: translateX(-20px);
    -ms-transform: translateX(-20px);
    -o-transform: translateX(-20px); }

  .leftview {
    -moz-animation: showleft 1s linear 0s 1 normal forwards;
    -webkit-animation: showleft 1s linear 0s 1 normal forwards;
    -o-animation: showleft 1s linear 0s 1 normal forwards;
    -ms-animation: showleft 1s linear 0s 1 normal forwards; }

  .showright {
    opacity: 0;
    transition: 1s;
    transform: translateX(20px);
    -webkit-transform: translateX(20px);
    -moz-transform: translateX(20px);
    -ms-transform: translateX(20px);
    -o-transform: translateX(20px); }

  .rightview {
    -moz-animation: showright 1s linear 0s 1 normal forwards;
    -webkit-animation: showright 1s linear 0s 1 normal forwards;
    -o-animation: showright 1s linear 0s 1 normal forwards;
    -ms-animation: showright 1s linear 0s 1 normal forwards; }

  .for_sp {
    display: none !important; }

  .for_tab {
    display: none !important; }

  .for_nw {
    display: none !important; }

  .tab .for_pcnotab {
    display: none !important; }

  .tab .for_tab {
    display: inline !important; }

  body {
    font-size: 16px;
    line-height: 24px; }

  .wrap,
  #page {
    width: 100%;
    overflow: hidden;
    position: relative; }








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

共通スタイル

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

.inner {
  max-width: 1200px;
  margin: 0 auto;
  width: calc(100% - 48px);
  box-sizing: border-box;
}

.flex {
      display: flex;
      flex-wrap: wrap;
  }

  .clearfix::after {
    content: "";
    display: block;
    clear: both;
  }
  
  
.p18 {
  font-size: 18px;
  line-height: 1.61;
}

.h40 {
  font-size: 40px;
  font-weight: 500;
  line-height: 1.75;
}

.sp {
  display: none;
}

.bg_triangle {
  background: url(../images/bg_triangle.svg) repeat;
  background-size: 16px;
}

/*リンクボタン（詳しく見る）*/
.link-btn a {
  font-size: 18px;
  font-weight: 500;
  display: inline-block;
  padding: 14px 66px 14px 0;
  background: url(../images/right-icon.svg) no-repeat center right;
  background-size: 50px;
}

.link-btn a:hover {
  background: url(../images/right-icon-h.svg) no-repeat center right;
  background-size: 50px;
}

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

下層ページ

--------------------------------------------------------------------------------------------------------------------*/
/*ページタイトル*/
#page-ti {
  padding: 80px;
  max-width: 100%;
  border: 12px solid rgba(255,255,255,.8);
  border-radius: 60px;
  position: relative;
  text-align: center;
  margin: 115px auto 97px auto;
}

#page-ti .h40 {
  padding-bottom: 20px;
  margin-bottom: 20px;
}

#page-ti .en {
  font-size: 18px;
  font-weight: 500;
}

/*ページ内見出し*/
.h25p {
  font-size: 25px;
  line-height: 1.75;
  color: #e6667a;
}

.h30 {
  font-size: 30px;
  line-height: 1.53;
}

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

ヘッダー

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

#header {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
    height: 90px;
    width: 100%;
    z-index: 1;
    transition: 0.3s;
}

/*追従*/
#header.scroll {
	position: fixed;
    top: 0;
    z-index: 500;
    height: 90px;
    width: 100%;
    background: #fff;
}

#header .inner {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
    height: 90px;
    max-width: 100%;
}

/*--------------------------------------------------------------------------------左_ロゴ*/
#header a.left {
	max-width: 163px;
}

#header a.left h1 img {
	width: 100%;
  display: none;
}

/*下層ページは表示*/
.page #header a.left h1 img {
  display: block;
}

/*追従*/
#header.scroll a.left h1 img  {
  display: block;
}

/*--------------------------------------------------------------------------------右_ナビゲーション*/
#header nav.right ul li {
    display: flex;
}

#header nav.right ul li a {
    font-size: 18px;
    font-weight: 500;
	margin: 0 28px;
    display: flex;
    align-items: center;
}

/*-------------------お問い合わせ*/
#header nav.right ul li.head-btn {
    position: relative;
    text-align: center;
}

#header nav.right ul li.head-btn a {
  color: #e6667a;
  border-bottom: 3px solid #e6667a;
  border-radius: 50px;
  padding-right: 37px;
  background: url(../images/head-btn-icon.svg) no-repeat top 23px right 25px;
  background-size: 25px;
  background-color: #fff;
  width: 190px;
  height: 60px;
  justify-content: center;
  margin: 0 0 0 12px;
}

#header nav.right ul li.head-btn a:hover {
  background: url(../images/head-btn-icon-h.svg) no-repeat top 23px right 25px;
  background-size: 25px;
    color: #fff;
    background-color: #eb8595;
}

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

SP表示

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

#hamburger,
#header p.head-btn {
	display: none;
}

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

フッター

--------------------------------------------------------------------------------------------------------------------*/
/*-------------------バナー*/
#bana {
  background: url(../images/bana-bg.png) no-repeat top center;
  background-size: cover;
  padding: 72px 0;
  position: relative;
  overflow: hidden;
}

#bana .flex {
  justify-content: center;
  column-gap: 30px;
  /* column-gap: 54px; */
  row-gap: 25px;
}

#bana .flex a {
  display: block;
  width: calc(100% / 4 - 30px);
  transition: .3s;
}

/* #bana .flex a {
  display: block;
  width: calc(100% / 3 - 54px);
  transition: .3s;
} */

#bana .flex a:hover {
  opacity: .7;
}

#bana .flex a img {
  width: 100%;
  height: auto;
}

#bana .flex a img#zen-yu_logo {
  width: 100%;
  height: auto;
}

/*背景画像*/
#bana .ab {
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  margin: auto;
  width: 100%;
  height: auto;
}

/*-------------------footer*/
#footer {
  padding: 66px 0 20px 0;
  position: relative;
}

#footer .flex {
  justify-content: space-between;
  row-gap: 27px;
  margin-bottom: 17px;
}

#footer .flex .box {
  width: calc(100% / 3 - 54px);
}

/*box1*/
#footer .flex .box1 {
  min-width: 296px;
}

#footer .flex .box1 h2 {
  margin-bottom: 25px;
  max-width: 250px;
}

#footer .flex .box1 h2 img {
  width: 100%;
  height: auto;
}

#footer .flex .box1 p {
  font-size: 16px;
  font-weight: 500;
  line-height: 1.75;
}

#footer .flex .box1 p .pink {
  font-size: 18px;
  font-weight: 500;
  line-height: 1.45;
  color: #e6667a;
  display: inline-block;
}

/*box2*/
#footer .flex .box2 {
  max-width: 200px;
}

#footer .flex .box2 li a {
  display: block;
  font-size: 18px;
  font-weight: 500;
  margin: 12.5px 0;
}
#footer .flex .box2 li:nth-child(6) a {
  display: block;
  width: 33px;
  height: 33px;
  margin: 0;
}

/*box3*/
#footer .flex .box3 {
  position: relative;
  text-align: center;
  max-width: 285px;
}

#footer .flex .box3 a:nth-child(2) {
  display: none;
}

#footer .flex .box3 a {
  display: block;
  font-size: 18px;
  font-weight: 500;
  color: #fff;
  border-radius: 50px;
  background-color: #e6667a;
  height: 90px;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
}

#footer .flex .box3 a:hover {
  background-color: #f0a3af;
}

#footer .flex .box3 a img {
  margin-left: 10px;
  display: inline-block;
  height: auto;
  width: 25px;
}


/*cp*/
#footer .cp {
  font-size: 14px;
  font-weight: 500;
  line-height: 1.6;
  text-align: right;
}

/*--------------------------------------------------------------------------------トップに戻る*/
#page-top {
	position: absolute;
	top: -104px;
	right: 18.5px;
	height: 65px;
	width: 65px;
    background: url(../images/top-icon.svg) no-repeat;
	border: none;
    outline: none;
    cursor: pointer;
    transition: .3s;
}

#page-top:hover {
    background: url(../images/top-icon-h.svg) no-repeat;
}


}






























/* ---------------------------------------------------------------------- */
@media (max-width: 1000px) {


  a.anchor {
    display: block;
    padding-top: 120px;
    margin-top: -120px;
}
@media (max-width: 1420px) {
  a.anchor {
    display: block;
    padding-top: 102px;
    margin-top: -102px;
}
}
@media (max-width: 630px) {
  a.anchor {
    display: block;
    padding-top: 68.31px;
    margin-top: -68.31px;
}
}


@media (max-width: 750px) {
  body {
    font-size: calc(100vw / 24);
    line-height: 1.5; }
    }
@media screen and (max-width:320px){
	body{font-size: 16px;}
}
  .mb20 {
    margin-bottom: 2.6vw !important; }

  .mb25 {
    margin-bottom: 3.3vw !important; }

  .mb30 {
    margin-bottom: 4vw !important; }

  .mb40 {
    margin-bottom: 5.3vw !important; }

  .mb50 {
    margin-bottom: 6.6vw !important; }

  .mb60 {
    margin-bottom: 8vw !important; }

  .mb70 {
    margin-bottom: 9.3vw !important; }

  .mb80 {
    margin-bottom: 10.6vw !important; }

  .mb90 {
    margin-bottom: 12vw; }

  .mb100 {
    margin-bottom: 13.3vw !important; }

  .mb120 {
    margin-bottom: 16vw !important; }

  .pt50 {
    padding-top: 6.6vw !important; }

  .ls-1 {
    letter-spacing: -1px; }

  .ls-2 {
    letter-spacing: -2px; }

  .ls-3 {
    letter-spacing: -3px; }

  .ls-4 {
    letter-spacing: -4px; }

  .fs10 {
    font-size: 3vw; }

  .fs14, .fs15 {
    font-size: 3.4vw; }

  .fs16 {
    font-size: 3.7vw; }

  .fs24 {
    font-size: 4vw; }

  .fs26 {
    font-size: 5vw; }

  .wrap,
  #page {
    width: 100%;
    overflow: hidden;
    position: relative; }

  .for_pc {
    display: none !important; }

  .for_tab {
    display: none; }

  .for_pcnotab {
    display: none !important; }

  .for_nw {
    display: none !important; }

  .cf_s:before, .cf_s:after {
    content: "";
    display: table; }

  .cf_s:after {
    clear: both; }

  .cf_s {
    zoom: 1; }

  .showup {
    opacity: 0;
    transition: 1s;
    transform: translateY(4vw);
    -webkit-transform: translateY(4vw);
    -moz-transform: translateY(4vw);
    -ms-transform: translateY(4vw);
    -o-transform: translateY(4vw); }

  .upview {
    -moz-animation: showup 1s linear 0s 1 normal forwards;
    -webkit-animation: showup 1s linear 0s 1 normal forwards;
    -o-animation: showup 1s linear 0s 1 normal forwards;
    -ms-animation: showup 1s linear 0s 1 normal forwards; }

  .showdown {
    opacity: 0; 
    transition: 1s;
    transform: translateY(-4vw);
    -webkit-transform: translateY(-4vw);
    -moz-transform: translateY(-4vw);
    -ms-transform: translateY(-4vw);
    -o-transform: translateY(-4vw); }

  .downview {
    -moz-animation: showup 1s linear 0s 1 normal forwards;
    -webkit-animation: showup 1s linear 0s 1 normal forwards;
    -o-animation: showup 1s linear 0s 1 normal forwards;
    -ms-animation: showup 1s linear 0s 1 normal forwards; }

  .showleft {
    opacity: 0;
    transition: 1s;
    transform: translateX(-4vw);
    -webkit-transform: translateX(-4vw);
    -moz-transform: translateX(-4vw);
    -ms-transform: translateX(-4vw);
    -o-transform: translateX(-4vw); }

  .leftview {
    -moz-animation: showleft 1s linear 0s 1 normal forwards;
    -webkit-animation: showleft 1s linear 0s 1 normal forwards;
    -o-animation: showleft 1s linear 0s 1 normal forwards;
    -ms-animation: showleft 1s linear 0s 1 normal forwards; }

  .showright {
    opacity: 0;
    transition: 1s;
    transform: translateX(4vw);
    -webkit-transform: translateX(4vw);
    -moz-transform: translateX(4vw);
    -ms-transform: translateX(4vw);
    -o-transform: translateX(4vw); }

  .rightview {
    -moz-animation: showright 1s linear 0s 1 normal forwards;
    -webkit-animation: showright 1s linear 0s 1 normal forwards;
    -o-animation: showright 1s linear 0s 1 normal forwards;
    -ms-animation: showright 1s linear 0s 1 normal forwards; }

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

共通スタイル

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

.inner {
  max-width: 1200px;
  margin: 0 auto;
  width: calc(100% - 34px);
  box-sizing: border-box;
}

.flex {
      display: flex;
      flex-wrap: wrap;
  }

  .clearfix::after {
    content: "";
    display: block;
    clear: both;
  }  
  
.p18 {
  font-size: 15px;
  line-height: 1.6;
}

/*セクション見出し*/
.h40 {
  font-size: 28px;
  font-weight: 500;
  line-height: 1.75;
}

.pc {
  display: none;
}

span.kai {
  display: inline-block;
}

.bg_triangle {
  background: url(../images/bg_triangle.svg) repeat;
  background-size: 3.5vw;
}

/*リンクボタン（詳しく見る）*/
.link-btn a {
  font-size: 15px;
  font-weight: 500;
  display: inline-block;
  padding: 14px 80px 14px 0;
  background: url(../images/right-icon.svg) no-repeat center right 14px;
  background-size: 42.5px;
}

.link-btn a:hover {
  background: url(../images/right-icon-h.svg) no-repeat center right 14px;
  background-size: 42.5px;
}

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

下層ページ

--------------------------------------------------------------------------------------------------------------------*/
/*ページタイトル*/
#page-ti {
  padding: 37px;
  max-width: 100%;
  border: 5px solid rgba(255,255,255,.8);
  border-radius: 20px;
  position: relative;
  text-align: center;
  margin: 72px auto 33px auto;
}

#page-ti .h40 {
  font-size: 20px;
  padding-bottom: 15px;
  margin-bottom: 15px;
}

#page-ti .en {
  font-size: 9.3px;
  font-weight: 500;
}

/*ページ内見出し*/
.h25p {
  font-size: 20px;
  line-height: 1.75;
  color: #e6667a;
}

.h30 {
  font-size: 20px;
  line-height: 1.75;
}

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

ヘッダー

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

#header {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
    height: 90px;
    width: 100%;
    z-index: 1;
    transition: 0.3s;
}

#header .inner {
  padding-top: 11px;
}

#top #header .inner,
#header .inner .right {
    display: none;
}

/*ロゴ*/
#header a.left h1 img {
  width: 100%;
  max-width: 102.5px;
}

/*--------------------------------------------------------------------------------右_ナビゲーション*/

/*-------------------お問い合わせ*/
#header p.head-btn {
  position: fixed;
  top: 10px;
  right: 66px;
    text-align: center;
    z-index: 999999;
}

#header p.head-btn a {
  font-size: 12px;
  font-weight: 500;
  display: flex;
  align-items: center;
  color: #e6667a;
  border-bottom: 3px solid #e6667a;
  border-radius: 50px;
  padding-right: 20px;
  background: url(../images/head-btn-icon.svg) no-repeat top 13px right 16px;
  background-size: 16px;
  background-color: #fff;
  width: 124px;
  height: 40px;
  justify-content: center;
}

#header p.head-btn a:hover {
  background: url(../images/head-btn-icon-h.svg) no-repeat top 13px right 16px;
  background-size: 16px;
    color: #fff;
    background-color: #eb8595;
}

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

ハンバーガーメニュー

--------------------------------------------------------------------------------------------------------------------*/
/*----------------------------------------------------------------------三本ライン*/

#hamburger .line {
    position: fixed;
    top: 10px;
    right: 15px;
    display: flex;
    height: 40px;
    width: 40px;
    justify-content: center;
    align-items: center;
    z-index: 999999;
    background-color: #fff;
	cursor: pointer;
  border-bottom: 3px solid #e6667a;
  border-radius: 4px;

}

#hamburger .line span,
#hamburger .line span:before,
#hamburger .line span:after {
    content: '';
    display: block;
    height: 2px;
    width: 22px;
    background-color: #e6667a;
    position: absolute;
}

/*.line1*/
#hamburger .line span.line1:before {
    bottom: 8px;
}

#hamburger .line span.line1:after {
    top: 8px;
}

/*.line2*/
#hamburger span.line2 {
    background-color: rgba(255, 255, 255, 0);/*メニューオープン時は真ん中の線を透明にする*/
}
#hamburger span.line2::before {
    bottom: 0;
    transform: rotate(45deg);
}
#hamburger span.line2::after {
    top: 0;
    transform: rotate(-45deg);
}

/* アニメーション前のメニューの状態 */
  #hamburger span.line1 {
    pointer-events: auto;
    opacity: 1;
  }
    /* アニメーション後のメニューの状態 */
  #hamburger .line-active span.line1 {
    pointer-events: none;
    opacity: 0;
}

#hamburger .line span.line2 {
    pointer-events: none;
    opacity: 0;
  }
  /* アニメーション後のメニューの状態 */
  #hamburger .line-active span.line2 {
    pointer-events: auto;
    opacity: 1;
  }

  /*-----------------------------------------------------------------------中のメニュー*/

  /*ロゴ*/
  #hamburger .menu a.left {
	max-width: 102px;
  position: absolute;
  top: 6px;
  left: 11px;
}

#hamburger .menu a.left h1 img {
	width: 100%;
}

/*メニュー*/
#hamburger .menu {
  position: fixed;
  top: 0;
  bottom: 0;
  left: 0;
  width: 100%;
  overflow: hidden;
  box-sizing: border-box; /* 追加 */
  z-index: 80;
  background: #e6667a;
  padding-top: 100px;
  text-align: center;
}

#hamburger .menu ul.page-list li a {
  display: block;
  font-weight: 500;
  font-size: 18px;
  box-sizing: border-box;
  padding: 18px 15px;
  position: relative;
  color: #fff;
} 

#hamburger .menu ul.page-list li:nth-child(7) a {
  width: 1.8rem;
  height: 1.8rem;
  padding: 1rem 0;
  margin: 0 auto;
}

/*動き*/

/* アニメーション前のメニューの状態 */
#hamburger .menu{
  pointer-events: none;
  opacity: 0;
}

/* アニメーション後のメニューの状態 */
#hamburger .menu.is-active{
  pointer-events: auto;
  opacity: 1;
}

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

フッター

--------------------------------------------------------------------------------------------------------------------*/
/*-------------------バナー*/
#bana {
  background: url(../images/bana-bg-sp.png) no-repeat top center;
  background-size: cover;
  padding: 43px 0 100px 0;
  position: relative;
  overflow: hidden;
}

#bana .flex {
  justify-content: center;
  column-gap: 54px;
  row-gap: 25px;
  padding: 0 17px;
}

#bana .flex a {
  display: block;
  transition: .3s;
}

#bana .flex a:hover {
  opacity: .7;
}

#bana .flex a img {
  width: 100%;
  height: auto;
}

/*背景画像*/
#bana .ab {
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  margin: auto;
  width: auto;
  max-width: inherit;
  height: 10px;
}

/*-------------------footer*/
#footer {
  padding: 32px 20px 35px 20px;
  position: relative;
}

#footer .flex {
  justify-content: space-between;
  row-gap: 27px;
  margin-bottom: 20px;
}

#footer .flex .box {
  width: 100%;
}

/*box1*/
#footer .flex .box1 h2 {
  margin-bottom: 25px;
  max-width: 150px;
}

#footer .flex .box1 h2 img {
  width: 100%;
  height: auto;
}

#footer .flex .box1 p {
  font-size: 13.5px;
  font-weight: 500;
  line-height: 1.75;
}

#footer .flex .box1 p .pink {
  font-size: 17px;
  font-weight: 500;
  line-height: 1.45;
  color: #e6667a;
  display: inline-block;
}

/*box2*/
#footer .flex .box2 {
  display: none;
}


/*box3*/
#footer .flex .box3 {
  position: relative;
  text-align: center;
  max-width: 260px;
  margin: 0 auto;
}

#footer .flex .box3 a:nth-child(1) {
  display: block;
  font-size: 16px;
  font-weight: 500;
  color: #fff;
  border-radius: 50px;
  background-color: #e6667a;
  height: 81px;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
}

#footer .flex .box3 a:nth-child(1):hover {
  background-color: #f0a3af;
}

#footer .flex .box3 a:nth-child(1) img {
  margin-left: 10px;
  display: inline-block;
  height: auto;
  width: 23px;
}

#footer .flex .box3 a:nth-child(2) {
  display: block;
  width: 35px;
  height: 35px;
  margin: 1.5rem auto;
}



/*cp*/
#footer .cp {
  font-size: 12px;
  font-weight: 500;
  line-height: 1.6;
  text-align: right;
}

/*--------------------------------------------------------------------------------トップに戻る*/
#page-top {
	position: absolute;
	top: -80px;
	right: 18.5px;
	height: 55px;
	width: 55px;
    background: url(../images/top-icon.svg) no-repeat;
	border: none;
    outline: none;
    cursor: pointer;
    transition: .3s;
}

#page-top:hover {
    background: url(../images/top-icon-h.svg) no-repeat;
}



}