@charset "utf-8";

/* ---------------------------------------------------
 * base
/* ---------------------------------------------------*/

html {
    font-size: 62.5%;
    /*適宜変更お願いします*/
    width: 100%;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}

body {
    text-align: center !important;
    font-size: 10px;
    font-family: 'Noto Sans JP', YuGothic, 'Yu Gothic', 'ヒラギノ角ゴシック', 'Hiragino Sans', sans-serif;
    color: #000000;
    line-height: 1.75;
    width: 100%;
    background-color: #fff;
    font-weight: 400;
    /*適宜変更お願いします*/
    font-feature-settings: "palt" 1;
    /*自動カーニング*/
}

.img {
    max-width: 100%;
    height: auto;
}

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

a:hover {
    opacity: 0.6;
    
}

p {
    text-align: justify;
    hanging-punctuation: allow-end;
    /*文字のぶら下げ*/
}

#footer {
    font-size: 1.5em;
    padding: 1.4em;
    text-align: center;
}

/* ボタン配置（画像上に絶対配置） */
.btn_box { 
    position: absolute;
    width: 58%;
    z-index: 999;
    top: 60%;
    right: 0;
    left: 0;
    margin: auto;
  }
  .btn_box2 { 
    position: absolute;
    width: 58%;
    z-index: 999;
    top: 40%;
    right: 0;
    left: 0;
    margin: auto;
  }
/* ボタンアニメーションここから */

/* キラリと光らせる1 */ 
.cta_style1 { 
    position: relative;
    display:block;
    overflow: hidden;
	/*border-radius: 15px;*/ /*ボタン角が丸い場合コメント解除*/
}
.cta_style1:before { 
    content: "";
    width: 200%;
    height: 200%;
    background: -webkit-linear-gradient(top, rgba(255,255,255,0) 0%,rgba(255,255,255,0) 20%,rgba(255,255,255,1) 45%,rgba(255,255,255,1) 50%,rgba(255,255,255,1) 55%,rgba(255,255,255,0) 80%,rgba(255,255,255,0) 100%);
    background: linear-gradient(to bottom, rgba(255,255,255,0) 0%,rgba(255,255,255,0) 20%,rgba(255,255,255,1) 45%,rgba(255,255,255,1) 50%,rgba(255,255,255,1) 55%,rgba(255,255,255,0) 80%,rgba(255,255,255,0) 100%);
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#00ffffff', endColorstr='#00ffffff',GradientType=0 );
    position: absolute;
    top: -50%;
    left: -50%;
	 animation: cta_style1 1.5s infinite linear; 
    -webkit-animation: cta_style1 2.5s infinite linear; 
	pointer-events: none
}
@keyframes cta_style1 { 
  from, 0% { -webkit-transform: translate3d( -100%, 0, 0) rotate(45deg);transform: translate3d( -100%, 0, 0) rotate(45deg);opacity: 0;}
  20% {-webkit-transform: translate3d( -100%, 0, 0) rotate(45deg);transform: translate3d( -100%, 0, 0) rotate(45deg);opacity: 1;}
  70% {-webkit-transform: translate3d( 100%, 0, 0) rotate(45deg);transform: translate3d( 100%, 0, 0) rotate(45deg);opacity: 1;}
  80% {-webkit-transform: translate3d( 100%, 0, 0) rotate(45deg);transform: translate3d( 100%, 0, 0) rotate(45deg);opacity: 0;}
  to, 100% {-webkit-transform: translate3d( -100%, 0, 0) rotate(45deg);transform: translate3d( -100%, 0, 0) rotate(45deg);opacity: 0;}
}

/* 横に揺れる */
.cta_style2{ 
  display:block;
  animation: cta_style2 2s infinite; 
}
@keyframes cta_style2 { 
    0% {transform: translate(2px, 0px);}
    5% {transform: translate(-2px, 0px);}
    10% {transform: translate(2px, 0px);}
    15% {transform: translate(-2px, 0px);}
    20% {transform: translate(2px, 0px);}
    25% {transform: translate(-2px, 0px);}
    30% {transform: translate(0px, 0px);}
}

