html {
    max-width: 100%;
    font-size: 16px;
}

h1,h2,h3,h4,p,a,th,td,span,small {
    font-family: "Noto Serif JP", "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}

p {
    line-height: 1.7;
    letter-spacing: 0.09em;
}

img { 
    image-rendering: -webkit-optimize-contrast;
}

:root {
    --blue: #fff;
    --green: #;
    --lightblue: #;
}

.pt10 {
    padding-top: 10px;
}

.pt20 {
    padding-top: 20px;
}

.pt30 {
    padding-top: 30px;
}

.pt40 {
    padding-top: 40px;
}

.pt50 {
    padding-top: 50px;
}

.pb10 {
    padding-bottom: 10px;
}

.pb20 {
    padding-bottom: 20px;
}

.pb30 {
    padding-bottom: 30px;
}

.pb40 {
    padding-bottom: 40px;
}

.pb50 {
    padding-bottom: 50px;
}

.mt10 {
    margin-top: 10px;
}

.mt20 {
    margin-top: 20px;
}

.mt30 {
    margin-top: 30px;
}

.mt40 {
    margin-top: 40px;
}
.mt50 {
    margin-top: 50px;
}

.mb10 {
    margin-bottom: 10px;
}

.mb20 {
    margin-bottom: 20px;
}

.mb30 {
    margin-bottom: 30px;
}

.mb40 {
    margin-bottom: 40px;
}
.mb50 {
    margin-bottom: 50px;
}

.flex {
    display: flex;
    justify-content: space-between;
}

.reverse {
    flex-direction: row-reverse;
}

.upside_down {
    flex-direction: column-reverse;
}

.pc_only {
    display: block;
}

.sp_only {
    display: none;
}

/*---  ---*/
header h1 img {
    width: 100%;
}

.land_bgi {
    background-image: url(../img/pc/landscape_bgi.jpg);
    background-size: cover;
    background-repeat: no-repeat;
    height: auto;
    padding: 100px 0;
}

.wrap {
    max-width: 1300px;
    width: 100%;
    margin: 0 auto;
}

.sec01 .wrap {
    padding: 80px 2.5%;
}

.sec01 .flex:first-of-type {
    padding-bottom: 60px;
}

.sec01 .flex:first-of-type img:first-of-type {
    padding-right: 50px;
}

.top_tit {
    text-align: center;
    padding-bottom: 70px;
}

.top_btn a:first-of-type {
    padding-right: 40px;
}

.top_tit h2 {
    font-size: 60px;
    font-weight: bold;
    font-family: "trajan-pro-3",serif;
    color: #3F9877;
    letter-spacing: 0.4em;
    padding-bottom: 20px;
}

.top_tit span {
    display: block;
    font-size: 30px;
    letter-spacing: 0.4em;
}

.land_blk {
    width: 900px;
    margin: 0 auto;
    padding-bottom: 100px;
}

.land_img {
    width: 350px;
}

.land_img img {
    padding-bottom: 50px;
}

.land_img img:last-of-type {
    padding-bottom: 0;
}

.land_box {
    padding-right: 2.5%;
    padding-left: 2.5%;
}

.land_box div {
    width: 29%;
}

.land_box div img {
    width: 100%;
    padding-bottom: 30px;
}

.land_box div p {
    font-weight: 100;
}

.sec03 .wrap,
.sec04 .wrap,
.sec05 .wrap,
.sec06 .wrap,
.sec07 .wrap {
    padding-right: 2.5%;
    padding-left: 2.5%;
}

.loca_box h3 {
    text-align: center;
    font-size: 28px;
    letter-spacing: 0.4em;
    padding: 10px 0;
    margin-bottom: 30px;
    width: 100%;
    color: #fff;
    background: #3F9877;
}

.loca_box .flex div {
    width: 30%;
    text-align: center;
    padding-bottom: 50px;
}

.loca_box .flex img {
    width: auto;
    padding-bottom: 30px;
}

.sec03 {
    padding: 100px 0 20px;
}

.sec03 .loca_box:nth-of-type(3) h3 {
    color: #3F9877;
    background: #EEF0E6;
}

.sec04 {
    padding-bottom: 100px;
}


.loca_blk_text {
    padding-bottom: 30px;
}

.loca_blk_text p {
    width: 570px;
    display: flex;
    justify-content: space-between;
}

.flex_blk {
    width: 90%;
}

.loca_text_small {
    font-size: 11px;
    padding-top: 30px;
}

.access_bgi {
    background-image: url(../img/pc/access_bgi.jpg);
    background-size: cover;
    background-repeat: no-repeat;
    height: auto;
    padding: 100px 0;
}

.access_box {
    width: 50%;
}

.access_box img {
    width: 93%;
    padding: 0 30px 30px 0;
}

.access_img  {
    text-align: right;
}

.access_img img {
    width: 90%;
}

.access_box img:nth-of-type(2) {
    padding-bottom: 90px;
}

.sec06 {
    padding: 100px 0;
}

.model_box img {
    width: 100%;
}

.model_box div:first-of-type img {
    padding-right: 40px;
}

.model_blk img {
    width: auto;
    background: #EEF0E6;
    padding: 30px;
    border-radius: 20px;
}

.model_blk img:first-of-type {
    margin-right: 40px;
}

.model_img {
    text-align: center;
    padding: 80px 0;
}

.model_img img {
    width: auto;
    margin: 0 auto;
}

.model_box_img img {
    width: 100%;
}

.outline_bgi {
    background-image: url(../img/pc/outline_bgi.jpg);
    background-size: cover;
    background-repeat: no-repeat;
    height: auto;
    padding: 100px 0;
}

.outline_table {
    max-width: 1100px;
    width: 100%;
    margin: 0 auto;
}

table {
    width: 100%;
}

.outline_table table tr {
    border-top: solid 1px #666666;
    line-height: 1.5;
}

.outline_table table th{
    width: 20%;
    border-right: solid 1px #666666;
    padding: 30px 15px;
    font-weight: 400;
}

.outline_table table td{
    padding: 30px 15px;
}

.foot_btn {
    padding: 80px 0;
}

.foot_btn a img {
    width: 90%;
    margin: 0 auto;
}

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

.swiper-button-prev:after,
.swiper-rtl .swiper-button-next:after {
    display: none;
}
.swiper-button-next:after,
.swiper-rtl .swiper-button-prev:after {
    display: none;
}

.video_box {
    padding-top: 80px;
    display: flex;
    justify-content: space-between;
}

.video_box video {
    width: 47.5%;
}

@media (max-width: 1250px) {
    .top_btn img {
        width: 90%;
        margin: 0 auto;
    }
    .loca_blk_text p {
        width: 520px;
        font-size: 15px;
    }
    .loca_box .flex img {
        width: 100%;
    }
    .loca_box .flex .pc_only img:last-of-type {
        width: 250px;
    }
    .model_img img {
        width: 100%;
    }
}

@media (max-width: 1150px) {
    .loca_blk_text p {
        width: 460px;
        font-size: 14px;
    }
    .access_box {
        width: 60%;
    }
}

@media (max-width: 980px) {
    .sec04 .wrap .flex {
        display: block;
    }
    .loca_blk_text p {
        width: 100%;
    }
}

@media (max-width: 900px) {
    .land_blk div:first-of-type img {
        width: 80%;
        margin: 0 auto;
    }
    .land_img img {
        width: 80%;
        margin: 0 auto;
    }
}

@media (max-width: 850px) {
    .land_blk div:first-of-type img {
        width: 70%;
    }
    .land_img img {
        width: 70%;
    }
}

@media (max-width: 768px) {
    main {
        overflow: hidden;
    }
    img {
        width: 100%;
    }
    .pc_only {
        display: none;
    }
    .sp_only {
        display: block;
    }
    .sec03 .wrap,
    .sec04 .wrap,
    .sec05 .wrap,
    .sec06 .wrap,
    .sec07 .wrap {
    padding-right: 5%;
    padding-left: 5%;
    }
    .wrap {
        width: 100%;
        padding: 0 5%;
        box-sizing: border-box;
    }
    .sec01 .wrap {
        padding: 30px 5% 60px;
        box-sizing: border-box;
    }
    .sec01 .flex:first-of-type .sp_only {
        padding-bottom: 30px;
    }
    .sec01 .flex:first-of-type {
        padding-bottom: 30px;
    }
    .flex {
        display: block;
    }
    .top_tit h2 {
        font-size: 34px;
        letter-spacing: 0.2em;
    }
    .top_tit span {
        font-size: 16px;
        letter-spacing: 0.02em;
    }
    .land_blk {
        width: 100%;
    }
    .outline_table {
        width: 100%;
    }
    .loca_blk_text p {
        width: 100%;
    }
    .land_box div {
        width: 100%;
    }
    .top_tit {
        padding-bottom: 20px;
    }
    .land_bgi {
        width: 100%;
        background-image: url(../img/sp/land_bgi_sp.jpg);
        height: auto;
        padding: 60px 0;
    }
    .land_img {
        width: 100%;
        display: flex;
        justify-content: space-between;
        flex-wrap: wrap;
        padding-top: 40px;
    }
    .land_img img {
        width: 48%;
        height: 100%;
        padding-bottom: 20px;
    }
    .land_blk {
        padding-bottom: 30px;
    }
    .land_box div {
        width: 100%;
        display: flex;
        justify-content: space-between;
    }
    .land_blk div:first-of-type img {
        width: 100%;
    }
    .land_box img {
        width: 80%;
        height: 100%;
        padding-right: 20px;
    }
    .land_box div:nth-of-type(2) img {
        padding-right: 0;
        padding-left: 20px;
    }
    .land_box p {
        font-size: 12px;
        width: 70%;
        line-height: 1.4;
    }
    .sec03 {
        padding: 50px 0 20px;
    }
    .loca_box .flex {
        display: flex;
    }
    .loca_box .flex div {
        width: 47%;
        text-align: center;
        padding-bottom: 20px;
    }
    .loca_box .flex img {
        padding-bottom: 15px;
    }
    .loca_box h3 {
        font-size: 22px;
        letter-spacing: 0.2em;
        padding: 10px 0px 10px 15px;
    }
    .loca_blk_text p {
        font-size: 12px;
        letter-spacing: 0.01em;
    }
    .loca_box .flex .pc_only img:last-of-type {
        width: auto;
    }
    .loca_box .flex .sp_only img:last-of-type {
       width: 95%; 
    }
    .sec04 {
        padding-bottom: 20px;
    }
    .access_bgi {
        width: 100%;
        background-image: url(../img/sp/access_bgi_sp.jpg);
        height: auto;
        padding: 60px 0 90px;
    }
    .access_box {
        width: 100%;
    }
    .access_box img {
        width: 48.5%;
        height: 100%;
        padding-bottom: 10px;
        padding-right: 0;
    }
    .access_box img:nth-of-type(2) {
        padding-bottom: 10px;
    }
    .access_img img {
        width: 100%;
    }
    .access_box .flex {
        display: flex;
    }
    .sec06 {
        padding: 60px 0;
    }
    .sec06 .flex {
        display: flex;
    }
    .model_box div {
        width: 48.5%;
    }
    .model_box div p {
        font-size: 12px;
    }
    .model_box div:first-of-type img {
        padding-right: 0;
    }
    .model_blk img:first-of-type {
        margin-right: 0;
    }
    .model_box_img img {
        padding-bottom: 20px;
    }
    .flex.model_blk {
        display: block;
    }
    .model_blk img {
        width: 100%;
        padding: 15px 20px;
    }
    .model_blk img:first-of-type {
        margin-bottom: 15px;
    }
    .model_img {
        padding: 25px 0;
    }
    .outline_bgi {
        width: 100%;
        background-image: url(../img/sp/outline_bgi_sp.jpg);
        height: auto;
        padding: 60px 0 80px;
    }
    .outline_table table th,
    .outline_table table td {
        font-size: 14px;
        padding: 15px 10px;
    }
    .outline_table table th {
        width: 27%;
    }
    .flex.foot_btn {
        display: flex;
    }
    .foot_btn {
        padding: 40px 0;
    }
    .foot_btn img {
        width: 90%;
        margin: 0 auto;
    }
    .video_box {
        padding-top: 40px;
        display: block;
    }
    .video_box video {
        width: 100%;
    }
    .video_box video:first-of-type {
        margin-bottom: 50px;
    }
}

@media (max-width: 415px) {
    .outline_table table th, 
    .outline_table table td {
        padding: 15px 8px;
    }
}

@media (max-width: 391px) {
    .outline_table table th {
        padding: 15px 4px;
    }
}

@media (max-width: 376px) {
    .top_tit h2 {
        font-size: 32px;
    }
    .loca_blk_text p {
        font-size: 11px;
        letter-spacing: 0em;
    }
    .outline_table table th, 
    .outline_table table td {
        font-size: 12px;
    }
}