*{
    padding: 0;
    margin: 0;
    box-sizing: border-box;
    list-style: none;
    text-decoration: none;
    color: #002349;
}



picture{
    width: 100%;
    height: auto;
    display: block;
}

img{
    width: 100%;
    height: auto;
    display: block;
}

.sp{
    display: none!important;
}

.sp_fl{
    display: none!important;
}

.tab_only{
    display: none!important;
}

.container_1440{
    max-width: 1440px;
    width: 88.8%;
    margin: 0 auto;
}

.container_1195{
    max-width: 1195px;
    width: 88.8%;
    margin: 0 auto;
}

/*タブレット*/
@media screen and (max-width:1010px){
    .container_1440{
        width: 94.7%;
    }
    .pc_only{
        display: none!important;
    }
    .tab_only{
        display: block!important;
    }
}

/*スマホ*/
@media screen and (max-width:768px){
    .sp{
        display: block!important;
    }
    .sp_fl{
        display: flex!important;
    }
    .tab_only{
        display: none!important;
    }
    .sp_none{
        display: none!important;
    }
}


/*header*/

header{
    position: fixed;
    left: 0;
    top: 0;
    z-index: 100;
    background-color: rgba(255,255,2550,.5);
}

header .logo a{
    display: block;
    height: 100%;
}

.header_inner{
    display: flex;
}

.header_inner .gnavi_box{
    display: flex;
    align-items: center;
    padding: 0 30px 0 35px;
}

.header_inner .gnavi_box .gnavi{
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 30px;
}

.header_inner .gnavi_box .gnavi a{
    font-family: "Noto Sans JP", sans-serif;
    font-weight: 400;
    font-size: 16px;
    line-height: 100%;
    position: relative;
}

#humberger {
    position: relative;
    height: 20px;
    width: 28px;
    display: inline-block;
    box-sizing: border-box;
    display: none;
    position: fixed;
    top: 20px;
    right: 15px;
    z-index: 1000;
  }
  #humberger div {
    position: absolute;
    left: 0;
    height: 1px;
    width: 28px;
    background-color: #006E6F;
    border-radius: 2px;
    display: inline-block;
    box-sizing: border-box;
    transition: all .5s;
  }
  #humberger div:nth-of-type(1) {
    bottom: 20px;
  }
  #humberger div:nth-of-type(2) {
    bottom: 10px;
  }
  #humberger div:nth-of-type(3) {
    bottom: 0;
  }
  #humberger.active div:nth-of-type(1) {
    -webkit-transform: translateY(10px) rotate(-45deg);
    transform: translateY(10px) rotate(-45deg);
  }
  #humberger.active div:nth-of-type(2) {
    opacity: 0;
  }
  #humberger.active div:nth-of-type(3) {
    -webkit-transform: translateY(-10px) rotate(45deg);
    transform: translateY(-10px) rotate(45deg);
  }


   .mail_magazinebtn_cover{
    position: fixed;
    right: 30px;
    bottom: 30px;
    z-index: 1005;
   }

  .mail_magazinebtn{
    background-color: #006E6F;
    border: 1px solid #FFFFFF;
    border-radius: 10px;
    padding: 12px 6px;
    transition: transform 0.4s ease;
  }
  .mail_magazinebtn:hover{
    opacity: 0.8;
  }

  @media screen and (min-width:768px){
      .mail_magazinebtn_cover{
        animation: floatUpDown 2s infinite;
      }
     .mail_magazinebtn.scroll-down {
        transform: translateY(-100px);
    }
    .mail_magazinebtn.scroll-up {
        transform: translateY(100px);
    }
  }

    .mail_magazinebtn_inner {
        display: flex;
        align-items: center;
        color: #fff;
        flex-direction: column;
        text-align: center;
    }

    .mail_magazinebtn a .mail_icon{
    background-image: url(../img/pg/svg/pg_mail-icon.svg);
    background-repeat: no-repeat;
    background-position: center;
    width: 30px;
    height: 23.3px;
    background-size: 30px 23.3px;
    margin-bottom: 12px;
    display: inline-block;
  }

  .mail_magazinebtn a .arrow{
    background-image: url(../img/pg/svg/pg_arrow-down.svg);
    background-repeat: no-repeat;
    background-position: center;
    width: 21px;
    height: 10px;
    background-size: 21px 10px;
    display: inline-block;
    margin-top: 11px;
  }

  @media screen and (min-width:768px){
    .mail_magazinebtn a .arrow{
        animation: arrowBounce 1s infinite ease-in-out;
      }
  }


/* アニメーション定義 */
@keyframes arrowBounce {
  0%, 100% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(5px);
  }
}

.char {
  display: inline-block;
  animation: rotateChar 5s infinite;
  color: #fff;
}