/* 上下に振動する */
.cta_style3{ 
  display:block;
	animation: cta_style3 2s infinite; 
}
@keyframes cta_style3{ 
	0% {transform: translate(0px, 2px);}
	5% {transform: translate(0px, -2px);}
	10% {transform: translate(0px, 2px);}
	15% {transform: translate(0px, -2px);}
	20% {transform: translate(0px, 2px);}
	25% {transform: translate(0px, -2px);}
	30% {transform: translate(0px, 0px);}
}

/* 拡大縮小 */
.cta_style4 { 
  display:block;
  -webkit-animation: cta_style8 2.0s infinite ease-in-out;
  animation: cta_style4 1.0s infinite ease-in-out; 
}
@keyframes cta_style4 { 
	0%, 100% {transform: scale(0.9);}
	50% {transform: scale(1.0);}
}

/* ぷにぷに */
.cta_style5 { 
  display:block;
	animation: cta_style5 0.8s infinite; 
}
@keyframes cta_style5 { 
	0% {transform: scale(1, 1);}
	50% {transform: scale(0.98, 1.15)}
}

/* もちもち */
.cta_style6 { 
  display:block;
  animation: cta_style6 3s infinite; 
}
@keyframes cta_style6 { 
    0% {transform: scale(1, 0.8);}
    20% {transform: scale(0.8, 1.1);}
    95% {transform: scale(1, 1);}
    100% {transform: scale(1, 0.8);}
} 

/* ボタンアニメーションここまで */

/* iframe配置用（動画や地図などを画像上に重ねて配置したい時） */
/*
.iframe_box {
  position: absolute;
  width: 95%;
  aspect-ratio: 16 / 9;  // 動画ならアスペクト比指定もおすすめ
  z-index: 999;
  bottom: 10%;
  right: 0;
  left: 0;
  margin: auto;
  pointer-events: auto;  // ユーザー操作を許可
}
.iframe_box iframe {
  width: 100%;
  height: 100%;
  border: none;
}
*/

/* ---------------------------------------------------
 * common（PC　min-width: 1023px）
/* ---------------------------------------------------*/
.head_01{ background: #fff5de;}
.head_02{ background: #224920;}


.wrap {
    width: 2000px;
    max-width: 100%;
}

.container {
    position: relative;
    max-width: 1100px;
    margin-left: auto;
    margin-right: auto;
}

/*--テキストコーディングここから
.text_box {
    padding: 1em;
    overflow: hidden;
}

.text_box p {
    font-size: 1em;
    margin-bottom: 1.5em;
    line-height: 1.5em;
}
--テキストコーディングここまで--*/


/*背景画像を指定*/
section#section-01 {
    background: url(../img_pc/section_01.webp)no-repeat top center;}

section#section-02 {
    background: url(../img_pc/section_02.webp)no-repeat top center;}

section#section-03 {
    background: url(../img_pc/section_03.webp)no-repeat top center;}

section#section-04 {
    background: url(../img_pc/section_04.webp)no-repeat top center;}

section#section-05 {
    background: url(../img_pc/section_05.webp)no-repeat top center;}

section#section-06 {
    background: url(../img_pc/section_06.webp)no-repeat top center;}

section#section-07 {
    background: url(../img_pc/section_07.webp)no-repeat top center;}

section#section-08 {
    background: url(../img_pc/section_08.webp)no-repeat top center;}

section#section-09 {
    background: url(../img_pc/section_09.webp)no-repeat top center;}

section#section-10 {
    background: url(../img_pc/section_10.webp)no-repeat top center;}

/*背景画像を指定*/
section#section-11 {
    background: url(../img_pc/section_11.webp)no-repeat top center;}

section#section-12 {
    background: url(../img_pc/section_12.webp)no-repeat top center;}

section#section-13 {
    background: url(../img_pc/section_13.webp)no-repeat top center;}

section#section-14 {
    background: url(../img_pc/section_14.webp)no-repeat top center;}

section#section-15 {
    background: url(../img_pc/section_15.webp)no-repeat top center;}

section#section-16 {
    background: url(../img_pc/section_16.webp)no-repeat top center;}

section#section-17 {
    background: url(../img_pc/section_17.webp)no-repeat top center;}

section#section-18 {
    background: url(../img_pc/section_18.webp)no-repeat top center;}

section#section-19 {
    background: url(../img_pc/section_19.webp)no-repeat top center;}

