@charset "utf-8";
/*
Theme Name: 日光国立公園マウンテンランニング大会
Theme URI: null
Description: Description
Author: 81bridge - WXJ
Version: 1.0
*/
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@300;400;500;700;900&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@300;400;500;700;900&family=Roboto:wght@300;400;500;700;900&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Mr+Dafoe&display=swap');
/*------------------------------------------------------------
    デフォルトスタイル
------------------------------------------------------------*/
html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, font, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td {
    margin: 0;
    padding: 0;
    background: transparent;
    border: 0;
    outline: 0;
    font-size: 1em;
}
html {
    font-size: 62.5%;
}
body, table, input, textarea, select, option {
    font-family: 'Noto Sans JP', sans-serif;
}

.roboto {
    font-family: 'Roboto', sans-serif;
}

.dafoe {
    font-family: 'Mr Dafoe', cursive;
}
article, aside, canvas, details, figcaption, figure, footer, header, hgroup, menu, nav, section, summary {
    display: block;
}
ol, ul {
    list-style: none;
}
blockquote, q {
    quotes: none;
}
:focus {
    outline: 0;
}
ins {
    text-decoration: none;
}
del {
    text-decoration: line-through;
}
img {
    vertical-align: top;
    max-width: 100%;
    height: auto;
}
a,
a:link {
    color: #333;
    text-decoration: none;
}
a:visited {
    color: #333;
}
a:hover {
    color: #333;
}
a:active {
    color: #333;
}
/*------------------------------------------------------------
    レイアウト
------------------------------------------------------------*/
body {
    min-width: 1280px;
    color: #333;
    font-size: 1.4rem;
    line-height: 1.5;
    text-size-adjust: none;
    -webkit-text-size-adjust: none;
    background-color: #F9F9F9;
}
body.fixed {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    overflow-y: scroll;
}
#container {
    text-align: left;
    overflow: hidden;
}
#main {
    margin-bottom: 40px;
}
a[href^="tel:"] {
    cursor: default;
    pointer-events: none;
}
@media all and (min-width: 897px) {
    .sp {
        display: none !important;
    }
}
@media all and (max-width: 896px) {
    body {
        min-width: inherit;
    }
    a:hover,
    a:hover img {
        opacity: 1 !important;
    }
    .pc {
        display: none !important;
    }
    a[href^="tel:"] {
        cursor: pointer;
        pointer-events: auto;
    }
}
/*------------------------------------------------------------
    ヘッダー
------------------------------------------------------------*/
#gHeader {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 1000;
    transition: all ease 0.3s;
}
#gHeader.fixed {
    background-color: #000000;
}
.hInner {
    height: 80px;
    display: flex;
    align-items: center;
    justify-content: space-between;
}
.hInner h1 {
    padding-left: 24px;
}
.menu {
    position: fixed;
    top: 0;
    right: 0;
    z-index: 1001;
}
.menu.on a {
    display: block;
    background: url("img/common/close.png") no-repeat center center;
    background-size: 80px auto;
}
.menu.on a img {
    visibility: hidden;
}
.menuBox {
    display: none;
    position: fixed;
    top: 0;
    right: 0;
    width: 360px;
    background-color: #000000;
    z-index: 1000;
    padding: 0 40px;
    box-sizing: border-box;
    height: 100%;
    color: white;
    overflow-y: auto;
}
.menuBox a {
    color: white;
}
.menuBox a:hover {
    opacity: 0.7;
}
.menuBox .sub {
    margin: 117px 0 31px;
    padding: 0 0 1px 32px;
    border-left: 3px solid #BF9A4E;
}
.menuBox .link {
    margin-bottom: 9px;
    position: relative;
    top: -7px;
}
.menuBox .link a {
    color: #BF9A4E;
    font-size: 1.2rem;
}
.menuBox .link a span {
    margin-bottom: -3px;
    display: block;
    font-size: 3rem;
    font-weight: bold;
    line-height: 1.2;
}
.menuBox .naviUl li {
    margin-bottom: 16px;
}
.menuBox .naviUl a {
    padding-left: 25px;
    font-size: 1.6rem;
    background: url("img/common/ico_link.png") no-repeat left center;
    background-size: 16px auto;
}
.menuBox .fBox {
    margin: 30px 0 15px;
    padding: 33px 0;
    border-top: 1px solid #707070;
    border-bottom: 1px solid #707070;
}
.menuBox form > div {
    padding-bottom: 100px;
    display: flex;
}
.menuBox input[type="text"] {
    appearance:none;
    -moz-appearance:none;
    -webkit-appearance:none;
    border-radius: 4px 0 0 4px;
    height: 40px;
    color: white;
    border: 1px solid #E0E0E0;
    box-sizing: border-box;
    font-size: 1.6rem;
    padding: 0 50px 0 10px;
    width: calc(100% - 40px);
    background-color: transparent;
}
.menuBox input[type="submit"] {
    appearance:none;
    -moz-appearance:none;
    -webkit-appearance:none;
    border-radius: 0 4px 4px 0;
    height: 40px;
    border: none;
    box-sizing: border-box;
    padding: 0 10px;
    width: 40px;
    cursor: pointer;
    background: url("img/common/ico_search.png") no-repeat center center #fff;
    background-size: 24px auto;
}
.menuBox input::-webkit-input-placeholder { /* WebKit browsers */
    color: #666;
    opacity:1;
}

.menuBox input:-moz-placeholder { /* Mozilla Firefox 4 to 18 */
    color: #666;
    opacity:1;
}

.menuBox input::-moz-placeholder {
    color: #666;
    opacity:1;
}

.menuBox input:-ms-input-placeholder { /* Internet Explorer 10+ */
    color: #666;
    opacity:1;
}
@media all and (max-width: 896px) {
    #gHeader {
    }
    .hInner h1 {
        width: 208px;
        padding-left: 16px;
    }
    .menuBox {
        width: 100%;
    }
    .menuBox .sub {
        margin: 54px 0 30px;
    }
}
/*------------------------------------------------------------
    フッター
------------------------------------------------------------*/
#gFooter {
    padding: 24px 0;
    text-align: center;
    color: white;
    background-color: black;
}
#gFooter .content {
    max-width: 1100px;
}
.fBox {
    border-bottom: 1px solid #333333;
    padding-bottom: 25px;
    margin-bottom: 52px;
    display: flex;
    align-items: center;
    justify-content: center;
}
.fBox p {
    padding-right: 8px;
    font-size: 1.6rem;
    font-weight: bold;
}
.fBox ul {
    display: flex;
}
.fBox ul li {
	width: 41px;
    margin: 0 4px;
}
.fBox ul a:hover img {
    opacity: 0.7;
}
.fInner {
    padding-top: 20px;
    margin-top: 16px;
    background: url("img/common/bg01.png") repeat-x center top;
    background-size: auto 4px;
}
.fInner p {
    margin-bottom: 4px;
    font-size: 1rem;
}
address {
    font-style: normal;
    font-size: 1rem;
}
@media all and (max-width: 896px) {
    .fBox {
        margin-bottom: 20px;
    }
}

/*------------------------------------------------------------
    汎用スタイル
------------------------------------------------------------*/
/* clearfix */  
.clearfix:after {content: "";display: block;clear: both;}
/* flex */  
.flex,.flexA,.flexB,.flexC {display: flex;flex-wrap: wrap;}
.flexA {justify-content: space-around;}
.flexB {justify-content: space-between;}
.flexC {justify-content: center;}
/*------------------------------------------------------------
    content
------------------------------------------------------------*/
.content {
    max-width: 1020px;
    margin: 0 auto;
    padding: 0 16px;
}
@media all and (max-width: 896px) {
}

/*------------------------------------------------------------
    headLine01
------------------------------------------------------------*/
.headLine01 {
    margin-bottom: 24px;
    padding-bottom: 19px;
    font-size: 3rem;
    position: relative;
}
.headLine01:after {
    width: 50px;  
    height: 2px;
    background-color: #BF9A4E;
    position: absolute;  
    bottom: 0;
    left: 0;  
    content: ""; 
}
@media all and (max-width: 896px) {
    .headLine01 {
        font-size: 2.4rem;
    }
}

/*------------------------------------------------------------
    mainImg
------------------------------------------------------------*/
.mainImg {
    margin-bottom: 39px;
    height: 380px;
    box-sizing: border-box;
    display: flex;
    align-items: flex-end;
    color: white;
    background: url("img/common/main_img.jpg") no-repeat center center;
    background-size: cover;
}
.mainImg h2 {
    padding-bottom: 48px;
    font-size: 1.6rem;
    text-align: center;
    position: relative;
}
.mainImg h2:after {
    width: 1px;  
    height: 40px;
    background-color: white;
    position: absolute;  
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    content: ""; 
}
.mainImg h2 .txtSpan {
    margin-bottom: 13px;
    display: block;
    font-size: 5rem;
    line-height: 1;
}
@media all and (max-width: 896px) {
    .mainImg {
        padding-bottom: 0;
        height: 240px;
        background-image: url("img/common/sp_main_img.jpg");
    }
    .mainImg h2 {
        padding-bottom: 33px;
        font-size: 1.2rem;
    }
    .mainImg h2:after {
        height: 20px;
    }
    .mainImg h2 .txtSpan {
        margin-bottom: 11px;
        font-size: 4rem;
    }
}


/*------------------------------------------------------------
    news
------------------------------------------------------------*/
.content02 {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}
#conts {
    width: 696px;
}
.newsUl a {
    padding: 16px 16px 15px;
    display: block;
    border-bottom: 1px solid #E5E5E5;
    background: url("img/common/icon01.png") no-repeat right 20px top 22px;
    background-size: 7px auto;
}
.newsUl .on a {
    background-color: #F2EADB;
}
.newsUl dl {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}
.newsUl dt {
    padding-top: 4px;
    width: 80px;
    margin-right: 14px;
    font-size: 1rem;
    font-weight: bold;
    color: black;
    font-family: 'Roboto', sans-serif;
}
.newsUl dd {
    padding-right: 20px;
    flex: 1;
}
.newsUl {
    margin-bottom: 41px;
}
.wp-pagenavi {
    clear: both;
    padding: 14px 0 16px;
    text-align: center;
    border-top: 1px solid #E5E5E5;
    border-bottom: 1px solid #E5E5E5;
}
.wp-pagenavi a, 
.wp-pagenavi span {
/*    margin: 0 -2px;*/
    display: inline-flex;
    text-align: center;
    align-items: center;
    vertical-align: middle;
    justify-content: center;
    text-decoration: none;
    padding: 3px;
    min-width: 32px;
    min-height: 32px;
    color: #222;
    box-sizing: border-box;
}
.wp-pagenavi .first, 
.wp-pagenavi .last, 
.wp-pagenavi .pages {
    display: none;
}
.wp-pagenavi .extend {
    margin: 0 8px;
    min-width: inherit;
    min-height: inherit;
    background: none;
    border: none;
    vertical-align: 2px;
}
.wp-pagenavi .nextpostslink,
.wp-pagenavi .previouspostslink {
}
.wp-pagenavi .previouspostslink {
    margin-right: 7px;
    width: 32px;
    height: 32px;
    background: url("img/common/ico_back.png") no-repeat center center;
    background-size: 32px auto;
}
.wp-pagenavi .nextpostslink {
    margin-left: 4px;
    width: 32px;
    height: 32px;
    background: url("img/common/ico_next.png") no-repeat center center;
    background-size: 32px auto;
}
.wp-pagenavi .previouspostslink.none {
    pointer-events: none;
    opacity: 0.1;
}
.wp-pagenavi .nextpostslink.none {
    pointer-events: none;
    opacity: 0.1;
}
.wp-pagenavi .current {
    background-color: #F2EADB;
}
#sideBar {
    margin-top: -2px;
    width: 237px;
}
#sideBar .sTtl {
    padding-bottom: 5px;
    font-size: 2rem;
    font-weight: bold;
    border-bottom: 2px solid #333333;
}
.sList {
    margin-bottom: 40px;
    border-bottom: 1px solid #E5E5E5;
}
.sList a {
    padding: 16px 25px 15px 15px;
    display: block;
    color: #222222;
    background: url("img/common/icon01.png") no-repeat right 20px center;
    background-size: 7px auto;
    border-top: 1px solid #E5E5E5;
}
#sideBar .sList a {
    padding: 15px 25px 15px 8px;
    background-position: right 11px center;
}
#sideBar .sList .txtSpan {
    display: block;
    font-weight: bold;
    font-size: 1rem;
    font-family: 'Roboto', sans-serif;
}
.sList .roboto a {
    font-weight: bold;
}
.sList .on a {
    background-color: #F2EADB;
}

@media all and (min-width: 897px) {
    #sideBar .magazineUl {
        display: block;
        padding: 16px 0 0;
    }
    #sideBar .magazineUl li {
        width: auto;
        margin-bottom: 16px;
    }
}

@media all and (max-width: 896px) {
    .content02 {
        display: block;
    }
    #conts {
        margin-bottom: 40px;
        width: auto;
    }
    .newsUl {
        margin-bottom: 40px;
        border-top: 1px solid #E5E5E5;
    }
    .newsUl a {
        padding: 10px 8px;  
        background-position: right 12px center;
    }
    .newsUl dl {
        display: block;
    }
    .newsUl dt {
        width: auto;
        margin: 0 0 1px;
    }
    .newsUl dd {
        padding-bottom: 6px;
    }
    .wp-pagenavi {
        margin: 0 -16px;
    }
    #sideBar {
        width: auto;
    }
    #sideBar .magazineUl {
        margin-top: 15px;
    }
    .sList a {
        padding: 16px 15px 15px 8px;
        background-position: right 11px center;
    }
    #sideBar .sList a {
        padding: 15px 25px 15px 8px;
    }
}

/*------------------------------------------------------------
    magazine
------------------------------------------------------------*/
.magazine .mainImg {
    background-image: url("img/magazine/main_img.jpg");
}
.magazineUl {
    padding-bottom: 15px;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}
.magazineUl li {
    margin-bottom: 24px;
    width: 48.3%;
}
.magazineUl li a {
    display: block;
}
.magazineUl li a:hover {
    opacity: 0.7;
}
.magazineUl li .photo {
    margin-bottom: 7px;
    position: relative;
}
.magazineUl li .photo .date {
    font-size: 1rem;
    font-weight: bold;
    display: inline-block;
    background-color: #F9F9F9;
    padding: 2px 8px;
    position: absolute;
    bottom: 0;
    left: 0;
}
.magazineUl li .subPhoto {
    padding-bottom: 52.4%;
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;
}
.magazineUl li p {
    font-weight: bold;
}
.detailBox {
    padding-top: 1px;
}
.detailBox .photo {
    margin-bottom: 16px;
    position: relative;
}
.detailBox .photo img {
    width: 100%;
}
.detailBox .photo .date {
    margin: 0;
    position: absolute;
    bottom: 0;
    left: 0;
    display: inline-block;
    font-size: 1rem;
    font-weight: bold;
    background-color: white;
    padding: 2px 8px;
}
.detailBox h3 {
    margin-bottom: 40px;
    font-size: 3rem;
}
.detailBox p {
    margin-bottom: 21px;
}
.detailBox .date {
    margin: 0 8px 17px;
    font-size: 1rem;
    font-weight: bold;
    font-family: 'Roboto', sans-serif;
}
.detailBox p a {
    color: #BB0000;
    text-decoration: underline;
}
.comBox {
    margin-top: 39px;
    border-top: 1px solid #E5E5E5;
}
.comBox .sub01 {
    margin-bottom: 15px;
    padding: 16px;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
    border-bottom: 1px solid #E5E5E5;
}
.comBox .sub01 p {
    margin: 0;
    font-size: 1rem;
    color: #B2B2B2;
}
.comBox .sub01 p .txtSpan {
    font-size: 2rem;
    color: #333333;
    margin-right: 8px;
    font-weight: bold;
    line-height: 1;
    vertical-align: -2px;
}
.comBox .sub01 ul {
    display: flex;
}
.comBox .sub01 li {
    margin-left: 8px;
}
.comBox .sub01 li a:hover img {
    opacity: 0.5;
}
.comBox .pageList {
    padding: 0 15px 16px;
    position: relative;
    overflow: hidden;
    border-bottom: 1px solid #E5E5E5;
}
.comBox .pageList:after {
    width: 1px;  
    height: 84%;
    background-color: #E5E5E5;
    position: absolute;  
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    content: ""; 
}
.comBox .pageList li {
    width: 50%;
    float: left;
}
.comBox .pageList li:nth-child(2n) {
    float: right;
}
.comBox .pageList li a {
    display: block;
    padding: 7px 15px 7px 25px;
    background: url("img/common/icon03.png") no-repeat left 6px center;
    background-size: 7px auto;
}
.comBox .pageList li a:hover {
    opacity: 0.7;
}
.comBox .pageList .liStyle a {
    padding: 7px 25px 7px 17px;
    background: url("img/common/icon01.png") no-repeat right 6px center;
    background-size: 7px auto;
}
.comBox .pageList li a .txtSpan {
    margin-bottom: 2px;
    display: block;
    color: black;
    font-size: 1rem;
    font-weight: bold;
}
@media all and (max-width: 896px) {
    .magazine .mainImg {
        background-image: url("img/magazine/sp_main_img.jpg");
    }
    .magazineUl li {
        width: 47.6%;
        margin-bottom: 15px;
    }
    .magazineUl li .photo {
        margin-bottom: 8px;
    }
    .magazineUl {
        padding-bottom: 23px;
    }
    .detailBox h3 {
        margin-bottom: 65px;
        font-size: 2.4rem;
    }
    .comBox {
        margin: 40px -16px 0;
    }
    .comBox .sub01 {
        margin-bottom: 0;
    }
    .comBox .pageList {
        display: block;
        padding: 0;
    }
    .comBox .pageList li {
        float: none !important;
        width: auto;
        border-bottom: 1px solid #E5E5E5;
    }
    .comBox .pageList li:last-child {
        border-bottom: none;
    }
    .comBox .pageList::after {
        display: none;
    }
    .comBox .pageList li a {
        padding: 15px 25px 15px 16px;
        background: url("img/common/icon01.png") no-repeat right 20px center;
        background-size: 7px auto;
    }
    .comBox .pageList .liStyle a {
        padding: 15px 16px 15px 40px;
        background: url("img/common/icon03.png") no-repeat left 20px center;
        background-size: 7px auto;
    }
    .detailBox .photo {
        margin: -39px -16px 16px;
    }
    .detailBox .photo .date {
        left: 16px;
    }
}