/* 回転アニメーション */
@keyframes rotateChar {
  0%   { transform: rotateY(0deg); }
  50%  { transform: rotateY(360deg); }
  100% { transform: rotateY(0deg); }
}

.char:nth-child(1) { animation-delay: 0s; }
.char:nth-child(2) { animation-delay: 0.1s; }
.char:nth-child(3) { animation-delay: 0.2s; }
.char:nth-child(4) { animation-delay: 0.3s; }
.char:nth-child(5) { animation-delay: 0.4s; }



  .mail_magazinebtn a .appeal_text{
    font-family: "Noto Sans JP", sans-serif;
    font-weight: 700;
    font-style: Bold;
    font-size: 16px;
    line-height: 160%;
    letter-spacing: 0%;
    text-align: center;
    color: #fff;
  }

@keyframes floatUpDown {
  0%   { transform: translateY(0); }
  50%  { transform: translateY(-5px); }
  100% { transform: translateY(0); }
}



/*タブレット*/
@media screen and (max-width:1100px){
    header{
        width: 100%;
    }
    header .logo a img{
        width: auto;
        height: 100%;
    }
    .header_inner .logo{
        width: auto;
        height: 50px;
    }
    .header_inner .gnavi_box{
        padding: 0 20px;
    }
    .header_inner .gnavi_box .gnavi{
        gap: 15px;
    }
    .header_inner .gnavi_box .gnavi a{
        font-size: 12px;
    }
}

/*スマホ*/
@media screen and (max-width:768px){
    body.rock{
        overflow: hidden;
    }
    #wrapper{
        position: relative;
        overflow: auto;
    }
    header{
        background: none;
        position: absolute;
        left: 0;
        top: 0;
    }
    header.active{
        position: fixed;
    }
    #humberger{
        display: block;
    }
    .header_inner{
        transition: .5s;
    }
    header.active .header_inner{
        background-color: #fff;
    }
    .header_inner .gnavi_box{
        position: fixed;
        top: 49px;
        right: 0;
        bottom: 0;
        width: 100%;
        background-color: #fff;
        align-items: start;
        padding: 0;
        transform: translateX(-100%);
        transition: 1s;
    }
    header.active .header_inner .gnavi_box{
        transform: translateX(0);
    }
    .header_inner .gnavi_box .gnavi{
        flex-direction: column;
        width: 100%;
        align-items: start;
        justify-content: start;
        gap: 0;
    }
    .header_inner .gnavi_box .gnavi li{
        width: 100%;
    }
    .header_inner .gnavi_box .gnavi a{
        color: #222;
        font-size: 16px;
        padding: 25px 15px;
        display: block;
        border-bottom: 1px solid #B8B8B8;
    }
    .header_inner .gnavi_box .gnavi li:first-child a{
         border-top: 1px solid #B8B8B8;
    }

.mail_magazinebtn_cover{
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 1005;
}
.mail_magazinebtn{
    background-color: #006E6F;
    border: none;
    border-radius: 0;
    padding: 0;
  }

  .mail_magazinebtn a{
    position: relative;
    font-family: "Noto Sans JP", sans-serif;
    font-weight: 400;
    font-size: 16px;
    line-height: 150%;
    letter-spacing: 0%;
    text-align: center;
    height: 50px;
    display: flex;
    justify-content: center;
  }

  .mail_magazinebtn_inner{
    display: flex;
    align-items: center;
    flex-direction: row;
    color: #fff;
  }

   .mail_magazinebtn a .mail_icon{
    width: 22.5px;
    height: 17.4999942779541px;
    background-size: 22.5px 17.4999942779541px;
    margin-right: 10px;
    margin-bottom: 0;
  }

  .mail_magazinebtn a .arrow{
    background-image: url(../img/pg/svg/pg_arrow-right_wh.svg);
    width: 7px;
    height: 15px;
    background-size: 7px 15px;
    margin-left: 13px;
    margin-top: 0;
  }
  .header_inner .gnavi_box .gnavi a:after{
    content: "";
    position: absolute;
    right: 15px;
    top: 0;
    bottom: 0;
    margin: auto;
    background-image: url(../img/pg/svg/pg_arrow-right.svg);
    background-repeat: no-repeat;
    background-position: center;
    width: 7px;
    height: 15px;
    background-size: 7px 15px;

}
}


/*footer*/