section#section-20 {
    background: url(../img_pc/section_20.webp)no-repeat top center;}

/*背景画像を指定*/
section#section-21 {
    background: url(../img_pc/section_21.webp)no-repeat top center;}

section#section-22 {
    background: url(../img_pc/section_22.webp)no-repeat top center;}

section#section-23 {
    background: url(../img_pc/section_23.webp)no-repeat top center;}

section#section-24 {
    background: url(../img_pc/section_24.webp)no-repeat top center;}

section#section-25 {
    background: url(../img_pc/section_25.webp)no-repeat top center;}

section#section-26 {
    background: url(../img_pc/section_26.webp)no-repeat top center;}

section#section-27 {
    background: url(../img_pc/section_27.webp)no-repeat top center;}

section#section-28 {
    background: url(../img_pc/section_28.webp)no-repeat top center;}

section#section-29 {
    background: url(../img_pc/section_29.webp)no-repeat top center;}

section#section-30 {
    background: url(../img_pc/section_30.webp)no-repeat top center;}

/*背景画像を指定*/
section#section-31 {
    background: url(../img_pc/section_31.webp)no-repeat top center;}

section#section-32 {
    background: url(../img_pc/section_32.webp)no-repeat top center;}

section#section-33 {
    background: url(../img_pc/section_33.webp)no-repeat top center;}

section#section-34 {
    background: url(../img_pc/section_34.webp)no-repeat top center;}

section#section-35 {
    background: url(../img_pc/section_35.webp)no-repeat top center;}

section#section-36 {
    background: url(../img_pc/section_36.webp)no-repeat top center;}

section#section-37 {
    background: url(../img_pc/section_37.webp)no-repeat top center;}

section#section-38 {
    background: url(../img_pc/section_38.webp)no-repeat top center;}

section#section-39 {
    background: url(../img_pc/section_39.webp)no-repeat top center;}

section#section-40 {
    background: url(../img_pc/section_40.webp)no-repeat top center;}


/*背景画像を指定*/
section#section-41 {
    background: url(../img_pc/section_41.webp)no-repeat top center;}

section#section-42 {
    background: url(../img_pc/section_42.webp)no-repeat top center;}

section#section-43 {
    background: url(../img_pc/section_43.webp)no-repeat top center;}

section#section-44 {
    background: url(../img_pc/section_44.webp)no-repeat top center;}

section#section-45 {
    background: url(../img_pc/section_45.webp)no-repeat top center;}

section#section-46 {
    background: url(../img_pc/section_46.webp)no-repeat top center;}

section#section-47 {
    background: url(../img_pc/section_47.webp)no-repeat top center;}

section#section-48 {
    background: url(../img_pc/section_48.webp)no-repeat top center;}

section#section-49 {
    background: url(../img_pc/section_49.webp)no-repeat top center;}

section#section-50 {
    background: url(../img_pc/section_50.webp)no-repeat top center;}

.-pc {
    display: block;
}

.-sp {
    display: none;
}

*,
*::before,
*::after {
    -webkit-box-sizing: inherit;
    box-sizing: inherit;
    /*親要素のbox-sizingを継承*/
}

/*-----------------タブレットサイズ-----------------------
@media (min-width: 600px) and (max-width: 1023px) {
    body {
        font-size: 3.2rem;
    }
    .-pc {
        display: none;
    }
    .-sp {
        display: block;
    }
    .wrap {
        max-width: 100%;
        width: 100%;
    }
}
----------------------------------------*/

/*-----------------スマホサイズ-----------------------*/

@media screen and (max-width:600px) {
    .-pc {
        display: none;
    }

    .-sp {
        display: block;
    }

    body {
        font-size: 4.2vw;
    }

    .wrap {
        max-width: 100%;
        width: 100%;
    }

    #footer {
        text-align: center;
        font-size: 0.8em;
        padding: 1em;
    }

    #footer a {
        color: #000000;
    }

    section {
        background: none !important;
    }

    .btn_box { 
        position: absolute;
        width: 95%;
        z-index: 999;
        top: 57%;
        right: 0;
        left: 0;
        margin: auto;
      }
      .btn_box2 { 
        position: absolute;
        width: 95%;
        z-index: 999;
        top: 38%;
        right: 0;
        left: 0;
        margin: auto;
      }
}

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