/*------------------------------------------------------------
    archive
------------------------------------------------------------*/
.archivePage .mainImg {
    background-image: url("img/archive/main_img.jpg");
}
.archivePage .inner {
    margin-bottom: 9px;
    display: flex;
    flex-wrap: wrap;
    background-color: white;
}
.archivePage .inner .photoBox {
    width: 672px;
    order: 2;
}
.archivePage .inner .textBox {
    padding: 30px 38px;
    flex: 1;
    display: flex;
    align-items: center;
}
.archivePage .inner .textBox .sub {
    width: 270px;
    padding-top: 13px;
}
.archiveDate {
    margin-bottom: 5px;
    font-size: 1rem;
    font-weight: bold;
    color: #BF9A4E;
    font-family: 'Roboto', sans-serif;
}
.archiveDate .txtSpan {
    font-size: 4rem;
    margin-right: 15px;
    line-height: 1;
}
.archiveDate .txtSpan span {
    font-size: 7rem;
}
.comList li:first-child a {
    border-top: 1px solid #E5E5E5;
}
.comList a {
    display: block;
    color: #222;
    background: url("img/common/icon01.png") no-repeat right 13px center;
    background-size: 7px auto;
    padding: 16px 25px 15px 10px;
    border-bottom: 1px solid #E5E5E5;
}
.archiveBox {
    margin: -39px 0 40px;
    background: url("img/common/bg.jpg") repeat center center;
}
.archiveBox .content {
    padding: 20px 0 15px;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
}
.archiveBox .archiveDate {
    width: 240px;
    margin-right: 20px;
}
.archiveBox .archiveDate .txtSpan {
    font-size: 5rem;
    margin-right: 30px;
}
.archiveBox .archiveDate .txtSpan span {
    font-size: 10rem;
}
.archiveBox .list {
    margin-top: -5px;
    display: flex;
    justify-content: flex-end;
    flex: 1;
}
.archiveBox .list li {
    width: 163px;
    box-sizing: border-box;
    padding: 8px 22px 8px 15px;
    border-left: 1px solid #fff;
}
.archiveBox .list li:last-child {
    border-right: 1px solid #fff;
}
.archiveBox .list li a {
    display: block;
    color: white;
    background: url("img/common/icon02.png") no-repeat right center;
    background-size: 7px auto;
}
.archiveBox .list li a:hover {
    opacity: 0.7;
}
.headLine02 {
    margin-bottom: 24px;
    padding-bottom: 18px;
    font-size: 3rem;
    position: relative;
}
.headLine02:after {
    width: 50px;  
    height: 2px;
    background-color: #BF9A4E;
    position: absolute;  
    bottom: 0;
    left: 0;  
    content: ""; 
}
.archiveInner p {
    margin-bottom: 15px;
}
.archiveInner .movie {
    max-width: 860px;
    margin: 0 auto 40px;
}
.archiveInner .movie .sub {
    text-align: center;
}
.archiveInner .movie p {
    margin-top: 7px;
    font-size: 1rem;
}
.archiveInner .movie p span {
    display: block;
    font-size: 1.4rem;
    margin-bottom: 5px;
}
.archivePage .photoList {
    margin-bottom: 30px;
    display: flex;
    flex-wrap: wrap;
}
.archivePage .photoList li {
    width: 31.8%;
    margin-bottom: 10px;
}
.archivePage .photoList li:nth-child(3n-1) {
    margin-left: 2.3%;
    margin-right: 2.3%;
}
.archivePage .photoList li a {
    display: block;
    box-shadow: 0px 5px 10px rgba(0, 0, 0, 0.1);
}
.archivePage .photoList li .sub {
    padding: 15px 16px 16px;
}
.archivePage .photoList li .sub span {
    display: inline-block;
    padding-right: 25px;
    background: url("img/common/icon04.png") no-repeat;
    background-size: 16px auto;
}
.archivePage .photoList li .photo {
    padding-bottom: 100%;
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;
}
.comLink {
    margin: 0 auto;
    width: 200px;
}
.comLink a {
    display: block;
    border: 1px solid #333333;
    border-radius: 50px;
    text-align: center;
    padding: 5px 5px 4px;
    font-weight: bold;
}
.comLink a .span02 {
    display: none;
}

@media all and (max-width: 896px) {
    .archivePage .inner {
        display: block;
    }
    .archivePage .inner .photoBox {
        width: auto;
    }
    .archivePage .inner .photoBox img {
        width: 100%;
    }
    .archivePage .inner .textBox {
        display: block;
        padding: 0;
    }
    .archivePage .inner .textBox .sub {
        width: auto;
        padding: 0;
    }
    .archiveDate {
        margin: -50px 0 -2px;
    }
    .archiveDate .txtSpan {
        font-size: 5rem;
        margin-right: 19px;
    }
    .archiveDate .txtSpan span {
        font-size: 10rem;
    }
    .comList a {
        padding: 16px 25px 15px 8px;
    }
    .archivePage .mainImg {
        background-image: url("img/archive/sp_main_img.jpg");
    }
    .archiveBox .content {
        display: block;
        padding: 10px 16px 16px;
    }
    .archiveBox .archiveDate .txtSpan {
        font-size: 3rem;
        margin-right: 26px;
    }
    .archiveBox .archiveDate .txtSpan span {
        font-size: 5rem;
    }
    .archiveBox .list {
        margin: 0;
        justify-content: flex-start;
    }
    .archiveBox .archiveDate {
        width: auto;
        margin: 0 0 10px;
    }
    .archiveBox .list li {
        width: 145px;
        padding: 3px 12px 4px 8px;
    }
    .archiveInner .movie {
        margin-bottom: 37px;
        max-width: inherit;
    }
    .archiveInner .movie .sub iframe {
        width: 100%;
    }
    .archiveInner .movie p {
        line-height: 2.1;
    }
    .archiveInner .movie p span {
        line-height: 1.1;
    }
    .archiveInner .movie p {
        margin-top: 9px;
    }
    .archivePage .photoList {
        padding: 0 2px;
        display: block;
    }
    .archivePage .photoList li {
        width: auto;
        margin: 0 0 9px !important;
    }
    .archivePage .photoList li a {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        background-color: white;
        justify-content: space-between;
    }
    .archivePage .photoList li .photo {
        width: 24.8%;
        padding-bottom: 24.4%;
    }
    .archivePage .photoList li .sub {
        flex: 1;
    }
    .headLine02 {
        font-size: 2.4rem;
    }
}

/*------------------------------------------------------------
    nikko_guide
------------------------------------------------------------*/
.nikko_guide .mainImg {
    background-image: url("img/nikko_guide/main_img.jpg");
}
.guideUl {
    padding-top: 41px;
    margin: 0 20px;
    display: flex;
    flex-wrap: wrap;
}
.guideUl > li {
    width: 284px;
    margin-bottom: 10px;
}
.guideUl > li:nth-child(3n-1) {
    margin-left: 64px;
    margin-right: 64px;
}
.guideUl li .photoBox {
    margin-bottom: 16px;
    position: relative;
}
.guideUl li .photoBox .txtSpan {
    position: absolute;
    top: -30px;
    left: -10px;
    font-size: 5rem;
    line-height: 1;
    color: #BF9A4E;
    font-family: Mr Dafoe;
}
.guideUl li .photo {
    padding-bottom: 133.4%;
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;
}
.guideUl .headLine02 {
    margin-bottom: 14px;
    font-size: 2.4rem;
}
.guideUl .headLine02::after {
    width: 30px;
    height: 1px;
}
.guideUl p {
    margin-bottom: 15px;
}
.guideUl .comList {
    margin-bottom: 16px;
}
.guideUl .comLink a {
    font-size: 1.4rem;
}
.nikkoBox {
    margin: -39px 0 40px;
    border-bottom: 1px solid #E5E5E5;
}
.nikkoBox ul {
    display: flex;
    flex-wrap: wrap;
}
.nikkoBox ul li {
    width: 335px;
}
.nikkoBox ul li:nth-child(3n-1) {
    margin-left: 7px;
    margin-right: 7px;
}
.nikkoBox ul a {
    font-size: 1.8rem;
    font-weight: bold;
    padding: 20px 0;
    color: #333333;
    text-align: center;
    display: block;
    position: relative;
    border-bottom: 4px solid #CCCCCC;
}
.nikkoBox ul a:after {
    width: 12px;  
    height: 8px;
    background: url("img/common/icon05.png") no-repeat;
    background-size: 100% auto;
    position: absolute;  
    bottom: -4px;
    left: 50%;
    opacity: 0;
    transform: translateX(-50%);
    content: ""; 
}
.guideList {
    margin-bottom: 40px;
    display: flex;
    flex-wrap: wrap;
}
.guideList li {
    padding: 7px 15px 7px 16px;
    border-right: 1px solid #E5E5E5;
}
.guideList li:first-child {
    border-left: 1px solid #E5E5E5;
}
.guideList li a {
    padding-right: 25px;
    display: block;
    background: url("img/common/icon06.png") no-repeat right center;
    background-size: 16px auto;
}
.guideList li a:hover {
    opacity: 0.7;
}
.headLine03 {
    margin-bottom: 16px;
    font-size: 2.4rem;
}
.headLine03::after {
    width: 30px;
    height: 1px;
}
.nikko_guide .inner {
    margin-bottom: 9px;
    background-color: white;
    padding: 40px;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}
.nikko_guide .inner .photoBox {
    margin-left: 40px;
    width: 320px;
    order: 2;
}
.nikko_guide .inner .photoBox img {
    width: 100%;
}
.nikko_guide .inner .textBox {
    margin-top: -2px;
    flex: 1;
}
.nikko_guide .inner .textBox p {
    margin-bottom: 30px;
}
.guideDl {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    border-top: 1px solid #E5E5E5;
}
.guideDl dt {
    padding: 7px 5px 8px 0;
    font-weight: bold;
    width: 100px;
    box-sizing: border-box;
    border-bottom: 1px solid #E5E5E5;
}
.guideDl dd {
    padding: 7px 5px 8px 8px;
    width: calc(100% - 100px);
    box-sizing: border-box;
    border-bottom: 1px solid #E5E5E5;
}
.guideDl dd .redLink {
    color: #BB0000;
    text-decoration: underline;
}
.nikko_guide .innerBox {
    margin-bottom: 39px;
}
.nikko_guide .btmBox {
    border-top: 1px solid #E5E5E5;
}
.btmList {
    display: flex;
    flex-wrap: wrap;
}
.btmList li {
    width: 33.33%;
}
.btmList li a {
    padding: 10px;
    display: flex;
    justify-content: center;
    align-items: center;
    height: 170px;
    text-align: center;
    font-size: 1.6rem;
    font-weight: bold;
    color: white;
    position: relative;
    box-sizing: border-box;
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;
}
.btmList li a:hover {
    opacity: 0.7;
}
.btmList li a:after {
    width: 100%;  
    height: 100%;
    background-color: rgba(0,0,0,0.7);
    position: absolute;  
    top: 0;
    right: 0;  
    content: ""; 
}
.btmList li.on a:after {
    display: none;
}
.btmList li a span {
    width: 100%;    
    position: relative;
    z-index: 1;
}
.btmList .li01 a {
    background-image: url("img/nikko_guide/detail_photo05.jpg");
}
.btmList .li02 a {
    background-image: url("img/nikko_guide/detail_photo06.jpg");
}
.btmList .li03 a {
    background-image: url("img/nikko_guide/detail_photo07.jpg");
}
.btmList .li03 a::after,
.btmList .li02 a::after {
    background-color: rgba(0,0,0,0.7);
}
.nikkoBox ul .on a {
    color: #BF9A4E;
    border-color: #BF9A4E;
}
.nikkoBox ul .on a::after {
    opacity: 1;
}

@media all and (max-width: 896px) {
    .nikko_guide .mainImg {
        background-image: url("img/nikko_guide/sp_main_img.jpg");
    }
    .guideUl {
        margin: 0;
        display: block;
    }
    .guideUl > li {
        width: auto;
        margin: 0 0 72px !important;
    }
    .guideUl > li:last-child {
        margin-bottom: 0 !important;
    }
    .guideUl li .photoBox .txtSpan {
        left: 10px;
    }
    .guideUl li .photo {
        padding-bottom: 100%;
    }
    .guideUl .headLine02 {
        font-size: 2rem;
    }
    .nikkoBox ul {
        margin: 0 -2px;
    }
    .nikkoBox ul li {
        margin: 0 2px !important;
        width: calc(33.333% - 4px);
    }
    .nikkoBox ul a {
        font-size: 1.2rem;
        padding: 13px 0;
    }
    .guideList li {
        padding: 3px 7px 7px 8px;
        width: 33.33%;
        box-sizing: border-box;
    }
    .guideList li a {
        padding-right: 15px;
        font-size: 1.4rem;
    }
    .headLine03 {
        font-size: 2rem !important;
    }
    .nikko_guide .headLine03 {
        font-size: 2rem;
    }
    .guideList {
        margin-bottom: 35px;
    }
    .nikko_guide .inner {
        margin-bottom: 8px;
        display: block;
        padding: 0;
    }
    .nikko_guide .inner .photoBox {
        width: auto;
        margin: 0;
    }
    .nikko_guide .inner .textBox {
        margin: 0;
        padding: 14px 16px 16px;
    }
    .nikko_guide .inner .textBox p {
        margin-bottom: 16px;
        line-height: 1.42;
    }
    .guideDl {
        display: block;
    }
    .guideDl dt {
        padding-bottom: 0;
        padding-right: 0;
        width: auto !important;
        border-bottom: none;
    }
    .guideDl dd {
        line-height: 1.42;
        width: auto !important;
        padding: 0 0 8px;
    }
    .nikko_guide .btmBox {
        border: none;
    }
    .nikko_guide .btmBox .content {
        padding: 0;
    }
    .btmList {
        display: block;
    }
    .btmList li {
        width: auto;
    }
    
    
}

/*------------------------------------------------------------
    volunteer
------------------------------------------------------------*/
.volunteer .mainImg {
    background-image: url("img/volunteer/main_img.jpg");
}
.volunteer p {
    margin-bottom: 21px;
}
.volunteer .text {
    margin-bottom: 39px;
}
.volunteer h3 {
    margin-bottom: 24px;
    padding: 18px 0 18px;
    font-size: 3rem;
    position: relative;
}
.volunteer h3:after {
    width: 50px;  
    height: 2px;
    background-color: #BF9A4E;
    position: absolute;  
    bottom: 0;
    left: 0;  
    content: ""; 
}
.volunteerUl {
    margin-bottom: 16px;
    padding-top: 3px;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}