.footer_contact_inner{
    background: linear-gradient(351.67deg, #098687 -0.35%, #009B9C 94.08%);
    padding: 100px 120px;
    border-radius: 30px 30px 0 0;
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.footer_contact_inner h2{
    font-family: "Noto Serif JP", serif;
    font-weight: 400;
    font-size: 60px;
    line-height: 100%;
    margin-bottom: 40px;
    color: #fff;
}

.footer_contact_inner h2 span{
    font-size: 25px;
    margin-left: 50px;
    color: #fff;
}

.footer_contact_inner p{
    font-family: "Noto Sans JP", sans-serif;
    font-weight: 400;
    font-size: 18px;
    line-height: 180%;
    color: #fff;
}

.footer_contact_inner .footer_contact_left p:not(:last-child){
    margin-bottom: 40px;
}

.footer_contact_right{
    width: 59%;
}

.footer_contact_btns{
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.footer_contact_btn{
    border: 0.7px solid #006E6F;
    background-color: #D9EFEF;
    width: calc(50% - 15px);
    height: 200px;
}

.footer_contact_btn.mail:hover{
    opacity: 0.6;
}

.footer_contact_btn p{
    font-family: "Noto Sans JP", sans-serif;
    font-weight: 400;
    font-size: 24px;
    line-height: 100%;
    color: #006E6F;
    position: relative;
    padding-right: 40px;
}

.footer_contact_btn p:after{
    content: "";
    position: absolute;
    right: 20px;
    top: 0;
    bottom: 0;
    margin: auto;
    width: 9.5px;
    height: 20px;
    background-size: 100% 100%;
    background-position: center;
    background-repeat: no-repeat;
    background-image: url(../img/pg/svg/pg_arrow-right.svg);
}

.footer_contact_btn.tel img{
    width: 44px;
}

.footer_contact_btn.mail img{
    width: 54px;
}

.footer_contact_btn a{
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    flex-direction: column;
    gap: 30px;
}

footer{
    border-top: 1px solid #B8B8B8;
    padding: 50px 0;
}

.footer_logo{
    margin: auto;
    margin-bottom: 30px;
    width: 337px;
}

.footer_link{
    text-align: center;
    margin-bottom: 50px;
}

.footer_link a{
    font-family: "Noto Sans JP", sans-serif;
    font-weight: 400;
    font-size: 16px;
    line-height: 100%;;
    text-align: center;
    color: #002349;
}

.footer_text{
    font-family: "Noto Sans JP", sans-serif;
    font-weight: 400;
    font-size: 14px;
    line-height: 100%;
    color: #666;
}

@media screen and (max-width:1500px){
    .footer_contact_inner{
        padding: 100px 60px;
    }
    .footer_contact_right {
        width: 54%;
    }
}

/* @media screen and (max-width:1300px){
    .footer_contact_inner h2{
        display: flex;
        flex-direction: column;
        gap: 20px;
    }
    .footer_contact_inner h2 span{
        margin-left: 0;
    }
} */

/*タブレット*/
@media screen and (max-width:1010px){
    .footer_contact_inner h2{
        display: flex;
        flex-direction: column;
        gap: 20px;
    }
    .footer_contact_inner h2 span{
        margin-left: 0;
    }
    .footer_contact_inner{
        padding: 50px 60px;
    }
    .footer_contact_inner h2{
        margin-bottom: 40px;
        font-size: 30px;
    }
    .footer_contact_inner h2 span{
        font-size: 20px;
    }
    .footer_contact_inner p{
        font-size: 16px;
    }
    .footer_contact_right .footer_contact_btn p{
        padding-right: 20px;
    }
    .footer_contact_inner .footer_contact_left p:not(:last-child){
        margin-bottom: 0;
    }
    .footer_contact_left{
        width: 32%;
    }
    .footer_contact_btn{
        height: 221px;
        width: calc(50% - 7.5px);
    }
    .footer_contact_btn p:after{
        right: 0;
    }
    .footer_logo{
        width: 261px;
        margin-bottom: 50px;
    }
}


/*スマホ*/
@media screen and (max-width:768px){
    .footer_contact_inner{
        padding: 50px 25px;
        flex-direction: column;
        gap: 40px;
    }   
    .footer_contact_left, .footer_contact_right {
        width: 100%;
    }
    .footer_contact_inner h2{
        text-align: center;
        font-size: 38px;
    }
    .footer_contact_inner p{
        font-size: 15px;
        text-align: center;
    }
    .footer_contact_btns{
        flex-direction: column;
        gap: 30px;
    }
    .footer_contact_btn{
        width: 100%;
        height: 70px;
    }
    .footer_contact_btn.tel:hover{
        opacity: 0.6;
    }
    .footer_contact_btn a{
        flex-direction: row;
        gap: 10px;
    }
    .footer_contact_btn.tel img,.footer_contact_btn.mail img{
        width: 22px;
    }
    .footer_contact_right .footer_contact_btn p{
        font-size: 20px;
    }
    .footer_logo{
        width: 223px;
        margin-bottom: 40px;
    }
    .footer_link{
        margin-bottom: 40px;
    }
}

.title{
    border-bottom: 1px solid #006E6F;
    padding-bottom: 40px;
    margin-bottom: 55px;
}

.title h2{
    font-family: "Noto Serif JP", serif;
    font-weight: 400;
    font-size: 70px;
    line-height: 100%;
    letter-spacing: 0%;
    color: #006E6F;
}

.title h2 span{
    font-weight: 400;
    font-size: 25px;
    line-height: 229.99999999999997%;
    letter-spacing: 0%;
    text-align: center;
    color: #006E6F;
    margin-left: 50px;
}

/*タブレット*/
@media screen and (max-width:1010px){
    .title{
        margin-bottom: 40px;
    }
    .title h2{
        font-size: 40px;
    }
    .title h2 span{
        font-size: 20px;
    }
}

/*スマホ*/
@media screen and (max-width:768px){
    .title{
        margin-bottom: 30px;
        padding-bottom: 30px;
    }
    .title h2{
        display: flex;
        flex-direction: column;
        gap: 20px;
        font-size: 38px;
    }
    .title h2 span{
        margin-left: 0;
        text-align: left;
    }
}

.btn{
    border: 0.7px solid #006E6F;
    height: 55px;
    width: 300px;
    background-color: #fff;
    text-align: center;
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
    z-index: 5;
}

.btn:hover{
    opacity: 0.7;
}

.btn span{
    position: relative;
    padding-right: 20px;
    color: #006E6F;
    font-family: "Noto Sans JP", sans-serif;
    font-weight: 400;
    font-size: 18px;
    line-height: 100%;
}

.btn span:after{
    position: absolute;
    right: 0;
    top: 3px;
    bottom: 0;
    content: "";
    background-image: url(../img/pg/svg/pg_arrow-right.svg);
    width: 7px;
    height: 15px;
    background-position: center;
    background-repeat: no-repeat;
    background-size: 100%;
    margin: auto;
}

/*タブレット*/
@media screen and (max-width:1010px){
  .btn{
    height: 52px;
    width: 250px;
    font-size: 16px;
  }
}

/*スマホ*/
@media screen and (max-width:768px){
    .btn{
        width: 100%;
    }
}

/*banner*/

.banner{
    margin-bottom: 120px;
}

@media screen and (max-width:1500px){
    .banner{
        margin-bottom: 100px;
    }
}

/*タブレット*/
@media screen and (max-width:1010px){
    .banner{
        margin-bottom: 57px;
    }
}

/*スマホ*/
@media screen and (max-width:768px){
    .banner{
        margin-bottom: 60px;
    }
}


/*下層ページ共通*/

.lower_mv{
    margin-bottom: 120px;
    display: flex;
    justify-content: end;
}

.lower_mv_inner{
    position: relative;
    width: 94.8%;
}


.lower_mv_text{
    position: absolute;
    left: 0;
    bottom: 80px;
    z-index: 10;
    background-color: #006E6FCC;
    padding: 33px 130px 25px 40px;
    border-radius: 0 30px 30px 0;
}

.lower_mv_text h1 img{
    width: 308px;
}

.lower_mv_text h1 span{
    font-family: "Noto Serif JP", serif;
    font-weight: 600;
    font-size: 25px;
    line-height: 229.99999999999997%;
    color: #fff;
    display: block;
}

.lower_mv_image img{
    height: 400px;
    object-fit: cover;
}

/*タブレット*/
@media screen and (max-width:1010px){
    .lower_mv{
        margin-bottom: 100px;
    }
    .lower_mv_image img{
        height: 200px;
    }
    .lower_mv_text{
        padding: 8px 20px;
        bottom: 40px;
        display: inline-block;
        border-radius: 0 15px 15px 0;
    }
    .lower_mv_text h1{
        display: flex;
        align-items: center;
    }
    .lower_mv_text h1 img{
        width: 182px;
    }
    .lower_mv_text h1 span{
       display: inline-block; 
        font-weight: 600;
        font-size: 14px;
        margin-left: 15px;
    }
}

/*スマホ*/
@media screen and (max-width:768px){
    .lower_mv{
        margin-bottom: 60px;
    }
    .lower_mv_image img{
        height: 150px;
    }
    .lower_mv_text{
        padding: 7px 20px;
        bottom: 30px;
        display: inline-block;
    }
    .lower_mv_text h1 img{
        width: 140px;
    }
    .lower_mv_text h1 span{
        font-size: 12px;
    }
}

@media screen and (max-width:370px){
    .lower_mv_text h1 img{
        width: 100px;
    }
    .lower_mv_text h1 span{
        font-size: 11px;
    }
}


/*PC*/
@media screen and (min-width:1010px){
    a[href^="tel:"] {
        pointer-events: none;
    }
}