@charset "UTF-8";
/* CSS Document */

/*reset*/
.u-margin__bottom--100 {
    /*margin-bottom: 100px;*/
    margin-bottom: 0px;
}
.u-margin__top--60 {
    /*margin-top: 60px;*/
    margin-top: 0px;
}
.p-page_content {
    /*padding-right: 40px;
    padding-left: 40px;*/
    padding-right: 0px;
    padding-left: 0px;
}
.p-page_content__inner {
    /*max-width: 720px;*/
    width: 100%;
    margin: 0 auto;
    max-width: none;
  }
.pc_only { display:none !important }


/* 共通スタイル設定 */
.scroll-container {
  scroll-behavior: smooth;
  overflow-y: scroll;
  height: 100vh;
  /*scroll-padding-top:70px;*/
}
#container {
    background-color: #fff;
}
#container img {
    width: 100%;
    height: auto;
    display: block;
    margin: 0 auto;
}
#container .common-w {
    max-width: 980px;
    margin: 0 auto 2.5em;
    width:90%;
}
#container .top.common-w {
    max-width: 880px;
}
#container .header .common-w {
     width:100%;
}
#container .section-02 .common-w {
    width:100%;
    margin-bottom: 0;
}
#container .section-03 .common-w {
    margin: 0 auto 1.5em;
}
#container a img {
    opacity: 1.0;
    transition: 0.3s;
}
#container a img:hover {
    opacity: 0.5;
}
/*header ---------------------------*/
#container .header .top {
    margin: 0 auto 0em;
}
#container .header .button {
    padding: 0.5em 0;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    background-image: url("../img/sp/top_03.png");
}
#container .header .button .button-inner {
    margin: 0 auto;
    position: relative;
}
#container .header .button .button-inner .catch {
    max-width: 12em;
    width: 30%;
    position: absolute;
    z-index: 2;
    left: 3.5%;
    top: 50%;
    transform: translate(0%, -50%);
    -webkit-transform: translate(0%, -50%);
    -ms-transform: translate(0%, -50%);
}
#container .header .button .button-inner .catch>img {
    position: absolute;
    top:0;
    left:0;
    z-index: 2;
}
#container .header .button .button-inner .catch .shadow {
    display:block;
    content:'';
    width:100%;
    height:100%;
    mix-blend-mode:multiply;
    box-shadow:5px 5px 5px rgba(0, 0, 0, 0.5);
    border-radius: 50%;
}
#container .header .button .button-inner a {}
#container .header .text {
    padding: 0 0 3em;
    background-color: #263976;
}
#container .header .text:before {
    content:" ";
    display: block;
    width: 100%;
    height:2em;
    margin-bottom: .5em;
    mix-blend-mode:multiply;
    background-size: contain;
    background-repeat: repeat-x;
    background-position: center top;
    background-image: url("../img/pc/shadow-top.png");
    z-index: 1;
}
#container .header .text img {
    max-width: 600px;
    width: 85%;
    margin: 0 auto;
}
/*section-01 ---------------------------*/
#container .section-01 {
    margin: 2.75em auto;
}
#container .section-01 .info {
    text-align: right;
    font-size: 12px;
    width: 100%;
    padding-top: 1.5em;
}
/*section-02 ---------------------------*/
#container .section-02 {
    background-color: #dbe3f3;
    padding-bottom: 0.05em
}
#container .section-02 .title {
    margin-bottom: 1em;
}
#container .section-02 .flex {
    display: flex;
    justify-content: space-between;
    margin-bottom: 1em
}
#container .section-02 .flex img {
    width: 23%;
    margin: 0;
}
#container .section-02 .info {
    text-align: right;
    font-size: 12px;
    width: 80%;
    padding-top: 1.5em;
    margin:0 auto 0em;
}
/*section-03 ---------------------------*/
#container #section{
  height: 70px;
} 
/*section-03 ---------------------------*/
#container .section-03 {
    background-color: #263976;
}
#container .section-03:before,
#container .section-03:after {
    content:" ";
    display: block;
    width: 100%;
    height:2em;
    margin-bottom: 0.5em;
    mix-blend-mode:multiply;
    background-size: contain;
    background-repeat: repeat-x;
    background-position: center top;
    background-image: url("../img/pc/shadow-top.png");
}
#container .section-03:after {
    margin-top: .1em;
    margin-bottom: 0;
    background-repeat: repeat-x;
    background-position: center bottom;
    background-image: url("../img/pc/shadow-bottom.png");
}
#container .section-03 .title {
    margin: 0 auto 2em;
}
#container .section-03 .item-list li.flex {
    position: relative;
    display: flex;
    justify-content: space-between;
    margin-bottom: 2.5em;
}
#container .section-03 .item-list li.flex-02 .tab {
    width: calc(100% - 28px);
    margin:0 auto;
}
#container .section-03 .item-list .flex-inner {
    position: relative;
    display: flex;
    justify-content: space-between;
}
#container .section-03 .item-list li .flex-l { 
   /* width:48.6%;*/
}
#container .section-03 .item-list li .flex-r {
   /*  width:51.4%;*/
    position: relative;
}  
#container .section-03 .item-list li .flex-r div { 
    position: absolute;
    bottom:3.25%;
    right: 0;
    width: 100%;
}
#container .section-03 .item-list li.flex-02 .flex-r div { 
    bottom:3%;
}  
/*section-04 ---------------------------*/
#container .section-04 {
    background-color: #f8f5e3;
    padding-top: 3.5em;
    padding-bottom: 4em;
} 
#container .section-04 .title {
    margin:0 auto 1.5em;
    width:90%;
}
#container .section-04 .object-01 {
    margin-bottom: 1em;
}
#container .section-04 .object-01 img {
    margin-bottom: 1em;
}
#container .section-04 .object-02 {
    margin-top:2em;
}
#container .section-04 .flex {
    display: flex;
    justify-content: space-between;
    margin-bottom: 1em
}
#container .section-04 .flex-l { 
    width:47.8%;
    display: flex;
    align-content: space-between;
    flex-wrap: wrap;
}
#container .section-04 .flex-r {
    width:50%;
    position: relative;
}    
#container .section-04 .flex-r .link {
    position: absolute;
    left:0;
    bottom: 0;
}    
/*swiper ---------------------------*/
.swiper-relative {
    position: relative;
}
.swiper {
    margin: 0 auto;
    width:80%;
}
.swiper-button-next, .swiper-button-prev {
    color: #263976 !important;
    /*top:inherit!important;
    bottom:-15px !important;*/
    width: 20px !important;
}
.swiper-button-prev {
    left: 8px !important;
}
.swiper-button-next {
    right:8px !important;
}
@media screen and (min-width: 768px) {
    .sp_only { display:none !important }
    .pc_only { display:block !important }
    #container .header .common-w,
    #container .section-02 .common-w{
        width:90%;
    }
    #container .section-03 .common-w {
        margin: 0 auto 3em;
    }
    #container .header .button {
        background-image: url("../img/pc/top_02.png");
    }
    #container .header .button .button-inner a img {