.volunteerUl li {
    margin-bottom: 24px;
    width: 498px;
}
.volunteerUl li a {
    display: block;
    height: 100%;
    box-sizing: border-box;
    padding: 19px 35px 17px 25px;
    font-size: 1.8rem;
    font-weight: bold;
    background: white url("img/common/icon06.png") no-repeat right 23px center;
    background-size: 16px auto;
    box-shadow: 0px 5px 10px rgba(0, 0, 0, 0.1);
}
.volunteerUl li a:hover {
    opacity: 0.7;
}
.volunteerUl li a .txtSpan {
    margin-bottom: 7px;
    display: inline-block;
    font-size: 1.2rem;
    color: white;
    padding: 2px 8px;
    background-color: #BF9A4E;
    border-radius: 20px;
}
.volunteerUl li a .txtSpan02 {
    background-color: #B2B2B2;
}
.volunteerUl li a .txtSpan03 {
    background-color: #6E8838;
}
.volunteer .innerBox {
    border-top: 1px solid #E5E5E5;
}
.volunteer .inner {
    padding: 40px 0 40px;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    border-bottom: 1px solid #E5E5E5;
}
.volunteer .inner:last-child {
    border-bottom: none;
    padding-bottom: 0;
}
.volunteer .inner:first-child {
    padding-top: 35px;
}
.volunteer .inner .photoBox {
    margin-right: 25px;
    width: 325px;
}
.volunteer .inner .photoBox .ttl {
    margin: -40px 0 17px;
    font-size: 2.4rem;
    font-weight: bold;
}
.volunteer .inner .photoBox .ttl span {
    padding: 15px 13px 18px 0;
    display: inline-block;
    position: relative;
    background-color: #F9F9F9;
}
.volunteer .inner .photoBox .ttl span:after {
    width: 30px;  
    height: 1px;
    background-color: #BF9A4E;
    background-size: 8px 12px;
    position: absolute;  
    bottom: 0;
    left: 0;  
    content: ""; 
}
.volunteer .inner .photoBox dl {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}
.volunteer .inner .photoBox dt {
    font-weight: bold;
    width: 72px;
    box-sizing: border-box;
    padding-right: 5px;
}
.volunteer .inner .photoBox dd {
    margin: -2px 0 10px;
    width: calc(100% - 72px);
}
.volunteer .inner .photoBox dd img {
    width: 24px;
}
.volunteer .inner .textBox {
    flex: 1;
    padding: 45px 40px 40px;
    background-color: #FFFFFF;
}
.volunteer .guideDl dt {
    width: 120px;
    padding: 15px 5px 16px 0;
}
.volunteer .guideDl dd {
    width: calc(100% - 120px);
    padding: 15px 5px 16px 20px;
}
.comLinkBox {
    padding: 16px;
    background-color: #F2EADB;
}


@media all and (max-width: 896px) {
    .volunteer .mainImg {
        background-image: url("img/volunteer/sp_main_img.jpg");
    }
    .volunteer h3 {
        font-size: 2.4rem;
        margin-bottom: 24px;
        padding-bottom: 18px;
        position: relative;
    }
    .volunteerUl {
        margin-bottom: 40px;
        padding-top: 11px;
        display: block;
    }
    .volunteerUl li {
        margin-bottom: 8px;
        width: auto;
    }
    .volunteerUl li a {
        padding: 11px 35px 17px 16px;
        background-position: right 15px center;
    }
    .volunteer .inner:first-child {
        padding-top: 40px;
    }
    .volunteer .inner {
        display: block;
        border-bottom: none;
        padding-bottom: 0;
    }
    .volunteer .inner .photoBox {
        width: auto;
        margin: 0 0 7px;
    }
    .volunteer .inner .photoBox > img {
        width: 100%;
    }
    .volunteer .inner .photoBox .ttl span {
        padding-right: 20px;
    }
    .volunteer .inner .textBox {
        padding: 0;
    }
    .volunteer .guideDl dt {
        font-size: 1.2rem;
        padding: 15px 16px 8px;
    }
    .volunteer .guideDl dd {
        padding: 0 16px 16px;
        line-height: 1.5;
    }
}


/*------------------------------------------------------------
    runner
------------------------------------------------------------*/
.runner .mainImg {
    background-image: url("img/runner/main_img.jpg");
}
.runner .inner {
    background-color: white;
    max-width: 940px;
    margin: 0 auto 40px;
    padding: 32px 40px 39px;
    box-sizing: border-box;
}
.runner .inner .ttl {
    margin-bottom: 43px;
    font-size: 1.6rem;
    font-weight: bold;
    color: #000000;
    padding-bottom: 6px;
    border-bottom: 1px solid #E5E5E5;
}
.runner .subInner {
    margin-bottom: 25px;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}
.runner .subInner .sub {
    width: 48%;
    display: flex;
    flex-wrap: wrap;
}
.runner .subInner .sub p {
    margin-right: 17px;
    width: 60px;
    text-align: center;
    color: black;
    font-size: 1.2rem;
    font-weight: bold;
}
.runner .subInner .sub p .num {
    margin-bottom: 2px;
    display: block;
    font-size: 5rem;
    line-height: 1;
}
.runner .subInner .textList {
    padding-top: 7px;
}
.runner .subInner .textList li {
    padding: 0 0 15px 18px;
    display: flex;
    position: relative;
}
.runner .subInner .textList li:before {
    width: 10px;  
    height: 10px;
    background-color: #BF9A4E;
    position: absolute;  
    top: 5px;
    left: 0;  
    border-radius: 100%;
    content: ""; 
}
.runner .subInner .textList li .date {
    margin-right: 10px;
    min-width: 85px;
    flex-shrink: 0;
}
.barrierDl {
    padding: 14px 16px 16px;
    background-color: #F5F6F9;
}
.barrierDl dt {
    font-weight: bold;
    margin-bottom: 7px;
}
.runnerList {
    margin-bottom: 38px;
}
.runnerList li {
    margin-bottom: 7px;
    text-indent: -1.4em;
    padding-left: 1.4em;
}
.runnerList li a {
    color: #BB0000;
    text-decoration: underline;
}
.runnerList li .ico {
    margin-right: 5px;
}
.runnerLink {
    margin: 0 auto 40px;
    width: 498px;
    border-radius: 50px;
}
.runnerLink a {
    padding: 18px 20px 25px 60px;
    display: block;
    box-shadow: 0px 5px 10px rgba(0, 0, 0, 0.1);
    border-radius: 50px;
    text-align: center;
    font-size: 1.2rem;
    color: white;
    position: relative;
    background: url("img/common/img01.png") no-repeat center center #bf9a4e;
    background-size: cover;
}
.runnerLink a img {
    vertical-align: middle;
    margin-left: 6px;
}
.runnerLink a:hover {
    opacity: 0.7;
}
.runnerLink a:after {
    width: 80px;  
    height: 80px;
    background: url("img/common/img02.png") no-repeat;
    background-size: 100% auto;
    position: absolute;  
    top: 50%;
    transform: translateY(-50%);
    left: 10px;  
    content: ""; 
}
.runnerLink a .txtSpan {
    display: block;
    font-size: 2.4rem;
    font-weight: bold;
}
.runnerLink small {
    font-size: 1rem;
    color: #B2B2B2;
    display: block;
    margin-top: 15px;
    text-align: center;
}
.runnerBox {
    padding: 17px 0 0;
    border-top: 1px solid #E5E5E5;
}
.runnerBox ul {
    display: flex;
    flex-wrap: wrap;
}
.runnerBox ul li {
    width: 50%;
    text-align: center;
    border-right: 1px solid #E5E5E5;
    box-sizing: border-box;
}
.runnerBox ul li:first-child {
    border-left: 1px solid #E5E5E5;
}
.runnerBox ul li a {
    padding: 15px 10px 19px;
    display: flex;
    justify-content: center;
    font-size: 1.6rem;
    font-weight: bold;
    align-items: center;
}
.runnerBox ul li a:hover {
    opacity: 0.7;
}
.runnerBox ul li img {
    flex-shrink: 0;
    vertical-align: -13px;
    margin-right: 10px;
}
.runnerBox ul li .txtSpan {
    display: block;
    font-size: 1rem;
    color: #B2B2B2;
    font-weight: normal;
}
.runnerBox .styleList li {
    width: 33.333%;
}
@media all and (max-width: 896px) {
    .runner .mainImg {
        background-image: url("img/runner/sp_main_img.jpg");
    }
    .runner .headLine02 {
        font-size: 2.4rem;
    }
    .runner .inner {
        padding: 15px;
    }
    .runner .inner .ttl {
        margin-bottom: 18px;
    }
    .runner .subInner {
        margin-bottom: -4px;
        display: block;
    }
    .runner .subInner .sub {
        margin-bottom: 4px;
        width: auto;
        display: block;
    }
    .runner .subInner .sub p {
        width: auto;
        display: flex;
        margin: 0 0 10px;
        font-size: 1.2rem;
        align-items: flex-end;
    }
    .runner .subInner .sub p .num {
        font-size: 4rem;
        margin: 0 8px -5px 0;
    }
    .runner .headLine03 {
        font-size: 2rem;
    }
    .runnerLink {
        width: auto;
    }
    .runnerLink a {
        background-image: url("img/common/sp_bg01.png");
        padding-left: 90px;
    }
    .runnerBox .content {
        padding: 0;
    }
    .runnerBox {
        padding: 0;
    }
    .runnerBox ul {
        display: block;
    }
    .runnerBox ul li {
        padding: 0;
        width: auto !important;
        border: none !important;
        border-bottom: 1px solid #E5E5E5 !important;
    }
    .runnerBox ul li a {
        padding: 15px 10px 17px;
    }
}

/*------------------------------------------------------------
    course
------------------------------------------------------------*/
.coursePage .mainImg {
    background-image: url("img/course/main_img.jpg");
}
.coursePage .nikkoBox {
    margin-bottom: 30px;
}
.coursePage .photo {
    margin-bottom: 24px;
}
.coursePage .tabBox {
    display: none;
}
.coursePage .content .tabBox:first-child {
    display: block;
}
.coursePage p {
    margin-bottom: 23px;
}
.coursePage h4 {
    margin-bottom: 17px;
    font-size: 1.6rem;
    font-weight: bold;
}
.charmBox {
    margin-bottom: 24px;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}
.charmBox .photoBox {
    margin-right: 25px;
    width: 498px;
}
.charmBox .photoBox img {
    width: 100%;
}
.charmBox .textBox {
    flex: 1;
}
.coursePage .runnerLink {
    padding-top: 16px;
}
.coursePage .tabBox ul {
    margin-bottom: 38px;
}
.coursePage .tabBox ul li {
    margin-bottom: 7px;
    text-indent: -1.3em;
    padding-left: 1.3em;
}
.coursePage .tabBox ul li .ico {
    margin-right: 5px;
}
.coursePage .tabBox ul li a {
    color: #BB0000;
    text-decoration: underline;
}
@media all and (min-width: 897px) {
    .coursePage .tabBox ul li a:hover {
        text-decoration: none;
    }
}
@media all and (max-width: 896px) {
    .coursePage .mainImg {
        background-image: url("img/course/sp_main_img.jpg");
    }
    .coursePage .nikkoBox {
        margin-bottom: 38px;
    }
    .coursePage .headLine02 {
        font-size: 2.4rem;
    }
    .coursePage .photo02 {
        width: 1020px;
    }
    .charmBox {
        display: block;
    }
    .charmBox .photoBox {
        width: auto;
        margin: 0 0 11px;
    }
}

/*------------------------------------------------------------
    sponsor
------------------------------------------------------------*/
.sponsor .mainImg {
    background-image: url("img/sponsor/main_img.jpg");
}
.sponsor p {
    margin-bottom: 21px;
}
.sponsor .ttl {
    font-size: 1.6rem;
    font-weight: bold;
    margin-bottom: 18px;
}
.sponsor .comLinkBox {
    margin-top: 40px;
}

@media all and (max-width: 896px) {
    .sponsor .mainImg {
        background-image: url("img/sponsor/sp_main_img.jpg");
    }
}

/*------------------------------------------------------------
    monitoring
------------------------------------------------------------*/
.monitoring .mainImg {
    background-image: url("img/monitoring/main_img.jpg");
}
.monitoring p {
    margin-bottom: 21px;
}
.monitoring p a {
    color: #BB0000;
    text-decoration: underline;
}
.monitoring .pdfBox {
    margin-top: 40px;
    padding-top: 40px;
    border-top: 1px solid #E5E5E5;
}
.monitoring .ttl {
    margin-bottom: 15px;
    font-weight: bold;
    font-size: 1.6rem;
}
.monitoring .runnerList li {
    margin-bottom: 9px;
}
@media all and (max-width: 896px) {
    .monitoring .mainImg {
        background-image: url("img/monitoring/sp_main_img.jpg");
    }
}


/*------------------------------------------------------------
    contact
------------------------------------------------------------*/
.contact .mainImg {
    margin-bottom: 40px;
    background-image: url("img/contact/main_img.jpg");
}
.mailForm {
    max-width: 860px;
    margin: 0 auto;
    background-color: white;
    padding: 40px;
    box-sizing: border-box;
}
.mw_wp_form .mailForm .error {
    font-size: inherit;
    color: inherit;
}
.contactDl dt {
    margin-bottom: 16px;
    font-size: 1.6rem;
    color: #222222;
    font-weight: bold;
}
.contactDl dt .must {
    display: inline-block;
    width: 28px;
    color: white;
    font-size: 1rem;
    background-color: #BF9A4E;
    border-radius: 4px;
    text-align: center;
    font-weight: normal;
    padding-bottom: 1px;
    vertical-align: 2px;
    margin-left: 7px;
}
.contactDl dd {
    font-size: 1.4rem;
    margin-bottom: 16px;
}
.contactDl dd a {
    color: #AC2217;
    text-decoration: underline;
}
.contactDl select {
    appearance:none;
    -moz-appearance:none;
    -webkit-appearance:none;
    border-radius: 4px;
    height: 40px;
    border: 1px solid #E5E5E5;
    box-sizing: border-box;
    font-size: 1.6rem;
    padding: 0 3px;
    width: 100%;
    background: url("img/common/icon06.png") no-repeat right 8px center;
    background-size: 16px auto;
}
.contactDl .edd-root {
    border-radius: 4px;
    height: 40px;
    border: 1px solid #E5E5E5;
    box-sizing: border-box;
    font-size: 1.6rem;
    padding: 0 3px;
    width: 100%;
    background: url("img/common/icon06.png") no-repeat right 8px center;
    background-size: 16px auto;
}
.contactDl .edd-root .edd-option {
    font-size: 1.6rem;
    padding: 0 8px;
    color: #333333;
}
.contactDl .edd-root .edd-option:first-child {
    padding-top: 8px;
}
.contactDl .edd-root .edd-option:last-child {
    padding-bottom: 8px;
}
.contactDl .edd-root .edd-option-focused:not(.edd-option-disabled) {
    color: inherit;
}
.contactDl .edd-root .edd-option-selected::before {
    display: none;
}
.contactDl .edd-root .edd-head {
    border-bottom: 0;
}
.contactDl .edd-root .edd-head .edd-value {
    padding: 8px 25px 8px 4px;
}
.contactDl .edd-root::after,
.contactDl .edd-arrow {
    display: none;
}
select::-ms-expand { display: none; }
.contactDl textarea {
    appearance:none;
    -moz-appearance:none;
    -webkit-appearance:none;
    border-radius: 4px;
    height: 200px;
    border: 1px solid #E5E5E5;
    box-sizing: border-box;
    font-size: 1.6rem;
    padding: 6px 7px;
    resize: vertical;
    width: 100%;
}
.contactDl input[type="password"],
.contactDl input[type="tel"],
.contactDl input[type="email"],
.contactDl input[type="text"] {
    appearance:none;
    -moz-appearance:none;
    -webkit-appearance:none;
    border-radius: 4px;
    height: 40px;
    border: 1px solid #E5E5E5;
    box-sizing: border-box;
    font-size: 1.6rem;
    padding: 0 8px;
    width: 100%;
}
.contactDl textarea::-webkit-input-placeholder,
.contactDl input::-webkit-input-placeholder {
    color: #B2B2B2;
    opacity:1;
}
.contactDl textarea:-moz-placeholder,
.contactDl input:-moz-placeholder { 
    color: #B2B2B2;
    opacity:1;
}
.contactDl textarea::-moz-placeholder,
.contactDl input::-moz-placeholder {
    color: #B2B2B2;
    opacity:1;
}
.contactDl textarea:-ms-input-placeholder,
.contactDl input:-ms-input-placeholder { 
    color: #B2B2B2;
    opacity:1;
}
.contactDl .txtSpan {
    margin: 7px 0;
    display: block;
}
.checkP {
    margin-bottom: 15px;
    text-align: center;
}
.checkP input {
    margin-top: 0;
    vertical-align: middle;
    margin-right: 10px;
}
.submit {
    padding: 17px 20px;
    text-align: center;
    background-color: #F2EADB;
}
.submit li {
    display: inline-block;
    margin: 0 3px;
}
.submit li input {
    appearance:none;
    -moz-appearance:none;
    -webkit-appearance:none;
    width: 200px;
    height: 32px;
    border-radius: 40px;
    text-align: center;
    cursor: pointer;
    color: #333333;
    font-size: 1.4rem;
    font-weight: bold;
    background-color: transparent;
    border: 1px solid #333333;
    font-family: 'Roboto', sans-serif;
}
.contactDl .error[type="password"],
.contactDl .error[type="email"],
.contactDl .error[type="text"],
.contactDl .error[type="tel"],
.contactDl .error {
    border-color: #AC2217;
}
.mailForm .errorSpan {
    display: block;
    margin-top: 3px;
    color: #BB0000;
}
.thanksBox p {
    margin-bottom: 21px;
}
.thanksBox .ttl {
    font-size: 1.6rem;
    font-weight: bold;
    color: #222222;
    margin-bottom: 15px;
}
.contactDl .radioBox .mwform-radio-field {
    display: block;
    margin: 3px 0 !important;
}
.contactDl .radioBox .mwform-radio-field input {
    margin-top: 0;
    vertical-align: middle;
    margin-right: 4px;
}
.contact.confirm dd,
.entryPage.confirm dd {
    border-radius: 4px;
    border: 1px solid #E5E5E5;
    box-sizing: border-box;
    font-size: 1.6rem;
    padding: 6px 7px;  
}
.confirm .contactDl dd {
    background-color: #F5F6F9 !important;
    border-color: #F5F6F9 !important;
}
.confirm .contactDl dt .must {
    display: none;
}
.edd-root-open-below .edd-body {
    top: 109%;
    border: 1px solid #E5E5E5;
    box-shadow: none;
    border-radius: 5px;
    left: -1px;
    right: -1px;
}
@media all and (max-width: 896px) {
    .contact .mainImg {
        margin-bottom: 43px;
        background-image: url("img/contact/sp_main_img.jpg");
    }
    .mailForm {
        max-width: inherit;
        margin: 0 15px;
        padding: 13px 16px;
    }
    .entryPage .mailForm {
        margin: 25px 0 0;
    }
    .contactDl dd {
        margin-bottom: 15px;
    }
    .submit li {
        display: block;
        margin: 0 0 10px;
    }
    .submit li:last-child {
        margin-bottom: 0;
    }
}

/*------------------------------------------------------------
    entry
------------------------------------------------------------*/
.entryPage .mainImg {
    background-image: url("img/entry/main_img.jpg");
}
.entryPage .mailForm {
    margin-top: 25px;
}
.entryPage .thanksBox {
    margin-bottom: 37px;
}
@media all and (max-width: 896px) {
    .entryPage .mainImg {
        background-image: url("img/entry/sp_main_img.jpg");
    }
}

/*------------------------------------------------------------
    index
------------------------------------------------------------*/
.index .topBox {
    position: relative;
}
.index .topBox .fooUl {
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
}
.index .topBox .fooUl:after {
    width: 100%;  
    height: 100%;
    background-color: rgba(0,0,0,0.5);
    position: absolute;  
    top: 0;
    left: 0;  
    content: ""; 
}
.index .topBox .fooUl li {
    height: 100%;
    background: url("img/index/main_img.jpg") no-repeat center;
    background-size: cover;
}
.index .topBox .fooUl li.video {
    overflow: hidden;
    background: none;
    position: relative;
}
.index .topBox .fooUl li.video #player {
    position: absolute;
}
.index .mainVisual {
    position: relative;
    z-index: 1;
    color: white;
    height: 100%;
    display: flex;
    align-items: center;
    text-align: center;
    justify-content: center;
}
.index .innerBox .splitTxt {
    overflow: hidden;
    display: block;
}
.index .innerBox .splitTxt span {
    display: inline-block;
    opacity: 0;
    -webkit-transform: translateY(100%);
    transform: translateY(100%);
    transition: all 1.2s cubic-bezier(0.215, 0.61, 0.355, 1) 0s;
}
.index .innerBox .splitTxt.on span {
    opacity: 1;
    -webkit-transform: translateY(0);
    transform: translateY(0);
}
.index .innerBox .subBox {
    margin-top: -40px;
    width: 100%;
}
.index .innerBox .textImg {
    opacity: 0;
    margin-bottom: 10px;
}
.index .innerBox .txt {
    margin-bottom: 10px;
    padding-bottom: 60px;
    position: relative;
    display: inline-block;
}
.index .innerBox .txt .txtSpan {
    display: inline-block;
    font-size: 5.4rem;
    font-weight: bold;
    line-height: 1;
}
.index .innerBox .txt .txtSpan span.bigTxt {
    display: block;
    font-size: 7.5rem;
}
.index .innerBox .txt .img {
    opacity: 0;
    position: absolute;
    bottom: 0;
    right: 0;
}
.index .innerBox .txt02 {
    font-size: 2rem;
}
.index .innerBox .txt02 .txtSpan01 {
    display: block;
    font-size: 1.2rem;
    margin: 2px 0 -3px;
    font-weight: bold;
}
.index .innerBox .txt02 .txtSpan02 {
    display: block;
    font-size: 2.6rem;
}
.index .topBox {
    position: relative;
}
.index .topBox .runnerLink {
    margin: 0 -40px 0 0;
    width: 360px;
    position: absolute;
    bottom: -28px;
    right: 0;
    z-index: 1;
    background-color: #bf9a4e;
}
.index .topBox .ulBox {
    position: absolute;
    bottom: -50px;
    left: 0;
    width: 100%;
    z-index: 1;
    margin: -50px auto 0;
}
.index .topBox .ulBox ul {
    margin: 0 auto;
    max-width: 1020px;
    display: flex;
    flex-wrap: wrap;
    box-shadow: 0px 5px 10px rgba(0, 0, 0, 0.1);
    background-color: white;
}
.index .topBox .ulBox li {
    width: 33.333%;
    text-align: left;
    border-right: 1px solid #E5E5E5;
    box-sizing: border-box;
}
.index .topBox .ulBox li a {
    padding: 21px 40px 25px 24px;
    display: block;
    font-size: 1.2rem;
    background: url("img/common/icon01.png") no-repeat right 27px center #fff;
    background-size: 7px auto;
}
.index .topBox .ulBox li a:hover {
    opacity: 0.7;
}
.index .topBox .ulBox li span {
    display: block;
    font-size: 2.4rem;
    font-weight: bold;
}
.headLine04 {
    margin-bottom: 8px;
    text-align: center;
    font-size: 3rem;
    color: #000000;
}
.indexBox {
    padding: 85px 0 6px;
    background: url("img/index/bg01.png") no-repeat center top;
    background-size: 100% auto;
}
.pickUp .jsBox {
    width: calc(50% + 510px);
    margin-left: auto;
}
.jsSub {
    display: flex;
    align-items: center;
}
.jsSub .numUl {
    margin-top: -4px;
    padding-bottom: 12px;
    display: flex;
    align-items: flex-end;
}
.jsSub .numUl li {
    margin-right: 8px;
    font-size: 2rem;
    font-weight: bold;
    color: #B2B2B2;
    line-height: 1;
}
.jsSub .numUl li.on {
    font-size: 3rem;
    color: #BF9A4E;
}
.pickUp .arrowBox {
    margin: 0 0 8px 11px;
    display: flex;
}
.pickUp .arrowBox > div {
    cursor: pointer;
    margin-right: 8px;
    width: 32px;
    height: 32px;
    box-sizing: border-box;
    border: 1px solid #333333;
    border-radius: 100%;
    position: relative;
}
.pickUp .arrowBox .prev {
    background: url("img/common/icon03.png") no-repeat center;
    background-size: 7px auto;
}
.pickUp .arrowBox .next {
    background: url("img/common/icon01.png") no-repeat center;
    background-size: 7px auto;
}
.pickUp .arrowBox .prev.none {
    pointer-events: none;
    border-color: #E5E5E5;
    background-image: url("img/common/icon09.png");
}
.pickUp .arrowBox .next.none {
    pointer-events: none;
    border-color: #E5E5E5;
    background-image: url("img/common/icon08.png");
}
.fooList .slick-slide > div {
    margin-right: 24px;
    width: 237px;
}
.fooList li .photo {
    margin-bottom: 7px;
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;
    padding-bottom: 100%;
}
.fooList li a {
    display: block;
}
.fooList li a:hover {
    opacity: 0.7;
}
.fooList li p {
    font-size: 1.2rem;
    line-height: 1.75;
}
.fooList li .ttl {
    margin-bottom: 2px;
    font-size: 1.4rem;
    font-weight: bold;
    line-height: 1.5;
}
.magazineSec {
    padding: 34px 0;
}
.magazineSec .headLine04 {
    margin-bottom: 35px;
}
.magazineSec .inner {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}
.magazineSec .magazineUl {
    padding-bottom: 7px;
    width: 48.8%;
}
.magazineSec .magazineUl:first-child {
    display: block;
}
.magazineSec .magazineUl:first-child li {
    margin: 0 !important;
    width: auto;
}
.magazineSec .magazineUl li {
    width: 47.6%;
}
.newsSec {
    padding: 35px 0 40px;
    background-color: white;
}
.newsSec .headLine04 {
    margin-bottom: 35px;
}
.newsSec .newsUl {
    margin-bottom: 25px;
}
.archiveSec {
    padding: 35px 0 40px;
    background: url("img/index/photo18.jpg") no-repeat center center;
    background-size: cover;
}
.archiveSec h2 {
    margin-bottom: 45px;
    color: white;
    text-align: center;
}
.archiveSec .sub {
    display: flex;
    align-items: center;
    justify-content: space-between;
}
.archiveSec .sub .photoBox {
    order: 2;
    width: 65.9%;
    margin-left: -20%;
}
.archiveSec .sub .photoBox img {
    width: 100%;
}
.archiveSec .sub .textBox {
    margin-top: 25px;
    width: 411px;
    box-sizing: border-box;
    padding: 20px;
    position: relative;
    z-index: 1;
    background-color: rgba(255,255,255,0.8);
}
.archiveSec .archiveDate {
    margin: 0 15px -68px;
    position: relative;
    top: -70px;
}
.archiveSec .archiveDate .txtSpan {
    font-size: 5rem;
}
.archiveSec .archiveDate .txtSpan span {
    font-size: 10rem;
}
.archiveSec .sub .list {
    margin-bottom: 20px;
    display: flex;
    justify-content: center;
}
.archiveSec .sub .list li {
    margin: 0 16px;
    width: 60px;
    text-align: center;
}
.archiveSec .sub .list li a {
    display: block;
    font-weight: bold;
}
.archiveSec .sub .list li .img {
    display: block;
    margin-bottom: 6px;
}
.sponsorSec {
    margin-bottom: -24px;
    padding: 35px 0 0;
}
.sponsorSec h2 {
    margin-bottom: 35px;
}
.sponsorSec h3 {
    margin-bottom: 16px;
    font-size: 1.6rem;
    color: #222222;
}
.sponsorSec .list {
    margin-bottom: 22px;
    display: flex;
    flex-wrap: wrap;
}
.sponsorSec .list li {
    width: 324px;
    margin-bottom: 10px;
}
.sponsorSec .list li:nth-child(3n-1) {
    margin-left: 24px;
    margin-right: 24px;
}
.sponsorSec .list li a:hover img {
    opacity: 0.7;
}
.sponsorSec p {
    margin-bottom: 31px;
}
.sponsorSec .bannerUl {
    display: flex;
    flex-wrap: wrap;
}
.sponsorSec .bannerUl li {
    width: 150px;
    margin: 0 24px 24px 0;
}
.sponsorSec .bannerUl li:nth-child(6n) {
    margin-right: 0;
}
.sponsorSec .bannerUl li a:hover img {
    opacity: 0.7;
}
@media all and (max-width: 896px) {
    .index .topBox {
        height: 758px !important;
    }
    .index .topBox .fooUl li.video,
    .index .topBox .slick-list .slick-slide li,
    .index .topBox .slick-list .slick-slide > div,
    .index .topBox .slick-list .slick-slide,
    .index .topBox .slick-list > div,
    .index .topBox .slick-list {
        height: 100% !important;
    }
    .index .innerBox .txt .txtSpan .splitTxt {
        font-size: 3.4rem;
    }
    .index .innerBox .txt .txtSpan span.bigTxt {
        font-size: 4.8rem;
    }
    .index .innerBox .textImg {
        margin: 0 auto 5px;
        max-width: 215px;
    }
    .index .innerBox .txt .img {
        width: 190px;
        bottom: 3px;
        right: 4px;
    }
    .index .innerBox .txt {
        margin-bottom: 23px;
        padding-bottom: 37px;
    }
    .index .topBox .ulBox {
        margin: 0 0 43px;
        padding: 5px 15px 0;
        display: block;
        position: relative;
        bottom: auto;
        left: auto;
        box-sizing: border-box;
    }
    .index .mainVisual {
        display: block;
        padding: 158px 0;
    }
    .index .topBox .ulBox ul {
        display: block;
    }
    .index .topBox .ulBox li {
        width: auto;
        border-right: none;
        border-bottom: 1px solid #E5E5E5;
    }
    .index .topBox .ulBox li a {
        display: flex;
        align-items: center;
        padding: 12px 16px;
        background-position: right 20px center;
    }
    .index .topBox .ulBox li span {
        margin-right: 8px;
    }
    .index .topBox .runnerLink {
        bottom: auto;
        margin: 0;
        right: -10px;
        width: 330px;
    }
    .index .topBox .runnerLink a {
        border-radius: 50px 0 0 50px;
    }
    .indexBox {
        padding: 35px 0 6px;
        position: relative;
        z-index: 10;
        background-image: url("img/index/sp_bg01.png");
    }
    .fooList .slick-slide > div {
        margin-right: 16px;
    }
    .indexBox .pickUp {
        padding: 0 16px;
    }
    .magazineSec .inner {
        margin-bottom: -6px;
        display: block;
    }
    .magazineSec .magazineUl {
        width: auto;
        padding-bottom: 15px;
    }
    .newsSec .newsUl a {
        padding-left: 0;
        padding-right: 0;
    }
    .newsSec .newsUl {
        margin-bottom: 41px;
    }
    .newsSec {
        padding-bottom: 43px;
    }
    .archiveSec {
        background-image: url("img/index/sp_bg02.jpg");
    }
    .archiveSec .sub {
        display: block;
    }
    .archiveSec .sub .photoBox {
        width: auto;
        margin: 0;
    }
    .archiveSec h2 {
        margin-bottom: 36px;
    }
    .archiveSec .sub .textBox {
        margin: 0;
        width: auto;
    }
    .archiveSec .archiveDate {
        margin: 0 -20px -68px;
    }
    .sponsorSec .list {
        display: block;
        margin-bottom: 32px;
    }
    .sponsorSec .list li {
        width: auto;
        margin: 0 0 8px !important;
    }
    .sponsorSec .list li img {
        width: 100%;
    }
    .sponsorSec .bannerUl {
        margin: 0 -1px;
    }
    .sponsorSec .bannerUl li {
        margin: 0 1px 4px;
        width: calc(33.333% - 2px);
    }
    .sponsorSec .bannerUl li img {
        width: 100%;
    }
    .sponsorSec {
        margin-bottom: 0;
    }
}

/*------------------------------------------------------------
	about
------------------------------------------------------------*/
.aboutPage .mainImg {
    background-image: url("img/about/main_img.jpg");
}
.aboutPage p {
    margin-bottom: 21px;
}
.aboutPage .headLine02 {
    padding-top: 18px;
}
.overview {
    background-color: white;
    max-width: 860px;
    padding: 40px;
    box-sizing: border-box;
    margin: 0 auto;
}
.overviewDl {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}
.overviewDl dt {
    font-weight: bold;    
    width: 135px;
    box-sizing: border-box;
    padding: 16px 10px 15px 0;
    border-top: 1px solid #E5E5E5;
}
.overviewDl dd {
    padding: 16px 0 15px 5px;
    box-sizing: border-box;
    width: calc(100% - 135px);
    border-top: 1px solid #E5E5E5;
}
.overviewDl dd a {
    color: #BB0000;
    text-decoration: underline;
}
@media all and (max-width: 896px) {
    .aboutPage .mainImg {
        background-image: url("img/about/sp_main_img.jpg");
    }
    .overview {
        padding: 0;
    }
    .overviewDl {
        display: block;
        border-bottom: 1px solid #E5E5E5;
    }
    .overviewDl dt {
        padding: 15px 15px 9px;
        width: auto !important;
        font-size: 1.2rem;
        border-bottom: none;
    }
    .overviewDl dd {
        padding: 0 15px 15px;
        width: auto !important;
        border-bottom: none;
        border-top: none;
    }
}
/*------------------------------------------------------------
	privacy
------------------------------------------------------------*/
.privacy .mainImg {
    background-image: url("img/privacy/main_img.jpg");
}
.privacy p {
    margin-bottom: 30px;
}
.privacy .text {
    margin-bottom: 14px;
}
.privacy .list {
    margin-bottom: 30px;
}
.privacy .list02 {
    margin-bottom: 15px;
}
.privacy .list li {
    margin-bottom: 9px;
    text-indent: -1.4em;
    padding-left: 1.4em;
}
.privacy .list li .ico {
    margin-right: 6px;
}
@media all and (max-width: 896px) {
    .privacy .mainImg {
        background-image: url("img/privacy/sp_main_img.jpg");
    }
}