/*        border: 1px solid #c00;*/
        max-width:800px;
        padding-right: 7%;
    }
    #container .header .button .button-inner .catch {
        width: 20%;
        max-width: 180px;
        left: -1em;
    }
    #container .header .text {
        padding: 0 0 4em;
    }
    #container .header .text:before {
        margin-bottom: 2em;
    }
    #container .header .text img {
        width: 82%;
        max-width: 530px;
    }
    /*section-01 ---------------------------*/
    #container .section-01 {
        margin: 4em auto;
    }
    #container .section-02 .title {
        margin-bottom: 2.5em;
    }
    /*section-02 ---------------------------*/
    #container .section-02 {
        /*padding-bottom: 0.5em*/
    }
    #container .section-02 .info {
        text-align: right;
        width: 100%;
        padding-top: 0.5em;
    }
    /*section-03 ---------------------------*/
    #container .section-03:before,
    #container .section-03:after {
        margin-bottom: 2em;
    }
    #container .section-03 .title {
        margin: 0 auto 3em;
    }
    #container .section-03 .item-list li .flex-r div,
    #container .section-03 .item-list li.flex-02 .flex-r div{ 
        bottom:5.75%;
    }
    #container .section-03 .item-list li.flex {
        margin-bottom: 3em;
    }
    #container .section-03 .item-list li.flex-02 {
        margin-bottom: 3em;
    }
    #container .section-03:after {
        margin-top: 4em;
        margin-bottom: 0em;
    }
    /*section-04 ---------------------------*/
    #container .section-04 .object-02 {
        margin-top: 3.5em;
    }
    #container .section-04 {
        padding-bottom: 5em;
    } 
}