/*------------------------------------------------------------
	access
------------------------------------------------------------*/
.access .mainImg {
    background-image: url("img/access/main_img.jpg");
}
.access p {
    margin-bottom: 16px;
}
.access .map {
    margin-bottom: 39px;
    height: 300px;
}
.access .textImg {
    margin-bottom: 39px;
    text-align: center;
}
.access .photoBox {
    max-width: 860px;
    margin: 0 auto 40px;
}
.access .photoBox span {
    display: block;
    margin-top: 15px;
}
.access .overview .ttl {
    padding: 8px 8px;
    background-color: #F2EADB;
}
.access .overview .ttl02 {
    margin-bottom: 0;
}
.access .overview .ttl .txtSpan {
    font-size: 1.6rem;
    margin-right: 8px;
    font-weight: bold;
    display: inline-block;
}
.access .overview .txt {
    margin-bottom: 0;
    font-size: 1rem;
    padding-bottom: 8px;
    border-bottom: 1px solid #E5E5E5;
}
.access .overview .txt .txtSpan {
    font-size: 1.6rem;
    font-weight: bold;
    color: #222;
    display: inline-block;
    vertical-align: -5px;
    margin-right: 8px;
}
.access .overviewDl {
    margin-bottom: 18px;
}
.access .overviewDl02 {
    margin-bottom: 38px;
}
.access .overviewDl dt {
    padding: 7px 5px 8px 0;
    border-top: none;
    font-weight: normal;
    width: 166px;
    border-bottom: 1px solid #E5E5E5;
}
.access .overviewDl dd {
    width: calc(100% - 166px);
    padding: 7px 5px 8px 17px;
    border-top: none;
    position: relative;
    border-bottom: 1px solid #E5E5E5;
}
.access .overviewDl dd .txtSpan {
    display: inline-block;
}
.access .overviewDl dd .txtSpan:after {
	width: 1px;  
    background-color: #E5E5E5;
	position: absolute;  
	top: 12px;
	left: 0;  
    bottom: 12px;
	content: ""; 
}
.access .overview {
    padding-bottom: 22px;
}
.access {
    padding-bottom: 64px;
}

@media all and (max-width: 896px) {
    .access .mainImg {
        background-image: url("img/access/sp_main_img.jpg");
    }
    .access .map {
        height: 83.33vw;
        margin-bottom: 41px;
    }
    .access .textImg {
        margin: -9px 0 38px;
    }
    .access .overview .ttl .txtSpan {
        display: block;
        margin: 0;
    }
    .access .overview .txt {
        font-size: 1.4rem;
        padding: 0 8px 8px;
    }
    .access .overview .txt .txtSpan {
        vertical-align: 0;
    }
    .access .overviewDl dt {
        padding: 6px 8px 5px;
        font-size: 1.4rem;
        border-bottom: none;
    }
    .access .overviewDl dd {
        padding: 2px 8px 7px;
    }
    .access .overviewDl dd .txtSpan::after {
        display: none;
    }
    .access .overviewDl dd:last-child {
        border-bottom: none;
    }
    .access .overviewDl02 {
        margin-bottom: 0;
    }
    .access .overviewDl:last-child {
        margin-bottom: 0;
    }
    .access .overview {
        padding-bottom: 0;
    }
    .access {
        padding-bottom: 0;
    }
}

/*------------------------------------------------------------
	covid
------------------------------------------------------------*/
.covid .mainImg {
    background-image: url("img/covid/main_img.jpg");
}
.covid .date {
    padding: 2px 0 6px;
    text-align: right;
    font-size: 1rem;
    color: #B2B2B2;
}
.covid .inner {
    padding-bottom: 40px;
    margin-bottom: 40px;
    border-bottom: 1px solid #E5E5E5;
}
.covid .inner:last-child {
    border-bottom: none;
    margin-bottom: 0;
    padding-bottom: 0;
}
.covid .inner p {
    margin-bottom: 15px;
}
.covid .inner p:last-child {
    margin-bottom: 0;
}
.covid .inner .ttl {
    margin-bottom: 16px;
    font-size: 1.6rem;
    font-weight: bold;
}
.comUl {
    margin-bottom: 16px;
}
.comUl li {
    margin-bottom: 7px;
    text-indent: -2.1em;
    padding-left: 2.1em;
}
.comUl02 li {
    text-indent: -1.7em;
    padding-left: 1.7em;    
}
.comUl li a {
    color: #AC2217;
    text-decoration: underline;
}
.comUl .txtSpan {
    margin-right: 11px;
}
.covid .textImg {
    margin-bottom: 15px;
    text-align: center;
}
.covid .overview {
    padding-bottom: 22px;
}
@media all and (max-width: 896px) {
    .covid .mainImg {
        background-image: url("img/covid/sp_main_img.jpg");
    }
    .covid .textImg {
        padding-top: 5px;
    }
    .covid .overview {
        padding: 15px;
    }
}

@media all and (min-width: 897px) {
    .comUl li a:hover {
        text-decoration: none;
    }
}


/*------------------------------------------------------------
	overview
------------------------------------------------------------*/
.overviewPage .mainImg {
    background-image: url("img/overview/main_img.jpg");
}
.overviewPage .overview {
    margin-bottom: 40px;
}
.overviewPage p {
    margin-bottom: 16px;
}
.overviewPage .comLink {
    margin-bottom: 30px;
}
.overviewPage .runnerList {
    margin-bottom: 30px;
}
@media all and (max-width: 896px) {
    .overviewPage .mainImg {
        background-image: url("img/overview/sp_main_img.jpg");
    }
}

/*------------------------------------------------------------
	concept
------------------------------------------------------------*/
.concept .mainImg {
    margin-bottom: 0;
    border-bottom: 1px solid #fff;
    background-image: url("img/concept/main_img.jpg");
}
.concept .topBox {
    padding: 39px 0 43px;
    border-bottom: 1px solid #4D4D4D;
}
.concept .topBox .content {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
}
.concept .topBox .content .photoBox {
    margin-right: 40px;
    width: 48.8%;
}
.concept .topBox .content .photoBox img {
    width: 100%;
}
.concept .topBox .content .textBox {
    padding: 40px 10px 0 0;
    flex: 1;
    color: white;
}
.concept .topBox .content .textBox p {
    margin-bottom: 20px;
}
.concept .topBox .content .textBox p:last-child {
    margin-bottom: 0;
}
.concept .topBox .content .textBox .ttl {
    margin-bottom: 0;
    font-size: 2.4rem;
    font-weight: bold;
}
.concept .topBox .content .textBox h3 {
    margin-bottom: 17px;
    font-size: 3rem;
}
.place {
    display: flex;
    align-items: center;
    justify-content: space-between;
    border-bottom: 1px solid #4D4D4D;
}
.place .photoBox {
    order: 2;
    width: calc(50% - 186px);
}
.place .photoBox img {
    width: 100%;
}
.place .textBox {
    margin-top: -35px;
    width: calc(50% + 150px);
    color: white;
    display: flex;
    align-items: flex-start;
    justify-content: flex-end;
}
.place .textBox .sub {
    width: 660px;
}
.place .textBox p {
    margin-bottom: 16px;
}
.place .textBox h3 {
    margin-bottom: 32px;
    font-size: 3rem;
}
.place .textBox .txt {
    margin: 0 -38px -53px;
    font-size: 15rem;
    color: #5A4B2B;
    line-height: 1;
}
.place .textBox .txt02 {
    padding-top: 15px;
    font-size: 1.6rem;
    font-weight: bold;
}
.place .textBox .photo {
    margin: -10px 5px 0 0;
}
.place .textBox .photo img {
    width: 100%;
}
.course {
    display: flex;
    align-items: center;
    justify-content: space-between;
    border-bottom: 1px solid #4D4D4D;
}
.course img {
    width: 100%;
}
.course .photoBox {
    width: 36.4%;
}
.course .textBox {
    margin-top: -50px;
    padding: 0 0 0 52px;
    flex: 1;
    color: white;
}
.course .textBox .sub {
    width: 655px;
}
.course .textBox p {
    line-height: 1.45;
    margin-bottom: 20px;
}
.course .textBox p:last-child {
    margin-bottom: 0;
}
.course .textBox h3 {
    margin-bottom: 32px;
    font-size: 3rem;
}
.course .textBox .txt {
    margin: 0 -38px -53px;
    font-size: 15rem;
    color: #5A4B2B;
    line-height: 1;
}
.course .subBox {
    margin-bottom: 33px;
    margin-top: 32px;
    border: 1px solid #5A4B2B;
    border-radius: 8px;
    display: flex;
    flex-wrap: wrap;
    padding: 15px 10px 15px 16px;
    justify-content: space-between;
}
.course .subBox .photo {
    margin-right: 17px;
    width: 88px;
}
.course .subBox .photo img {
    border-radius: 100%;
}
.course .subBox .rBox {
    flex: 1;
}
.course .textBox .ttl {
    margin-bottom: 15px;
    font-size: 1.6rem;
    font-weight: bold;
}
.course .btmPhoto {
    margin-top: -12px;
}
.course02 {
    padding: 28px 0 8px;
    color: white;
}
.course02 h3 {
    margin-bottom: 32px;
    font-size: 3rem;
}
.course02 .txt {
    margin: 0 -42px -12px;
    font-size: 15rem;
    color: #5A4B2B;
    line-height: 1;
}
.course02 .inner {
    margin-bottom: 53px;
    position: relative;
}
.course02 .inner p {
    position: absolute;
    top: 0;
    left: 0;
    width: 324px;
    line-height: 1.46;
}
.course02 .imgBoxR {
    margin-bottom: 32px;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}
.course02 .imgBoxR .photoBox {
    order: 2;
    width: 66%;
    margin-left: 23px;
}
.course02 .imgBoxR .photoBox img {
    width: 100%;
}
.course02 .imgBoxR .textBox {
    flex: 1;
}
.course02 .imgBoxR .textBox p {
    line-height: 1.44;
}
.concept {
    margin-bottom: -40px;
    background: url("img/common/bg.jpg") repeat center center;
}






@media all and (max-width: 896px) {
    .concept {
        background-image: url("img/common/sp_bg.jpg");
    }
    .concept .mainImg {
        background-image: url("img/concept/sp_main_img.jpg");
    }
    .concept .topBox .content {
        display: block;
    }
    .concept .topBox .content .photoBox {
        width: auto;
        margin: 0 0 15px;
    }
    .concept .topBox .content .textBox {
        padding: 0;
    }
    .concept .topBox .content .textBox .ttl {
        line-height: 1.45;
        font-size: 2rem;
    }
    .concept .topBox .content .textBox h3 {
        font-size: 2.4rem;
    }
    .place {
        padding-bottom: 40px;
        display: block;
    }
    .place .photoBox {
        width: auto;
    }
    .concept .topBox {
        padding: 17px 0 40px;
    }
    .place .textBox {
        margin: -40px 16px 0;
        display: block;
        width: auto;
    }
    .place .textBox .sub {
        width: auto;
    }
    .place .textBox .txt {
        margin: 0 -13px -40px;
        font-size: 10rem;
    }
    .place .textBox h3 {
        font-size: 2.4rem;
    }
    .place .textBox p {
        margin-bottom: 18px;
        line-height: 1.43;
    }
    .place .textBox .photo {
        margin-right: 0;
    }
    .course {
        padding-bottom: 40px;
        display: block;
    }
    .course .photoBox {
        width: auto;
    }
    .course .textBox {
        margin: -40px 16px 0;
        padding: 0;
    }
    .course .textBox .txt {
        margin: 0 -13px -40px;
        font-size: 10rem;
    }
    .course .textBox h3 {
        font-size: 2.4rem;
    }
    .course .textBox .sub {
        width: auto;
    }
    .course .textBox p {
        line-height: 1.43;
    }
    .course .subBox .photo {
        width: 64px;
        margin-right: 8px;
    }
    .course .textBox .ttl {
        line-height: 1.46;
    }
    .course02 {
        padding: 20px 0 5px;
    }
    .course02 .txt {
        margin: 0 -16px -40px;
        font-size: 10rem;
    }
    .course02 h3 {
        margin-bottom: 16px;
        font-size: 2.4rem;
    }
    .course02 .inner p {
        position: relative;
        top: auto;
        left: auto;
        width: auto;
        margin-top: 15px;
        line-height: 1.44;
    }
    .course02 .inner {
        margin-bottom: 32px;
    }
    .course02 .inner .photo img {
        width: 100%;
    }
    .course02 .imgBoxR {
        display: block;
    }
    .course02 .imgBoxR .photoBox {
        width: auto;
        margin: 0 0 15px; 
    }  
}
@media all and (min-width: 897px) {
.overviewDl dd a:hover {
        text-decoration: none;
    }
    .submit li input:hover {
        background-color: #333333;
        color: white;
    }
    .contactDl dd a:hover {
        text-decoration: none;
    }
    .monitoring p a:hover {
        text-decoration: none;
    }
    .guideDl dd .redLink:hover {
        text-decoration: none;
    }
    .nikkoBox ul a:hover {
        color: #BF9A4E;
        border-color: #BF9A4E;
    }
    .nikkoBox ul a:hover::after {
        opacity: 1;
    }
    .comLink a:hover .span02 {
        display: block;
    }
    .comLink a:hover .span01 {
        display: none;
    }
    .comLink a:hover {
        color: white;
        background-color: #333333;
    }
    .archivePage .photoList li a:hover {
        background-color: #F2EADB;
    }
    .comList a:hover {
        background-color: #F2EADB;
    }
    .detailBox p a:hover {
        text-decoration: none;
    }
    .newsUl a:hover {
        background-color: #F2EADB;
    }
    .pickUp a:hover {
        background-color: #F2EADB;
    }
    .wp-pagenavi .nextpostslink:hover,
    .wp-pagenavi .previouspostslink:hover {
        border-radius: 100%;
        background-color: transparent;
    }
    .wp-pagenavi .nextpostslink:hover {
        background-image: url("img/common/ico_next-on.png");
    }
    .wp-pagenavi .previouspostslink:hover {
        background-image: url("img/common/ico_prev-on.png");
    }
    .sList a:hover {
        background-color: #F2EADB;
    }
    .runnerList li a:hover {
        text-decoration: none;
    }
    .pickUp .arrowBox .prev:hover {
        background-image: url("img/common/icon07.png");
        background-color: #333;
    }
    .pickUp .arrowBox .next:hover {
        background-image: url("img/common/icon02.png");
        background-color: #333;
    }
    .menuBox input[type="submit"]:hover {
        opacity: 0.7;
    }
    .wp-pagenavi a:hover {
        background-color: #F2EADB;
    }
    .coursePage .tabBox ul li a:hover {
        text-decoration: none;
    }

}

@media all and (max-width: 340px) {
    .guideList li a {
        font-size: 1.3rem;
    }
    .runnerLink a .txtSpan {
        font-size: 2rem;
    }
    .index .innerBox .txt .txtSpan .splitTxt {
        font-size: 3.0rem;
    }
}


.fadeInUp {
    opacity: 0;
	transform: translate(0,50px);
	-webkit-transition: all ease-in-out 0.8s;
    transition: all ease-in-out 0.8s;
}

.fadeInUp.on {
    opacity: 1;
	transform: translate(0, 0);
}


@media all and (-ms-high-contrast:none){
    .wp-pagenavi .page, .wp-pagenavi span {
        padding-top: 5px;
    }
}
.search .mainImg {
    background-image: url("img/search/main_img.jpg");
}
@media all and (max-width: 896px) {
    .search .mainImg {
        background-image: url("img/search/sp_main_img.jpg");
    }
}
.gsc-search-box-tools .gsc-search-box .gsc-input {
    color: #000;
}
/*------------------------------------------------------------
	comTitle
------------------------------------------------------------*/
.comTitle {
	margin-bottom: 9px;
	display: block;
	color: #BF9A4E;
	font-size: 2.4rem;
	font-weight: 500;
	line-height: 1;
}
@media all and (max-width: 896px) {
	.comTitle {
		font-size: 1.4rem;
	}
}
/*------------------------------------------------------------
	promotion
------------------------------------------------------------*/
.promotion .mainImg {
	margin-bottom: 30px;
	background-image: url(img/campaign/index/main_img.jpg);
}
.promotion .headLine02 {
	margin-bottom: 40px;
}
.promotion .campaignList {
	margin-top: -24px;
}
.promotion .campaignList li {
	margin: 24px 24px 0 0;
}
.promotion .campaignList li:nth-child(3n) {
	margin-right: 0;
}
.promotion .campaignList li a {
	display: block;
	width: 324px;
	height: 170px;
}
.promotion .campaignList li a:hover {
	opacity: 0.7;
}
.promotion .campaignList li a img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
@media all and (max-width: 896px) {
	.promotion .mainImg {
		margin-bottom: 32px;
		background-image: url(img/campaign/index/main_img_sp.jpg);
	}
	.promotion .headLine02 {
		margin-bottom: 38px;
	}
	.promotion .campaignList {
		margin-top: -8px;
		display: block;
	}
	.promotion .campaignList li {
		margin: 8px 0 0;
	}
	.promotion .campaignList li a {
		padding-bottom: 52.4%;
		position: relative;
		width: 100%;
		height: 0;
	}
	.promotion .campaignList li a img {
		position: absolute;
		top: 0;
		left: 0;
	}
}
/*------------------------------------------------------------
	faq
------------------------------------------------------------*/
.faq .mainImg {
	margin-bottom: 30px;
	background-image: url(img/faq/main_img.jpg);
}
.faq .headLine02 {
	margin-bottom: 40px;
}
.faq .linkList {
	margin-bottom: 32px;
	padding: 40px;
	background-color: #FFF;
}
.faq .linkList li {
	font-weight: 700;
}
.faq .linkList li a {
	padding: 15px 40px 16px 16px;
	display: block;
	border-top: 1px solid #E5E5E5;
	background: url(img/common/icon10.png) no-repeat right 18px center / 12px;
}
.faq .linkList li a:hover {
	opacity: 0.7;
}
.faq .linkList li:last-child a {
	border-bottom: 1px solid #E5E5E5;
}
.faq .headLine02.headLine03 {
	margin-bottom: 15px;
}
.faq .faqBox {
	margin-bottom: 32px;
}
.faq .dlBox {
	background-color: #FFF;
}
.faq .faqDl {
	padding: 40px;
}
.faq .faqDl dt,
.faq .faqDl dd {
	padding: 15px 50px 15px 16px;
	border-top: 1px solid #E5E5E5;
	line-height: 1.6;
}
.faq .faqDl dt {
	font-weight: 700;
	cursor: pointer;
	background: url(img/common/icon11.png) no-repeat right 16px center / 16px;
}
.faq .faqDl dt:last-of-type {
	border-bottom: 1px solid #E5E5E5;
}
.faq .faqDl dt.on {
	background-color: #EFE7D6;
	background-image: url(img/common/icon11_on.png);
}
.faq .faqDl dd {
	padding-right: 20px;
	display: none;
}
@media all and (max-width: 896px) {
	.faq .mainImg {
		margin-bottom: 32px;
		background-image: url(img/faq/main_img_sp.jpg);
	}
	.faq .headLine02 {
		margin-bottom: 30px;
	}
	.faq .linkList {
		margin-bottom: 25px;
		padding: 0;
	}
	.faq .faqBox {
		margin-bottom: 25px;
	}
	.faq .faqDl {
		padding: 0;
	}
}
/*------------------------------------------------------------
	lp
------------------------------------------------------------*/
#gHeader.header02 {
	position: absolute;
	background-color: transparent !important;
}
#gHeader.header02 .hBox {
	padding: 20px 0 0 20px;
	align-items: center;
}
#gHeader.header02 .hBox h1 {
	margin-right: 20px;
	padding: 0;
	width: 202px;
}
#gHeader.header02 .hBox .text {
	padding: 4px 5px;
	min-width: 136px;
	color: #FFF;
	text-align: center;
	box-sizing: border-box;
	background-color: #BF9A4E;
}
#gFooter.footer02 {
	padding: 40px 0 42px;
}
#gFooter.footer02 .content {
	max-width: 1000px;
}
#gFooter.footer02 .fBox {
	margin: 0;
	padding: 0;
	border: none;
	justify-content: space-between;
}
#gFooter.footer02 .fBox p {
	padding: 0;
}
#gFooter.footer02 .fBox .lBox {
	order: 1;
}
#gFooter.footer02 .fBox .rBox .fLogo {
	margin-right: 16px;
}
#gFooter.footer02 .fBox .rBox .title {
	font-size: 1.4rem;
	font-weight: 700;
	line-height: 1.6;
	text-align: left;
}
#gFooter.footer02 .fBox .rBox .text {
	line-height: 1.6;
	font-size: 1rem;
	font-weight: 400;
	text-align: left;
}
#gFooter.footer02 .fBox .lBox .title {
	margin: 2px 8px 0 0;
	font-size: 1rem;
	font-weight: 400;
	text-align: left;
}
#gFooter.footer02 .fBox .lBox .title .en {
	margin-bottom: 1px;
	display: block;
	font-size: 1.6rem;
	font-weight: 700;
}
#gFooter.footer02 .fBox .lBox .snsList {
	margin-right: -5px;
}
.campaign {
	margin-bottom: -40px;
}
.campaign .content {
	max-width: 1100px;
}
.campaign .mainVisual {
	min-height: 1024px;
	align-items: center;
	background: url(img/campaign/001_ritzcarlton/main_img.jpg) no-repeat center center / cover;
	box-sizing: border-box;
}
.campaign .mainVisual .inner {
	margin: 0 auto;
	width: 1000px;
	text-align: center;
}
.campaign .mainVisual .inner .ttlImg {
	margin: 0 auto 33px;
	width: 260px;
}
.campaign .mainVisual .inner p {
	color: #FFF;
	text-align: center;
	line-height: 1.6;
}
.campaign .mainVisual .inner .text {
	margin-bottom: 15px;
	font-size: 1.6rem;
}
.campaign .mainVisual .inner .sml {
	margin-bottom: 30px;
}
.campaign .mainVisual .inner .link {
	text-align: center;
}
.campaign .mainVisual .inner .link img {
	width: 61px;
}
.campaign .mainVisual .inner .link a {
	display: inline-block;
}
.campaign .mainVisual .inner .link a:hover {
	opacity: 0.7;
}
.campaign .sec01 {
	padding: 80px 0 79px;
	background-color: #000;
}
.campaign .sec01 .video {
	height: 563px;
	margin: 0 auto 30px;
	width: 1000px;
	border-radius: 5px;
	overflow: hidden;
	position: relative;
}
.campaign .movieBox iframe {
	vertical-align: top;
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    z-index: 1;
    object-fit: cover;
}
.campaign .movieBox .thumbnail {
	position: relative;
    z-index: 2;
    opacity: 1;
    visibility: visible;
    transition: all ease 0.5s;
    cursor: pointer;
}
.campaign .movieBox.on .thumbnail {
	opacity: 0;
	visibility: hidden;
}
.campaign .sec01 .video span {
	display: block;
	position: absolute;
	top: 50%;
	left: 50%;
	opacity: 0;
	transform: translate(-50%,-50%);
}
.campaign .photo {
	position: relative;
	z-index: 1;
}
.campaign .sec01 .inner {
	margin: 0 auto;
	width: 630px;
	position: relative;
}
.campaign .sec01 .inner::before {
	position: absolute;
	top: 4px;
	left: -126px;
	width: 852px;
	height: 236px;
	background: url(img/campaign/001_ritzcarlton/img01.png) no-repeat center center / 100%;
	content: '';
}
.campaign .sec01 .inner h2 {
	margin-bottom: 16px;
	color: #FFF;
	font-size: 3.2rem;
	font-weight: 400;
	line-height: 1.6;
	text-align: center;
}
.campaign .sec01 .inner h2 .sml {
	margin-bottom: -2px;
	display: block;
	font-size: 2.4rem;
	font-weight: 500;
}
.campaign .sec01 .inner p {
	color: #FFF;
	line-height: 1.6;
}
.campaign .sec01 .inner .subBox {
	position: relative;
	z-index: 5;
}
.campaign > .photo img {
	width: 100%;
}
.campaign .sec02 {
	padding: 80px 0;
	position: relative;
	background-color: #FFF;
}
.campaign .sec02::before {
	position: absolute;
	right: 0;
	bottom: 0;
	width: calc(50% + 456px);
	height: 1258px;
	background: url(img/campaign/001_ritzcarlton/bg01.png) no-repeat right top / 100%;
	content: '';
}
.campaign .sec02 .content {
	position: relative;
	z-index: 5;
}
.campaign .sec02 .imgBox {
	margin-bottom: 160px;
}
.campaign .sec02 .imgBox.reverse {
	margin-bottom: 80px;
}
.campaign .sec02 .imgBox .textBox {
	width: 560px;
	color: #000;
	line-height: 1.6;
}
.campaign .sec02 .imgBox.reverse .textBox {
	order: 1;
}
.campaign .sec02 .imgBox .textBox h2 {
	margin-bottom: 30px;
	font-size: 3.2rem;
	font-weight: 400;
}
.campaign .sec02 .imgBox .textBox p:not(:last-of-type) {
	margin-bottom: 15px;
}
.campaign .sec02 .imgBox.reverse .textBox p:not(:last-of-type) {
	margin-bottom: 9px;
}
.campaign .sec02 .imgBox .textBox .map {
	margin-top: -2px;
}
.campaign .sec02 .imgBox .textBox .sml {
	font-size: 1.2rem;
}
.campaign .sec02 .imgBox .photoBox {
	margin-left: 80px;
	width: 460px;
}
.campaign .sec02 .imgBox.reverse .photoBox {
	margin: 0 80px 0 0;
}
.campaign .sec02 .photoUl {
	list-style: none;
}
.campaign .sec02 .photoUl li {
	width: 546px;
}
.campaign .sec02 .photoUl li img {
	width: 100%;
}
.campaign .sec03 {
	padding: 78px 0;
	background-color: #F9F5ED;
}
.campaign .sec03 .comTitle {
	margin-bottom: 33px;
}
.campaign .sec03 .text {
	margin-bottom: 16px;
	color: #000;
	line-height: 1.6;
}
.campaign .sec03 .text:last-child {
	margin-bottom: 0;
}
.campaign .sec03 .text span {
	display: block;
}
.campaign .sec03 .text .big {
	font-size: 1.6rem;
}
.campaign .sec03 .text .en {
	margin-top: -2px;
	font-size: 1.2rem;
}
.campaign .sec03 .imgBox {
	margin-bottom: 78px;
}
.campaign .sec03 .imgBox .photoBox {
	width: 200px;
}
.campaign .sec03 .imgBox .photoBox img {
	width: 100%;
}
.campaign .sec03 .imgBox .textBox {
	width: 860px;
}
.campaign .sec03 .inner {
	padding: 39px 39px 34px;
	border: 1px solid #E2D1AE;
}
.campaign .sec03 .inner .lBox {
	padding: 28px 0 0;
	width: 480px;
	color: #000;
}
.campaign .sec03 .inner .lBox h3 {
	margin-bottom: 17px;
	font-size: 1.6rem;
	font-weight: 700;
}
.campaign .sec03 .inner .lBox p {
	margin-bottom: 15px;
	line-height: 1.6;
}
.campaign .sec03 .inner .lBox p:last-child {
	margin-bottom: 0;
}
.campaign .sec03 .inner .lBox p a {
	display: inline-block;
	color: #000;
	text-decoration: underline;
}
@media all and (min-width: 897px) {
	.campaign .sec03 .inner .lBox p a:hover {
		text-decoration: none;
	}
}
.campaign .sec03 .inner .rBox {
	width: 500px;
}
.campaign .sec03 .inner .photoList .slick-list {
	font-size: 0;
}
.campaign .slick-dots {
	text-align: center;
	margin-top: -2px;
}
.campaign .slick-dots li {
	margin: 0 4px;
	display: inline-block;
	width: 40px;
	height: 4px;
	cursor: pointer;
	border-radius: 50px;
	box-sizing: border-box;
	background-color: #EBEBEB;
}
.campaign .slick-dots li button {
	display: none;
}
.campaign .slick-dots li.slick-active {
	background-color: #BF9A4E;
}
.campaign .sec04 {
	padding: 80px 0;
	color: #FFF;
	background-color: #000;
}
.campaign .sec04 .date {
	margin-bottom: 11px;
	font-size: 2rem;
	font-weight: 500;
	line-height: 1;
	text-align: center;
}
.campaign .sec04 .date .big {
	font-size: 4rem;
}
.campaign .sec04 h2 {
	font-weight: 700;
	margin-bottom: 10px;
	font-size: 1.6rem;
	text-align: center;
}
.campaign .sec04 .text {
	margin-bottom: 10px;
	line-height: 1.6;
	text-align: center;
}
.campaign .sec04 .text a {
	color: #FFF;
}
.campaign .sec04 .text a:hover {
	opacity: 0.7;
}
.campaign .sec04 .text:last-of-type {
	margin-bottom: 32px;
}
.campaign .sec04 .inner .lBox,
.campaign .sec04 .inner .rBox {
	padding: 32px 40px 40px;
	width: calc(50% - 1px);
	background-color: #504121;
	box-sizing: border-box;
}
.campaign .sec04 .inner h3 {
	margin-bottom: 16px;
	font-size: 1rem;
	font-weight: 400;
	text-align: center;
}
.campaign .sec04 .inner h3 > .en {
	margin-bottom: -6px;
	display: block;
	font-size: 2.4rem;
	font-weight: 500;
}
.campaign .sec04 .inner .lBox .linkList li {
	width: 227px;
}
.campaign .sec04 .inner .lBox .linkList li a {
	padding: 8px 10px;
	display: block;
	color: #FFF;
	font-size: 1.2rem;
	text-align: center;
	background-color: #BF9A4E;
	border-radius: 4px;
}
.campaign .sec04 .inner .lBox .linkList li a .en {
	font-weight: 500;
	margin-bottom: 2px;
	display: block;
	color: #FFF;
	font-size: 1.8rem;
	line-height: 1;
	text-align: center;
}
.campaign .sec04 .inner .rBox .anchorList li {
	margin: 0 5px 0 4px;
	width: 41px;
}
.campaign .sec04 .inner .lBox .linkList li a:hover,
.campaign .sec04 .inner .rBox .anchorList li a:hover {
	opacity: 0.7;
}
.campaign .photo01 img {
	width: 100%;
}
@media all and (max-width: 896px) {
	#gHeader.header02 .hBox {
		padding: 10px 0 0 10px;
	}
	#gHeader.header02 .hBox h1 {
		margin-right: 10px;
		padding: 0;
		width: 162px;
	}
	#gHeader.header02 .hBox .text {
		padding: 4px 5px;
		min-width: 120px;
		font-size: 1.2rem;
	}
	#gFooter.footer02 .content {
		max-width: inherit;
	}
	#gFooter.footer02 .fBox {
		display: block;
	}
	#gFooter.footer02 .fBox .lBox {
		margin-bottom: 34px;
		justify-content: center;
	}
	#gFooter.footer02 .fBox .rBox {
		display: block;
	}
	#gFooter.footer02 .fBox .rBox .fLogo {
		margin: 0 0 16px;
	}
	#gFooter.footer02 .fBox .rBox .text,
	#gFooter.footer02 .fBox .rBox .title {
		text-align: center;
	}
	.campaign {
		margin-bottom: -40px;
	}
	.campaign .content {
		max-width: inherit;
	}
	.campaign .mainVisual {
		min-height: 640px;
		background-image: url(img/campaign/001_ritzcarlton/main_img_sp.jpg);
	}
	.campaign .mainVisual .inner {
		margin: 0 20px;
		width: auto;
	}
	.campaign .mainVisual .inner .ttlImg {
		margin: 0 auto 30px;
		width: 130px;
	}
	.campaign .mainVisual .inner .text {
		margin-bottom: 15px;
		font-size: 1.4rem;
	}
	.campaign .mainVisual .inner .sml {
		margin-bottom: 27px;
		font-size: 1.2rem;
	}
	.campaign .sec01 {
		padding: 40px 0 38px;
	}
	.campaign .sec01 .video {
		height: 51.4vw;
		margin: 0 auto 32px;
		width: auto;
		border-radius: 0;
	}
	.campaign .sec01 .video span {
		width: 13.88vw;
	}
	.campaign .sec01 .inner {
		margin: 0;
		width: auto;
	}
	.campaign .sec01 .inner h2 {
		margin-bottom: 15px;
		font-size: 2rem;
	}
	.campaign .sec01 .inner h2 .sml {
		margin-bottom: 1px;
		font-size: 1.4rem;
		font-weight: 700;
	}
	.campaign .sec02 {
		padding: 40px 0;
	}
	.campaign .sec02::before {
		display: none;
	}
	.campaign .sec02 .imgBox {
		margin-bottom: 80px;
		display: block;
	}
	.campaign .sec02 .imgBox.reverse {
		margin-bottom: 40px;
	}
	.campaign .sec02 .imgBox .textBox {
		width: auto;
		position: relative;
	}
	.campaign .sec02 .imgBox.reverse .textBox::before {
		position: absolute;
		bottom: -20px;
		left: -20px;
		right: -20px;
		height: 386px;
		background: url(img/campaign/001_ritzcarlton/bg01_sp.png) no-repeat right center / cover;
		content: '';
	}
	.campaign .sec02 .imgBox.reverse .textBox {
		margin-bottom: 80px;
	}
	.campaign .sec02 .imgBox .textBox .subBox {
		position: relative;
		z-index: 5;
	}
	.campaign .sec02 .imgBox.reverse .textBox::before {
		width: calc(100% + 40px);
		max-width: 365px;
		text-align: right;
		left: auto;
	}
	.campaign .sec02 .imgBox .textBox h2 {
		margin-bottom: 15px;
		font-size: 2rem;
		font-weight: 400;
	}
	.campaign .sec02 .imgBox .textBox .map {
		margin: 15px 0 40px;
		text-align: center;
	}
	.campaign .sec02 .imgBox .photoBox {
		margin-left: 0;
		width: auto;
	}
	.campaign .sec02 .imgBox .photoBox img {
		width: 100%;
	}
	.campaign .sec02 .imgBox.reverse .photoBox {
		margin: 0;
	}
	.campaign .sec02 .photoUl {
		display: block;
	}
	.campaign .sec02 .photoUl li {
		margin: 0 48px 8px 0;
		width: auto;
	}
	.campaign .sec02 .photoUl li img {
		width: 100%;
	}
	.campaign .sec02 .photoUl li:nth-child(2n) {
		margin: 0 0 8px 48px;
	}
	.campaign .sec02 .photoUl li:last-child {
		margin-bottom: 0;
	}
	.campaign .sec03 {
		padding: 38px 0 40px;
	}
	.campaign .sec03 .comTitle {
		margin-bottom: 16px;
		font-size: 2.4rem;
	}
	.campaign .sec03 .imgBox {
		margin-bottom: 40px;
		display: block;
	}
	.campaign .sec03 .imgBox .photoBox {
		margin: 0 auto 15px;
		width: auto;
	}
	.campaign .sec03 .imgBox .textBox {
		width: auto;
	}
	.campaign .sec03 .inner {
		padding: 15px 15px 12px;
		display: block;
	}
	.campaign .sec03 .inner .lBox {
		margin-bottom: 15px;
		padding: 0;
		width: auto;
	}
	.campaign .sec03 .inner .lBox p a {
		display: inline;
		word-break: break-all;
	}
	.campaign .sec03 .inner .rBox {
		width: auto;
	}
	.campaign .slick-dots {
		margin-top: -2px;
	}
	.campaign .sec03 .inner .photoList li img {
		width: 100%;
	}
	.campaign .sec04 {
		padding: 40px 0 40px;
	}
	.campaign .sec04 h2 {
		line-height: 1.6;
	}
	.campaign .sec04 .inner {
		display: block;
	}
	.campaign .sec04 .inner .lBox,
	.campaign .sec04 .inner .rBox {
		padding: 32px 40px 40px;
		width: 100%;
	}
	.campaign .sec04 .inner .lBox {
		margin-bottom: 1px;
	}
	.campaign .sec04 .inner .lBox .linkList {
		max-width: 248px;
		margin: 0 auto;
	}
	.campaign .sec04 .inner .lBox .linkList li {
		margin-bottom: 8px;
		width: 100%;
	}
	.campaign .sec04 .inner .lBox .linkList li:last-child {
		margin-bottom: 0;
	}
	.campaign .sec04 .inner .rBox {
		padding-bottom: 50px;
	}
	.campaign .sec04 .inner .rBox .anchorList {
		margin: 0 -5px;
	}
}
@media all and (max-width: 359px) {
	.campaign .sec02 .imgBox .textBox h2 {
		font-size: 1.8rem;
	}
	.campaign .sec04 .text {
		margin: 0 -5px;
	}
	.campaign .sec04 .inner .rBox .anchorList {
		margin: 0 -25px;
	}
	.campaign .sec04 .date .big {
		font-size: 3rem;
	}
	.campaign .sec04 .inner h3 {
		margin-left: -10px;
		margin-right: -10px;
	}
}










/*------------------------------------------------------------
	lp02
------------------------------------------------------------*/
#gHeader.header03 {
	position: static;
    top: auto;
    left: auto;
	background-color: #000;
}
#gHeader.header03 .hBox {
	padding: 16px;
}
#gHeader.header03 .hBox h1 {
	margin-right: 20px;
	padding: 0;
	width: 427px;
}
#gFooter.footer03 {
	padding: 38px 0 81px;
}
#gFooter.footer03 .content {
	max-width: inherit;
}
#gFooter.footer03 .fBox {
	margin: 0;
	padding: 0;
	border: none;
	justify-content: space-between;
}
#gFooter.footer03 .fBox p {
	padding: 0;
}
#gFooter.footer03 .fBox .lBox {
	order: 1;
}
#gFooter.footer03 .fBox .rBox .title {
	font-size: 1.4rem;
	font-weight: 700;
	line-height: 1.6;
	text-align: left;
}
#gFooter.footer03 .fBox .rBox .text {
	line-height: 1.6;
	font-size: 1rem;
	font-weight: 400;
	text-align: left;
}
#gFooter.footer03 .fBox .lBox .title {
	margin: 2px 8px 0 0;
	font-size: 1rem;
	font-weight: 400;
	text-align: left;
}
#gFooter.footer03 .fBox .lBox .title .en {
	margin-bottom: 1px;
	display: block;
	font-size: 1.6rem;
	font-weight: 700;
}
#gFooter.footer03 .fBox .lBox .snsList {
	margin-right: -5px;
}



#campaign02 .headLine05 {
    margin-bottom: 60px;
    font-size: 8rem;
    font-weight: 400;
    text-align: center;
    color: #BF9A4E;
}
@media all and (max-width: 896px) {
    #campaign02 .headLine05 {
        margin-bottom: 29px;
        font-size: 5rem;
    }
}
#campaign02 {
	background-color: #fff;
	color: #000;
	margin-bottom: -40px;
    position: relative;
	word-break: break-word;
}
#campaign02 .content {
	max-width: 1100px;
}
#campaign02 .sec01 {
	padding: 59px 0 112px;
	background-color: #F9F5ED;
}
#campaign02 .sec01 .textBox {
    margin-bottom: 79px;
}
#campaign02 .sec01 h3 {
    margin-bottom: 32px;
    text-align: center;
    font-size: 3.2rem;
    font-weight: 400;
    line-height: 1.6;
    color: #000;
}
#campaign02 .sec01 p {
    margin-bottom: 15px;
    text-align: center;
    color: #000;
    font-size: 1.4rem;
    line-height: 1.6;
}
#campaign02 .sec01 .video {
	height: 563px;
	margin: 0 auto 80px;
	width: 1000px;
	border-radius: 5px;
	overflow: hidden;
	position: relative;
}
#campaign02 .movieBox iframe {
	vertical-align: top;
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    z-index: 1;
    object-fit: cover;
}
#campaign02 .movieBox .thumbnail {
	position: relative;
    z-index: 2;
    opacity: 1;
    visibility: visible;
    transition: all ease 0.5s;
}
#campaign02 .movieBox[data-id] .thumbnail {
	cursor: pointer;
}
#campaign02 .movieBox.on .thumbnail {
	opacity: 0;
	visibility: hidden;
}
#campaign02 .sec01 .video span {
	display: block;
	position: absolute;
	top: 50%;
	left: 50%;
	opacity: 0;
	transform: translate(-50%,-50%);
}
#campaign02 .photo {
	position: relative;
	z-index: 1;
}
#campaign02 > .photo img {
	width: 100%;
}
#campaign02 .sec01 .jsBox {
	margin-bottom: 7.5rem;
}
#campaign02 .sec01 .fooUl li {
	aspect-ratio: 2200 / 1240;
	position: relative;
}
#campaign02 .sec01 .fooUl li img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
#campaign02 .sec01 .innerBox .imgBox {
	margin-bottom: 79px;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
#campaign02 .sec01 .innerBox .imgBox:last-child {
	margin-bottom: 0;
}
#campaign02 .sec01 .innerBox .imgBox .photoBox {
	order: 2;
	margin-left: 80px;
	width: 460px;
}
#campaign02 .sec01 .innerBox .imgBox .photoBox img {
	width: 100%;
}
#campaign02 .sec01 .innerBox .imgBox .txtBox {
	flex: 1;
	margin-top: -0.7rem;
}
#campaign02 .sec01 .innerBox .imgBox p {
	margin-bottom: 15px;
	text-align: left;
	color: #000;
	line-height: 1.6;
}
#campaign02 .sec01 .innerBox .imgBox p:last-child {
	margin-bottom: 0;
}
#campaign02 .sec01 .innerBox .imgBox .ttl {
	font-size: 2.4rem;
	color: #BF9A4E;
	margin-bottom: 1px;
	font-weight: 500;
}
#campaign02 .sec01 .innerBox .imgBox .ttl02 {
	margin-bottom: 32px;
	font-size: 3.2rem;
	color: #000;
}
#campaign02 .sec01 .innerBox .imgBox:nth-child(2n) .photoBox {
	order: -1;
	margin-left: 0;
	margin-right: 80px;
}
#campaign02 .sec01 .innerBox {
	margin-bottom: 71px;
}
#campaign02 .sec01 .comments h3 {
	font-size: 3.2rem;
	color: #000;
	text-align: left;
	font-weight: 400;
	margin-bottom: 32px;
}
#campaign02 .sec01 .comments h3 span {
	margin-bottom: 1px;
	color: #BF9A4E;
	display: block;
	font-size: 2.4rem;
	font-weight: 500;
}
#campaign02 .sec01 .comments .commentsInner {
	display: flex;
	margin-bottom: 17px;
	flex-wrap: wrap;
	justify-content: space-between;
}
#campaign02 .sec01 .comments .commentsInner:last-child {
	margin-bottom: 0;
}
#campaign02 .sec01 .comments .commentsInner .photoBox {
	width: 200px;
	height: 200px;
	position: relative;
	border-radius: 100%;
	margin-right: 40px;
}
#campaign02 .sec01 .comments .commentsInner .photoBox img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
#campaign02 .sec01 .comments .commentsInner .rBox {
	flex: 1;
}
#campaign02 .sec01 .comments .commentsInner .rBox {
	box-shadow: -1px 1px 1px rgba(0, 0, 0, 0.15), 0 2px 1px rgba(0, 0, 0, 0.15);
	padding: 32px;
	border-radius: 8px;
	background: #FFF;
	position: relative;
}
#campaign02 .sec01 .comments .commentsInner .rBox::before {
	width: 16px;  
	height: 32px;
	background: url(img/campaign/002_ritzcarlton/arrow.png) no-repeat;
	background-size: 100% auto;
	position: absolute;  
	top: calc(50% - 24px);
	transform: translateY(-50%);
	left: -16px;  
	content: ""; 
	filter: drop-shadow(0 2px 0 rgba(0, 0, 0, 0.15));
}
#campaign02 .sec01 .comments .commentsInner .rBox p {
	text-align: left;
	color: #000;
	line-height: 1.6;
	margin-bottom: 15px;
	font-weight: 400;
}
#campaign02 .sec01 .comments .commentsInner .rBox p:last-child {
	margin-bottom: 0;
}
#campaign02 .sec01 .comments .commentsInner .rBox .name .txtSpan {
	display: block;
	font-size: 1.6rem;
	font-weight: 400;
	line-height: 1.5;
	margin-top: 1px;
}
#campaign02 .sec01 .comments .commentsInner .rBox .name .txtSpan small {
	display: block;
	font-size: 1.2rem;
}

#campaign02 .sec02 .headLine05 {
	margin-bottom: 63px;
	font-size: 7rem;
}
#campaign02 .sec02 {
	padding: 63px 0 80px;
	position: relative;
	background-color: #FFF;
}
#campaign02 .sec02 .before {
	position: absolute;
	right: 0;
	bottom: 0;
	width: calc(50% + 456px);
	height: 1258px;
	background: url(img/campaign/001_ritzcarlton/bg01.png) no-repeat right bottom / 100%;
	content: '';
}
#campaign02 .sec02 .content {
	position: relative;
	z-index: 5;
}
#campaign02 .sec02 .imgBox {
	margin-bottom: 79px;
}
#campaign02 .sec02 .imgBox.reverse {
	margin-bottom: 80px;
}
#campaign02 .sec02 .imgBox .textBox {
	width: 560px;
	color: #000;
	line-height: 1.6;
}
#campaign02 .sec02 .imgBox.reverse .textBox {
	order: 1;
}
#campaign02 .sec02 .imgBox .textBox h2 {
	margin-bottom: 30px;
	font-size: 3.2rem;
	font-weight: 400;
}
#campaign02 .sec02 .imgBox .textBox p:not(:last-of-type) {
	margin-bottom: 15px;
}
#campaign02 .sec02 .imgBox.reverse .textBox p:not(:last-of-type) {
	margin-bottom: 9px;
}
#campaign02 .sec02 .imgBox .textBox .map {
	margin-top: 30px;
}
#campaign02 .sec02 .imgBox .textBox .sml {
	font-size: 1.2rem;
}
#campaign02 .sec02 .imgBox .photoBox {
	margin-left: 80px;
	width: 460px;
}
#campaign02 .sec02 .imgBox.reverse .photoBox {
	margin: 0 80px 0 0;
}
#campaign02 .sec02 .photoUl {
	list-style: none;
}
#campaign02 .sec02 .photoUl li {
	width: 546px;
}
#campaign02 .sec02 .photoUl li img {
	width: 100%;
}
#campaign02 .sec03 {
	padding: 63px 0 80px;
	background-color: #F9F5ED;
}
#campaign02 .sec03 .headLine05 {
	font-size: 7rem;
	margin-bottom: 63px;
}
#campaign02 .sec03 .text {
	margin-bottom: 16px;
	color: #000;
	line-height: 1.6;
}
#campaign02 .sec03 .text:last-child {
	margin-bottom: 0;
}
#campaign02 .sec03 .text span {
	display: block;
}
#campaign02 .sec03 .text .big {
	font-size: 1.6rem;
}
#campaign02 .sec03 .text .en {
	margin-top: -2px;
	font-size: 1.2rem;
}
#campaign02 .sec03 .imgBox .photoBox {
	width: 200px;
}
#campaign02 .sec03 .imgBox .photoBox img {
	width: 100%;
}
#campaign02 .sec03 .imgBox .textBox {
	width: 860px;
}
#campaign02 .slick-dots {
	text-align: center;
	margin-top: -2px;
}
#campaign02 .slick-dots li {
	margin: 0 4px;
	display: inline-block;
	width: 40px;
	height: 4px;
	cursor: pointer;
	border-radius: 50px;
	box-sizing: border-box;
	background-color: #BFBFBF;
}
#campaign02 .slick-dots li button {
	display: none;
}
#campaign02 .slick-dots li.slick-active {
	background-color: #BF9A4E;
}
#campaign02 .information {
	padding: 62px 0 80px;
	background-color: #fff;
}
#campaign02 .information .headLine05 {
	font-size: 7rem;
}
#campaign02 .information .imgBox {
	padding-top: 3px;
}
#campaign02 .information .imgBox .rBox {
	width: 530px;
	margin-left: 40px;
}
#campaign02 .information .imgBox .photoBox img {
	width: 100%;
}
#campaign02 .information .imgBox .txtBox {
	flex: 1;
}
#campaign02 .information .imgBox .rBox li {
	align-self: 1060 / 708;
	position: relative;
}
#campaign02 .information .imgBox .rBox li img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
#campaign02 .information .imgBox p {
	line-height: 1.6;
	margin-bottom: 15px;
}
#campaign02 .information .imgBox p:last-child {
	margin-bottom: 0;
}
#campaign02 .information .imgBox p a {
	color: #000;
	text-decoration: underline;
}
#campaign02 .information .imgBox p a:hover {
	opacity: 0.7;
}
#campaign02 .information .imgBox .ttl {
	text-align: center;
	margin-bottom: 16px;
}
#campaign02 .information .imgBox .ttl02 {
	font-size: 1.6rem;
	font-weight: 700;
	margin-bottom: 16px;
}
#campaign02 .btmSec {
	padding: 80px 0 8px;
	color: #FFF;
	z-index: 1;
	position: relative;
	background-color: #000;
}
#campaign02 .btmSec::before {
	width: 100%;  
	height: 600px;
	background: url(img/campaign/index/btm_bg.png) no-repeat center bottom / 100% auto;
	position: absolute;  
	top: 0;
	left: 0;  
	z-index: -1;
	content: ""; 
}
#campaign02 .btmSec .date {
	margin-bottom: 40px;
	font-size: 2rem;
	font-weight: 500;
	line-height: 1;
	text-align: center;
}
#campaign02 .btmSec .date .big {
	font-size: 4rem;
}
#campaign02 .btmSec h2 {
	font-weight: 700;
	margin-bottom: 10px;
	font-size: 1.6rem;
	text-align: center;
}
#campaign02 .btmSec .text {
	margin-bottom: 10px;
	line-height: 1.6;
	text-align: center;
}
#campaign02 .btmSec .text a {
	color: #FFF;
    text-decoration: underline;
}

#campaign02 .btmSec .text:last-of-type {
	margin-bottom: 32px;
}
#campaign02 .btmSec .imgBox {
    margin: 0 auto 10px;
    max-width: 300px;
    text-align: center;
}
#campaign02 .btmSec .inner {
    margin-bottom: 41px;
}
#campaign02 .btmSec .inner .lBox,
#campaign02 .btmSec .inner .rBox {
	padding: 34px 40px 40px;
	width: calc(50% - 1px);
	background-color: #504121;
	box-sizing: border-box;
}
#campaign02 .btmSec .inner.noLBox .rBox {
	width: 100%;
}
#campaign02 .btmSec .inner h3 {
	margin-bottom: 17px;
	font-size: 1rem;
	font-weight: 400;
	text-align: center;
}
#campaign02 .btmSec .inner h3 > .en {
	margin-bottom: -7px;
	display: block;
	font-size: 2.6rem;
	font-weight: 500;
}
#campaign02 .btmSec .inner .lBox .linkList li {
	width: 227px;
}
#campaign02 .btmSec .inner .lBox .linkList li a {
	padding: 8px 10px;
	display: block;
	color: #FFF;
	font-size: 1.2rem;
	text-align: center;
	background-color: #BF9A4E;
	border-radius: 4px;
}
#campaign02 .btmSec .inner .lBox .linkList li a .en {
	font-weight: 500;
	margin-bottom: 1px;
	display: block;
	color: #FFF;
	font-size: 1.8rem;
	line-height: 1;
	text-align: center;
}
#campaign02 .btmSec .inner .rBox .anchorList li {
	margin: 0 5px 0 4px;
	width: 41px;
}
#campaign02 .btmSec .inner .lBox .linkList li a:hover,
#campaign02 .btmSec .inner .rBox .anchorList li a:hover {
	opacity: 0.7;
}
#campaign02 .photo01 img {
	width: 100%;
}
#campaign02 .fixBox {
    padding: 15px 15px 16px;
    width: 600px;
    position: fixed;
    right: 0;
    bottom: 0;
    box-sizing: border-box;
    background-color: #000;
    z-index: 20;
}
#campaign02 .fixBox .subUl li:not(:last-child) {
    margin-right: 9px;
}
#campaign02 .fixBox .subUl li a,
#campaign02 .fixBox .subUl li .a {
    padding: 4px 1px 9px;
    display: block;
    width: 194px;
    font-size: 1rem;
    font-weight: 400;
    border-radius: 4px;
    text-align: center;
    color: #fff;
    box-sizing: border-box;
    background: #BF9A4E;
    font-family: 'Noto Sans JP', sans-serif;
}
#campaign02 .fixBox .subUl li a:hover,
#campaign02 .fixBox .subUl li .a:hover {
	opacity: 0.7;
}
#campaign02 .fixBox .subUl .liStyle {
    margin-right: 16px !important;
}
#campaign02 .fixBox .subUl .liStyle .a {
	pointer-events: none;
    margin-top: 8px;
    width: 140px;
    background-color: transparent;
}
#campaign02 .fixBox .subUl li a .en,
#campaign02 .fixBox .subUl li .a .en {
    margin-bottom: -5px;
    display: block;
    font-size: 1.8rem;
    font-weight: 700;
    font-family: 'Roboto', sans-serif;
}
#campaign02 .mainImg02 img {
	width: 100%;
}
#pagePath{
	padding: 39px 0;
	border-top: 1px solid #BFBFBF;
}
#pagePath li {
	display: inline;
	margin-right: 13px;
	padding-right: 15px;
	border-right: 1px solid #BFBFBF;
}
#pagePath li:last-child {
	margin-right: 0;
	padding-right: 0;
	border: none;
}
#pagePath li a,
#pagePath li .a {
	font-weight: 500;
}
#pagePath li a:hover {
	opacity: 0.7;
}
#pagePath .liStyle a {
	padding-left: 2rem;
	display: inline-block;
	background: url(img/campaign/002_ritzcarlton/icon.png) no-repeat left center;
	background-size: 1.6rem auto;
}

#pagePath .yearUl {
	margin-top: 2rem;
	display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 4rem 2rem;
}
#pagePath .yearUl li {
	margin: 0;
	padding: 0;
	border: none;
}
#pagePath .yearUl > li > a {
	pointer-events: none;
} 
#pagePath .yearUl > li ul {
	margin: 1rem 0 0 2rem;
	display: flex;
	flex-direction: column;
}
#pagePath .yearUl > li li {
	margin-bottom: 1rem;
}
#pagePath .yearUl > li li:last-child {
	margin-bottom: 0;
}
#pagePath .yearMore {
	margin-top: 4rem;
	display: flex;
	align-items: center;
	justify-content: center;
}
#pagePath .yearMore a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
}
#pagePath .yearMore a::after {
	margin-left: 1rem;
	content: "+";
	font-size: inherit;
}
#pagePath .yearMore.on a::after {
	content: "-";
}

@media all and (max-width: 896px) {
	#pagePath .yearUl {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}
@media all and (min-width: 897px) {
	#campaign02 .btmSec .text a:hover {
		text-decoration: none;
	}
	#pagePath .yearMore a:hover {
		opacity: 0.7;
	}
}

@media all and (max-width: 896px) {
	#gHeader.header03 .hBox {
		padding: 18px 20px 16px;
	}
	#gHeader.header03 .hBox h1 {
        margin-right: 0;
        padding: 0;
        width: 100%;
        max-width: 328px;
	}
	#gHeader.header03 .hBox .text {
		padding: 4px 5px;
		min-width: 120px;
		font-size: 1.2rem;
	}
    #gFooter.footer03 {
        padding: 31px 0 100px;
    }
	#gFooter.footer03 .content {
		max-width: inherit;
	}
	#gFooter.footer03 .fBox {
		display: block;
	}
	#gFooter.footer03 .fBox .lBox {
		margin-bottom: 11px;
		justify-content: flex-start;
	}
	#gFooter.footer03 .fBox .rBox {
		display: block;
	}
	#gFooter.footer03 .fBox .rBox .fLogo {
		margin: 0 0 16px;
	}
	#gFooter.footer03 .fBox .rBox .text,
	#gFooter.footer03 .fBox .rBox .title {
		text-align: left;
	}
	#campaign02 {
		margin-bottom: -40px;
	}
	#campaign02 .content {
		max-width: inherit;
	}
	#campaign02 .sec01 {
		padding: 27px 0 38px;
	}
    #campaign02 .sec01 h3 {
        margin-bottom: 15px;
        font-size: 2rem;
    }
	#campaign02 .sec01 .video {
		aspect-ratio: 16 / 9;
		height: auto;
		margin: 0 auto 41px;
		width: auto;
		border-radius: 0;
	}
	#campaign02 .sec01 p {
		text-align: left;
	}
	#campaign02 .sec01 .textBox {
		margin-bottom: 40px;
	}
	#campaign02 .sec01 .video span {
		width: 13.88vw;
	}
	#campaign02 .sec01 .jsBox {
		margin-bottom: 31px;
	}
	#campaign02 .sec01 .innerBox .imgBox {
		margin-bottom: 37px;
		display: block;
	}
	#campaign02 .sec01 .innerBox .imgBox .txtBox {
		margin: 0 0 40px;
	}
	#campaign02 .sec01 .innerBox .imgBox .photoBox {
		width: auto;
		margin: 0 !important;
	}
	#campaign02 .sec01 .innerBox .imgBox .ttl {
		margin-bottom: 4px;
		font-size: 1.4rem;
	}
	#campaign02 .sec01 .innerBox .imgBox .ttl02 {
		font-size: 2rem;
		margin-bottom: 15px;
	}
	#campaign02 .sec01 .innerBox {
		margin-bottom: 36px;
	}
	#campaign02 .sec01 .comments h3 {
		margin-bottom: 15px;
		font-size: 2rem;
	}
	#campaign02 .sec01 .comments h3 span {
		margin-bottom: 4px;
		font-size: 1.4rem;
	}
	#campaign02 .sec01 .comments .commentsInner {
		display: block;
	}
	#campaign02 .sec01 .comments .commentsInner .photoBox {
		margin: 0 auto 8px;
	}
	#campaign02 .sec01 .comments .commentsInner .rBox {
		padding: 1.6rem;
		box-shadow: -1px 1px 1px rgba(0, 0, 0, 0.15), 1px 0 1px rgba(0, 0, 0, 0.15), 0 2px 1px rgba(0, 0, 0, 0.15);
	}
	#campaign02 .sec01 .comments .commentsInner .rBox p {
		line-height: 1.58;
	}
	#campaign02 .sec01 .comments .commentsInner .rBox::before { 
		background-image: url(img/campaign/002_ritzcarlton/arrow_sp.png);
		width: 32px;
		height: 17px;
		top: -16px;
		left: 50%;
		transform: translateX(-50%);
		filter: drop-shadow(1px 0 0 rgba(0, 0, 0, 0.15));
	}
	#campaign02 .sec02 {
		padding: 28px 0 40px;
	}
	#campaign02 .sec02 .headLine05 {
		margin-bottom: 27px;
		font-size: 5rem;
	}
	#campaign02 .sec02 .before {
		display: none;
	}
	#campaign02 .sec02 .imgBox {
		margin-bottom: 40px;
		display: block;
	}
	#campaign02 .sec02 .imgBox.reverse {
		margin-bottom: 40px;
	}
	#campaign02 .sec02 .imgBox .textBox {
		width: auto;
		position: relative;
	}
	#campaign02 .sec02 .imgBox.reverse .textBox .before {
		position: absolute;
		bottom: -20px;
		left: -20px;
		right: -20px;
		height: 386px;
		background: url(img/campaign/001_ritzcarlton/bg01_sp.png) no-repeat right center / cover;
		content: '';
		display: block;
	}
	#campaign02 .sec02 .imgBox.reverse .textBox {
		margin-bottom: 80px;
	}
	#campaign02 .sec02 .imgBox .textBox .subBox {
		position: relative;
		z-index: 5;
	}
	#campaign02 .sec02 .imgBox.reverse .textBox::before {
		width: calc(100% + 40px);
		max-width: 365px;
		text-align: right;
		left: auto;
	}
	#campaign02 .sec02 .imgBox .textBox h2 {
		margin-bottom: 15px;
		font-size: 2rem;
		font-weight: 400;
	}
	#campaign02 .sec02 .imgBox .textBox .map {
		margin: 15px 0 40px;
		text-align: center;
	}
	#campaign02 .sec02 .imgBox .photoBox {
		margin-left: 0;
		width: auto;
		position: relative;
		z-index: 1;
	}
	#campaign02 .sec02 .imgBox .photoBox img {
		width: 100%;
	}
	#campaign02 .sec02 .imgBox.reverse .photoBox {
		margin: 0;
	}
	#campaign02 .sec02 .photoUl {
		display: block;
	}
	#campaign02 .sec02 .photoUl li {
		margin: 0 48px 8px 0;
		width: auto;
	}
	#campaign02 .sec02 .photoUl li img {
		width: 100%;
	}
	#campaign02 .sec02 .photoUl li:nth-child(2n) {
		margin: 0 0 8px 48px;
	}
	#campaign02 .sec02 .photoUl li:last-child {
		margin-bottom: 0;
	}
	#campaign02 .sec03 {
		padding: 28px 0 40px;
	}
	#campaign02 .sec03 .headLine05 {
		font-size: 5rem;
		margin-bottom: 30px;
	}
	#campaign02 .sec03 .comTitle {
		margin-bottom: 16px;
		font-size: 2.4rem;
	}
	#campaign02 .sec03 .imgBox {
		display: block;
	}
	#campaign02 .sec03 .imgBox .photoBox {
		margin: 0 auto 15px;
		width: 61%;
	}
	#campaign02 .sec03 .imgBox .photoBox img {
		width: 100%;
	}
	#campaign02 .sec03 .imgBox .textBox {
		width: auto;
	}
	#campaign02 .information {
		padding: 28px 0 34px;
	}
	#campaign02 .information .headLine05 {
		font-size: 5rem;
		margin: 0 -20px 25px;
	}
	#campaign02 .information .imgBox {
		display: block;
	}
	#campaign02 .information .imgBox .txtBox {
		margin-bottom: 20px;
	}
	#campaign02 .information .imgBox .rBox {
		width: auto;
		margin: 0;
	}
	#campaign02 .information .imgBox .rBox img {
		width: 100%;
	}
	#campaign02 .information .imgBox .rBox .slick-dots {
		margin-top: -7px;
	}
	#campaign02 .btmSec {
		padding: 40px 0 31px;
	}
	#campaign02 .btmSec::before {
		height: 80vw;
        background-image: url(img/campaign/index/btm_bg_sp.png);
        background-size: 100% auto;
	}
	#campaign02 .btmSec h2 {
        margin-bottom: 11px;
		line-height: 1.6;
	}
    #campaign02 .btmSec .date {
        margin-bottom: 32px;
    }
    #campaign02 .btmSec .text {
        line-height: 1.56;
    }
    #campaign02 .btmSec .text:last-of-type {
        margin-bottom: 0;
    }
	#campaign02 .btmSec .inner {
		margin-bottom: 33px;
        display: block;
	}
    #campaign02 .btmSec .inner h3 {
        margin-bottom: 16px;
    }
	#campaign02 .btmSec .inner .lBox,
	#campaign02 .btmSec .inner .rBox {
		padding: 34px 40px 40px;
		width: 100%;
	}
	#campaign02 .btmSec .inner .lBox {
		margin-bottom: 1px;
	}
	#campaign02 .btmSec .inner .lBox .linkList {
		max-width: 248px;
		margin: 0 auto;
	}
	#campaign02 .btmSec .inner .lBox .linkList li {
		margin-bottom: 8px;
		width: 100%;
	}
	#campaign02 .btmSec .inner .lBox .linkList li:last-child {
		margin-bottom: 0;
	}
	#campaign02 .btmSec .inner .rBox {
		padding-bottom: 51px;
	}
	#campaign02 .btmSec .inner .rBox .anchorList {
		margin: 0 -5px;
	}
    #campaign02 .fixBox {
        padding: 15px 5px 15px 15px;
        width: 100%;
        bottom: 0;
    }
    #campaign02 .fixBox .subUl {
        margin: 0 auto;
        max-width: 340px;
    }
    #campaign02 .fixBox .subUl li {
        margin-right: 8px !important;
        width: 124px;
    }
    #campaign02 .fixBox .subUl li a,
	#campaign02 .fixBox .subUl li .a {
        width: 100%;
    }
    #campaign02 .fixBox .subUl .liStyle {
        margin-right: 17px !important;
        width: 56px;
    }
    #campaign02 .fixBox .subUl .liStyle .a {
        padding: 0;
        margin-top: 7px;
        line-height: 1;
        width: 100%;
        text-align: left;
    }
	#pagePath li {
		padding: 0;
		border: none;
		margin: 0 0 15px;
		display: block;
	}
	#pagePath li:last-child {
		margin-bottom: 0;
	}
	#campaign02 .slick-slide img {
		width: 100%;
	}
}
@media all and (max-width: 359px) {
	#campaign02 .headLine05 {
		font-size: 4rem !important;
	}
	#campaign02 .sec02 .imgBox .textBox h2 {
		font-size: 1.8rem;
	}
	#campaign02 .btmSec .text {
		margin: 0 -5px;
	}
	#campaign02 .btmSec .inner .rBox .anchorList {
		margin: 0 -25px;
	}
	#campaign02 .btmSec .date .big {
		font-size: 3rem;
	}
	#campaign02 .btmSec .inner h3 {
		margin-left: -10px;
		margin-right: -10px;
	}
    #campaign02 .fixBox .subUl li a,
	#campaign02 .fixBox .subUl li .a {
        font-size: 0.9rem;
    }
    #campaign02 .fixBox .subUl li a .en,
	#campaign02 .fixBox .subUl li .a .en {
        font-size: 1.3rem;
    }
    #campaign02 .fixBox .subUl .liStyle {
        margin-right: 1% !important;
        width: 17%;
    }
    #campaign02 .fixBox .subUl li {
        width: 38%;
    }
}