@charset "UTF-8";

@import url('https://fonts.googleapis.com/css2?family=EB+Garamond:wght@400..800&family=Noto+Serif+JP:wght@200..900&display=swap');


/* common
-------------------------------------------------*/
html, body, div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, address, cite, code,
del, dfn, em, img, ins, kbd, q, samp,
small, strong, sub, sup, var,
b, i, button,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, figcaption, figure, 
footer, header, hgroup, menu, nav, section, summary,
time, mark, audio, video {
    margin: 0;
    padding: 0;
    border: 0;
    outline: 0;
    font-size: 100%;
    font-weight: 500;
    vertical-align: baseline;
    background: transparent;
}
article,aside,details,figcaption,figure,
footer,header,hgroup,menu,nav,section,main { 
    display: block;
}
ul {
    list-style: none;
}
img {
    width: 100%;
    max-width: 100%;
    height: auto;
	border: none;
	vertical-align: bottom;
}
blockquote, q {
    quotes: none;
}
blockquote:before, blockquote:after,
q:before, q:after {
    content: '';
    content: none;
}
address, em, code, cite, dfn, var, optgroup, i {
    font-style: normal;
}
sup {
    font-size: 80%;
    vertical-align: super;
}
sub {
    font-size: 80%;
    vertical-align: sub;
}
table {
    border-collapse: collapse;
    border-spacing: 0;
}

input, select {
    vertical-align: middle;
}
input[type="button"], input[type="text"], input[type="email"], input[type="tel"], input[type="submit"], input[type="reset"], textarea, select {
	-webkit-appearance: none;
    border: 1px solid #c4c4c4;
	border-radius: 0.5em;
    outline: none;
	font-family: "Noto Serif JP", serif;
    font-optical-sizing: auto;
    font-weight: 500;
    font-style: normal;
	font-size: 14px;
	line-height: 1.85;
	color: #333;
    background-color: #fff;
}
input[type="text"], input[type="email"], input[type="tel"], textarea, select {
    width: 100%;
    height: 3.4285em;
    padding: 0 1em;
    box-sizing: border-box;
}
input[type="submit"] {
    width: 100%;
    height: 3.57em;
    background-color: #a5946f;
    border: none;
	border-radius: 0;
    color: #fff;
    cursor: pointer;
    box-sizing: border-box;
    transition: 0.4s;
}
textarea {
    height: 8.55em;
    padding: 0.5em 1em;
}
::placeholder {
    color: #333;
}
@media only screen and (min-width:751px){
input[type="submit"]:hover {
    background-color: #eaeaea;
    color: #333;
}   
}


/* module
------------------------------------------------- */
.grecaptcha-badge {
  visibility: hidden;
}
.alignCenter {text-align: center;}
.alignLeft {text-align: left;}
.alignRight {text-align: right;}
.valignTop {vertical-align: top;}
.valignMiddle {vertical-align: middle;}
.valignBottom {vertical-align: bottom;}

.regular { font-weight: 400; }
.medium { font-weight: 500; }
.semibold { font-weight: 600; }
.bold { font-weight: 700; }

.pcon { display: block; }
.spon { display: none; }
@media only screen and (max-width:750px){
.pcon { display: none; }
.spon { display: block; }
}


/* a
------------------------------------------------- */
a {
    margin: 0;
    padding: 0;
    font-size: 100%;
    vertical-align: baseline;
	text-decoration: none;
	outline: none;
    color: #333;
}
@media only screen and (min-width:751px){
a {
    transition: 0.4s;
}
a.al:hover {
	opacity: 0.6;
	filter: alpha(opacity=70);
	-ms-filter: "alpha(opacity=70)";
}
.telLink {
	pointer-events: none;
}
}


/* font
------------------------------------------------- */
@media only screen and (min-width:751px){
.fo10 { font-size: 10px; }
.fo11 { font-size: 11px; }
.fo12 { font-size: 12px; }
.fo13 { font-size: 13px; }
.fo14 { font-size: 14px; }
.fo15 { font-size: 15px; }
.fo16 { font-size: 16px; }
.fo17 { font-size: 17px; }
.fo18 { font-size: 18px; }
.fo19 { font-size: 19px; }
.fo20 { font-size: 20px; }
.fo21 { font-size: 21px; }
.fo22 { font-size: 22px; }
.fo26 { font-size: 26px; }
.fo28 { font-size: 28px; }
.fo29 { font-size: 29px; }
.fo33 { font-size: 33px; }
.fo34 { font-size: 34px; }
.fo40 { font-size: 40px; }
.fo41 { font-size: 41px; }
.fo44 { font-size: 44px; }
.fo46 { font-size: 46px; }
.fo64 { font-size: 64px; }
}
@media only screen and (min-width:751px) and (max-width:1366px){
.fo10 { font-size: 0.73206vw; }
.fo11 { font-size: 0.80527vw; }
.fo12 { font-size: 0.87847vw; }
.fo13 { font-size: 0.95168vw; }
.fo14 { font-size: 1.02489vw; }
.fo15 { font-size: 1.09809vw; }
.fo16 { font-size: 1.1713vw; }
.fo17 { font-size: 1.2445vw; }
.fo18 { font-size: 1.31771vw; }
.fo19 { font-size: 1.39092vw; }
.fo20 { font-size: 1.46412vw; }
.fo21 { font-size: 1.53733vw; }
.fo22 { font-size: 1.61054vw; }
.fo26 { font-size: 1.90336vw; }
.fo28 { font-size: 2.04978vw; }
.fo29 { font-size: 2.12298vw; }
.fo33 { font-size: 2.41581vw; }
.fo34 { font-size: 2.48901vw }
.fo40 { font-size: 2.92825vw; }
.fo41 { font-size: 3.00146vw; }
.fo44 { font-size: 3.22108vw; }
.fo46 { font-size: 3.36749vw; }
.fo64 { font-size: 4.68521vw; }
}


/* html
------------------------------------------------- */
html {
    font-size: 16px;
	overflow-x: hidden;
}
@media only screen and (min-width:751px) and (max-width:1366px){
html {
	font-size: 1.1713vw;
}
}
@media only screen and (max-width:750px){
html {
    font-size: 3.2vw;
}
}


/* body
------------------------------------------------- */
body {
    background-color: #fff;
    font-family: "Noto Serif JP", serif;
    font-optical-sizing: auto;
    font-weight: 500;
    font-style: normal;
	font-size: 16px;
	line-height: 2.1875;
    letter-spacing: 0.03em;
	color: #333;
	-webkit-text-size-adjust: 100%;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    overflow-x: hidden;
    position: relative;
    opacity: 0;
}
body.nav-active {
    overflow: hidden;
}
.eng {
    font-family: "EB Garamond", serif;
    font-optical-sizing: auto;
    font-style: normal;
    font-weight: 400;
}
@media only screen and (min-width:751px) and (max-width:1366px){
body {
	font-size: 1.1713vw;
}
input[type="button"], input[type="text"], input[type="email"], input[type="tel"], input[type="submit"], input[type="reset"], textarea, select {
	font-size: 1.02489vw;
}
}
@media only screen and (max-width:750px){
body {
	font-size: 3.2vw;
}
input[type="button"], input[type="text"], input[type="email"], input[type="tel"], input[type="submit"], input[type="reset"], textarea, select {
	font-size: 2.8vw;
}
}


/* wrapper
------------------------------------------------- */
#wrapper {
	width: 100%;
	margin: 0 auto;
	clear: both;
    position: relative;
    transition: 0.3s;
	z-index: 3;
}


/* layout
------------------------------------------------- */
.inner {
    width: 100%;
    max-width: 1366px;
	margin: 0 auto;
    padding: 0 6.5em;
	clear: both;
	position: relative;
    box-sizing: border-box;
}
.d-flex {
    display: flex;
}
.f-wrap {
    flex-wrap: wrap;
}
.f-rev {
    flex-direction: row-reverse;
}
.just-center {
    justify-content: center;
}
.just-between {
    justify-content: space-between;
}
.just-end {
    justify-content: flex-end;
}
.align-center {
    align-items: center;
}
.align-start {
    align-items: flex-start;
}
.align-end {
    align-items: flex-end;
}
@media only screen and (max-width:750px){
.inner {
    width: 88%;
    padding: 0;
}
.d-flex {
    display: block;
}
}


/* header
------------------------------------------------- */
#header {
    width: 100%;
    height: 5.75em;
    position: fixed;
    left: 0;
    top: 0;
    z-index: 90;
    transition: 0.4s;
}
#header .logo {
    width: 21.06255em;
    margin: 1.075em auto 0;
}
.hbg #header {
    background-color: #a5946f;
}
@media only screen and (max-width:750px){
#header {
    height: 17vw;
}
#header .logo {
    width: 58.133vw;
    margin: 4vw auto 0;
}
}


/* navtoggle
------------------------------------------------- */
#navtoggle {
    width: 2.5em;
    height: 2.25em;
    position: fixed;
    left: 3.3125em;
    top: 2.15em;
    text-align: center;
    color: #fff;
    cursor: pointer;
    z-index: 98;
    transition: 0.2s;
}
#navtoggle div {
    width: 100%;
    height: 100%;
    position: relative;
}
#navtoggle span {
    display: block;
    width: 100%;
    height: 0.125em;
    background-color: #fff;
    position: absolute;
    left: 0;
    transition: 0.3s ease-in-out;
}
#navtoggle span:nth-child(1) {
    top: 0;
}
#navtoggle span:nth-child(2) {
    top: 0.625em;
}
#navtoggle p {
    width: 100%;
    line-height: 1;
    text-align: center;
    position: absolute;
    left: 0;
    bottom: -0.2em;
}
#navtoggle p::before {
    content: 'Menu';
    width: 100%;
    text-align: center;
    position: absolute;
    left: 0;
    bottom: 0;
}
.nav-active #navtoggle span:nth-child(1) {
    top: 0.3125em;
	transform: rotate(45deg);
}
.nav-active #navtoggle span:nth-child(2) {
    top: 0.3125em;
	transform: rotate(-45deg);
}
.nav-active #navtoggle p::before {
    content: 'Close';
}
.is-movie #navtoggle {
    opacity: 0;
}
@media only screen and (max-width:750px){
#navtoggle {
    width: 8.533vw;
    height: 7.733vw;
    left: auto;
    right: 4.266vw;
    top: 5.466vw;
}
#navtoggle span {
    height: 0.4vw;
}
#navtoggle span:nth-child(1) {
    top: 0;
}
#navtoggle span:nth-child(2) {
    top: 2.266vw;
}
#navtoggle p {
    font-size: 3.08vw;
}
.nav-active #navtoggle span:nth-child(1) {
    top: 1.133vw;
}
.nav-active #navtoggle span:nth-child(2) {
    top: 1.133vw;
}
}


/* gnav
------------------------------------------------- */
@media only screen and (min-width:751px){
#gnav {
    display: none;
    width: 100%;
    height: 100%;
    background-color: #a5946f;
    position: fixed;
    left: 0;
    top: 0;
    z-index: 94;
    overflow-y: auto;
}
#gnav .logo {
    width: 21.06255em;
    margin: 1.075em auto 0;
}
#gnav .gnav {
    max-width: 1366px;
    margin: 0 auto;
    padding: 6.5em 11em;
    box-sizing: border-box;
}
#gnav .gnav ul li {
    margin-bottom: 1.1em;
}
#gnav .gnav ul li.insta {
    width: 1.55em;
}
#gnav .gnav ul li a {
    line-height: 2;
    letter-spacing: 0.075em;
    color: #fff;
    position: relative;
}
#gnav .gnav ul li a::after {
    content: '';
    background: #fff;
    width: 100%;
    height: 1px;
    position: absolute;
    left: 0;
    bottom: -0.25em;
    transform-origin: right top;
    transform: scale(0, 1);
    transition: transform .3s;
}
#gnav .gnav ul li a:hover::after {
    transform-origin: left top;
    transform: scale(1, 1);
}
#gnav .gnav ul li.insta a::after {
    display: none;
}
#gnav .gnav .lang {
    display: none;
}
}
@media only screen and (max-width:750px){
#gnav {
    width: 100%;
    height: 100lvh;
    background-color: #a5946f;
    padding-bottom: 20vw;
    text-align: center;
    position: fixed;
    left: 0;
    top: 0;
    z-index: 94;
    box-sizing: border-box;
    display: none;
    overflow-y: auto;
}
#gnav .logo {
    width: 58.133vw;
    margin: 4vw auto 0;
}
#gnav .gnav {
    padding: 12.5vw 0 20vw;
}
#gnav .gnav ul {
    font-size: 3.96vw;
}
#gnav .gnav ul li {
    margin-bottom: 1.05em;
}
#gnav .gnav ul li.insta {
    width: 6.266vw;
    margin: 0 auto 1.5em;
}
#gnav .gnav ul li a {
    line-height: 2;
    letter-spacing: 0.075em;
    color: #fff;
}
#gnav .gnav .lang {
    font-size: 3.466vw;
    width: 8em;
    margin: 0 auto;
}  
#gnav .gnav .lang .trp-language-item-name {
    font-family: "EB Garamond", serif;
    font-optical-sizing: auto;
    font-style: normal;
    font-weight: 400;
	font-size: 3.466vw;
    letter-spacing: 0.03em;
    overflow: inherit;
}
#gnav .gnav .lang .trp-shortcode-arrow {
    width: 1em;
    height: 1em;
    margin-top: 0.2em;
}
#gnav .gnav .lang .trp-language-item {
    padding: 0.55em 0.65em 0.55em 1em;
}
#gnav .gnav .lang .trp-shortcode-switcher {
    padding: 0.5em 0;
    transition: 0.4s;
}
}


/* hnav, snav
------------------------------------------------- */
@media only screen and (min-width:751px){
#hnav {
    width: 11.5385em;
    position: fixed;
    right: 3.69em;
    top: 2.3em;
    z-index: 92;
    transition: 0.2s;
}
.hbg #hnav.btnst1 a {
    background-color: rgba(0,0,0,0);
    border: 1px solid #fff;
    color: #fff;
}    
.hbg #hnav.btnst1 a::after {
    background-color: #fff;
}
.hbg #hnav.btnst1 a:hover {
    color: #333;
} 
.is-movie #hnav {
    opacity: 0;
}
#snav {
    display: none;
}
}
@media only screen and (max-width:750px){
#snav {
    width: 92vw;
    height: 9.2vw;
    font-size: 4.14vw;
    position: fixed;
    left: 4vw;
    bottom: 4vw;
    z-index: 92;
}
#snav a {
    width: 100%;
    background-color: #a5946f;
    font-weight: 400;
    letter-spacing: 0.07em;
    text-align: center;
    display: flex;
    justify-content: center;
    align-items: center;
}   
#snav a::after {
    content: '';
    width: 90vw;
    height: 7.2vw;
    background-color: rgba(0,0,0,0);
    border: 1px solid #fff;
    position: absolute;
    left: 1vw;
    top: 1vw;
    box-sizing: border-box;
    z-index: 2;
    transition: 0.4s;
}   
#snav a span {
    font-weight: 400;
    color: #fff;
    position: relative;
    transition: 0.4s;
    z-index: 3;
}
.is-movie #snav {
    opacity: 0;
}
#hnav {
    display: none;
} 
}


/* lang
------------------------------------------------- */
#lang {
    position: fixed;
    left: 8.625em;
    top: 1.25em;
    z-index: 98;
    transition: 0.2s;
}
#lang .trp-language-item-name {
    font-family: "EB Garamond", serif;
    font-optical-sizing: auto;
    font-style: normal;
    font-weight: 400;
	font-size: 16px;
    letter-spacing: 0.03em;
    overflow: inherit;
}
#lang .trp-shortcode-arrow {
    width: 1em;
    height: 1em;
    margin-top: 0.2em;
}
#lang .trp-language-item {
    padding: 0.55em 0.65em 0.55em 1em;
}
#lang .trp-shortcode-switcher {
    padding: 0.5em 0;
    transition: 0.4s;
}
#lang .trp-shortcode-switcher.is-open {
    background-color: #fff;
    box-shadow: 0 0.1875em 0.375em rgba(0,0,0,0.16);
}
#lang .trp-shortcode-switcher.is-open .trp-language-item-name {
    color: #333;
}
#lang .trp-shortcode-switcher.is-open .trp-shortcode-arrow path {
    stroke: #333;
}
#lang .trp-switcher-dropdown-list .trp-language-item span {
    position: relative;
}
#lang .trp-switcher-dropdown-list .trp-language-item span::after {
    content: '';
    background: #333;
    width: 100%;
    height: 1px;
    position: absolute;
    left: 0;
    bottom: -0.2em;
    transform-origin: right top;
    transform: scale(0, 1);
    transition: transform .3s;
}
#lang .trp-switcher-dropdown-list .trp-language-item:hover span::after {
    transform-origin: left top;
    transform: scale(1, 1);
}   

.hbg #lang .trp-shortcode-switcher.is-open {
    background-color: #a5946f;
}
.hbg #lang .trp-shortcode-switcher.is-open .trp-language-item-name {
    color: #fff;
}
.hbg #lang .trp-shortcode-switcher.is-open .trp-shortcode-arrow path {
    stroke: #fff;
}
.hbg #lang .trp-switcher-dropdown-list .trp-language-item span::after {
    background: #fff;
}

.nav-active #lang .trp-shortcode-switcher.is-open {
    background-color: #fff;
}
.nav-active #lang .trp-shortcode-switcher.is-open .trp-language-item-name {
    color: #333;
}
.nav-active #lang .trp-shortcode-switcher.is-open .trp-shortcode-arrow path {
    stroke: #333;
}
.nav-active #lang .trp-switcher-dropdown-list .trp-language-item span::after {
    background: #333;
}

.is-movie #lang {
    opacity: 0;
}
@media only screen and (min-width:751px) and (max-width:1366px){
#lang .trp-language-item-name {
    font-size: 1.02489vw;
}
}
@media only screen and (max-width:750px){
#lang {
    display: none;
}
}


/* contents
------------------------------------------------- */
#contents {
	width: 100%;
	clear: both;
    display: block;
}


/* headline
------------------------------------------------- */
.headline1 {
    font-weight: 500;
    line-height: 1.75;
    letter-spacing: 0.05em;
    text-align: center;
    margin-bottom: 1.5em;
}
.headline1 span {
    display: block;
    font-weight: 400;
    line-height: 1.25;
    padding-bottom: 0.15em;
}
.headline1 span sup {
    font-size: 50%;
}
@media only screen and (max-width:750px){
.headline1 {
    font-size: 3.6vw;
}
.headline1 span {
    font-size: 8.8vw;
    padding-bottom: 0.1em;
}
}


/* btnst
------------------------------------------------- */
.btnst1 {
    width: 9.375rem;
    height: 2.5rem;
}
.btnst1 a,
.btnst2 a {
    width: 100%;
    height: 100%;
    background-color: #fff;
    display: flex;
    justify-content: center;
    align-items: center;
    box-sizing: border-box;
    overflow: hidden;
    position: relative;
}
.btnst1 a::after,
.btnst2 a::after {
    content: '';
    width: 100%;
    height: 0;
    background-color: #eaeaea;
    border-radius: 50%;
    position: absolute;
    left: 0;
    right: 0;
    top: 50%;
    padding-top: 100%;
    opacity: 0;
    z-index: 1;
    transform: translateY(-50%) scale(0);
    transition: opacity 0.5s, transform 0s;
    transition-delay: 0s, 0.4s;
    box-sizing: border-box;
}
.btnst1 a span,
.btnst2 a span {
    position: relative;
    z-index: 2;
}
.btnst2 {
    width: 12.5rem;
    height: 3.2rem;
    margin: 0 auto;
}
.btnst2 a {
    background-color: #a5946f;
    border: 1px solid #a5946f;
    color: #fff;
}
.btnst2 a::after {
    background-color: #fff;
}
@media only screen and (min-width:751px){
.btnst1 a:hover::after,
.btnst2 a:hover::after {
    opacity: 1;
    transform: translateY(-50%) scale(1.1);
    transition-delay: 0s;
    transition: opacity 1s, transform 0.4s ease-in-out;
}
.btnst2 a:hover {
    color: #000;
}
}
@media only screen and (max-width:750px){
.btnst1 {
    font-size: 3vw;
    width: 30vw;
    height: 8vw;
}
.btnst1 a::after,
.btnst2 a::after {
    display: none;
}
.btnst2 {
    font-size: 3.266vw;
    width: 40vw;
    height: 10.66vw;
}
}


/* movie
------------------------------------------------- */
.is-movie #wrapper {
    z-index: 99;
}
.movie {
    width: 100%;
    margin: 0 auto;
    position: relative;
}
.movie.movie-btn {
    cursor: pointer;
}
.movie .btn {
    width: 4.625em;
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translateY(-50%) translateX(-50%);
    z-index: 2;
    display: none;
}
.movie.movie-btn .btn {
    display: block;
}
.movie video {
    display: block;
    width: 100%;
    height: auto;
}
.movie-modal {
    width: 100%;
    height: 100%;
    background: rgba(0,0,0,0.7);
    position: fixed;
    left: 0;
    top: 0;
    bottom: 0;
    right: 0;
    visibility: hidden;
    transition: 0.3s;
    opacity: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 99;
}
.movie-modal.is-active {
    visibility: visible;
    opacity: 1;
}
.movie-modal_content video {
    width: 100%;
    max-width: 68.75em;
}
.movie-modal_close {
    position: absolute;
    right: 2.5em;
    top: 2.5em;
}
.movie-modal_close span {
    display: block;
    width: 3.75em;
    height: 3.75em;
    text-align: center;
    margin-top: 2.5em;
    position: relative;
    cursor: pointer;
}
.movie-modal_close span::before,
.movie-modal_close span::after {
    content: '';
    width: 1px;
    height: 1.875em;
    position: absolute;
    background: #fff;
    transform: rotate(-45deg);
    z-index: 99;
}
.movie-modal_close span::after {
    transform: rotate(45deg);
}
@media only screen and (max-width:750px){
.movie {
    width: 188.44vw;
    height: 106vw;
    margin-left: -44.22vw;
}
.movie .btn {
    width: 15.33vw;
}
.movie-modal {
    background: rgba(0,0,0,1);
}
.movie-modal_close {
    right: 3vw;
    top: 0;
}
.movie-modal_close span {
    margin-top: 2em;
}
}


/* programs
------------------------------------------------- */
.programs ul li {
    width: 23.125em;
    padding: 0 3.25em 1.25em;
    margin-bottom: 4.375em;
    text-align: center;
    border-right: 1px solid #000;
    box-sizing: border-box;
}
.programs ul li:nth-child(3n-2) {
    border-left: 1px solid #000;
}
.programs ul li a {
    display: block;
}
.programs ul li a .ttl {
    font-weight: 400;
    letter-spacing: 0.05em;
    line-height: 1.15;
    transition: 0.4s;
}
.programs ul li a .ttl span {
    display: block;
    line-height: 1.25;
    padding-bottom: 0.25em;
}
.programs ul li a .photo {
    width: 16.125em;
    height: 7.3125em;
    margin: 1.25em auto 1em;
    overflow: hidden;
}
.programs ul li a .photo img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: 0.4s;
}
.programs ul li a p {
    line-height: 1.45;
    transition: 0.4s;
}
@media only screen and (min-width:751px){
.programs ul li a:hover .photo img {
    transform: scale(1.05);
}
.programs ul li a:hover h4,
.programs ul li a:hover p {
    opacity: 0.6;
}
}
@media only screen and (max-width:750px){
.programs ul {
    padding: 6vw 0 9vw;
}
.programs ul li {
    width: 84.8vw;
    padding: 5vw 11.33vw 7.35vw;
    margin: 0 auto;
    border-bottom: 1px solid #000;
    border-right: none;
}
.programs ul li:nth-child(3n-2) {
    border-left: none;
}
.programs ul li:nth-child(1) {
    border-top: 1px solid #000;
}
.programs ul li a .ttl {
    font-size: 4.622vw;
}
.programs ul li a .ttl span {
    font-size: 7.441vw;
    line-height: 1.25;
}
.programs ul li a .photo {
    width: 61.466vw;
    height: 28vw;
    margin: 1.5em auto 1em;
}
.programs ul li a p {
    font-size: 3.236vw;
}
}


/* newslist
------------------------------------------------- */
.newslist ul li {
    width: 31.55%;
    margin-right: 2.675%;
}
.newslist ul li:nth-child(3n) {
    margin-right: 0;
}
.newslist ul li a {
    display: block;
    width: 100%;
    height: 100%;
    color: #2e2e2e;
}
.newslist ul li a .cover {
    width: 100%;
    height: 15.125em;
    overflow: hidden;
    margin-bottom: 1.25em;
    position: relative;
}
.newslist ul li a .cover img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: 0.4s;
}
.newslist ul li a .ttl {
    font-weight: 500;
    line-height: 1.5;
    transition: 0.4s;
}
.newslist ul li a .ttl span {
    display: inline-block;
    border-bottom: 1px solid #2e2e2e;
    padding-bottom: 0.25em;
    margin-bottom: 0.5em;
}
@media only screen and (min-width:751px){
.newslist ul li a:hover .cover img {
    transform: scale(1.05);
}
.newslist ul li a:hover .ttl {
    opacity: 0.6;
}
}
@media only screen and (max-width:750px){
.newslist ul li {
    width: 100%;
    margin: 0 0 11vw;
}
.newslist ul li a .cover {
    height: 57vw;
}
.newslist ul li a .ttl {
    font-size: 2.876vw;
}
.newslist ul li a .ttl span {
    padding-bottom: 0.35em;
    margin-bottom: 0.75em;
}
}


/* pagination
------------------------------------------------- */
.pagination ul {
    display: flex;
    justify-content: center;
    align-items: center;
    padding-bottom: 4em;
}
.pagination ul li {
    margin: 0 0.6em;
    position: relative;
}
.pagination ul li::after {
    content: '';
    width: 0.05em;
    height: 92%;
    background-color: #000;
    position: absolute;
    right: -0.6em;
    top: 8%;
}
.pagination ul li:last-child::after {
    display: none;
}
.pagination ul li a,
.pagination ul li span {
    display: block;
    line-height: 1.2;
    border-bottom: 0.05em solid #000;
    text-align: center;
    position: relative;
    transition: 0.4s;
}
.pagination ul li span.current {
    border-color: #fff;
}
.pagination ul li span.extend {
    border-bottom: none;
}
@media only screen and (min-width:751px){
.pagination ul li a:hover {
    border-color: #fff;
}
}


/* information
------------------------------------------------- */
.information {
    padding: 5.625em 0 5.125em;
}
.information .con {
    width: 45.75%;
}
.information .con h3 {
    width: 22.125em;
    margin: 0.875em 0 1.5625em;
}
.information .con table {
    width: 100%;
}
.information .con table th,
.information .con table td {
    font-weight: 500;
    line-height: 1.57;
    letter-spacing: 0.07em;
    text-align: left;
    vertical-align: top;
    border-top: 1px solid #e0e0e0;
    border-bottom: 1px solid #e0e0e0;
    padding: 1.55em 0;
}
.information .con table th {
    width: 20%;
}
.translatepress-en_US .information .con table th {
    width: 30%;
}
.information .con table td .btn {
    margin-top: 0.75em;
}
.information .con table td .btn a {
    width: 14.15em;
    height: 2.8em;
    background: url('data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2211%22%20height%3D%2211%22%20viewBox%3D%220%200%2011%2011%22%3E%20%3Cdefs%3E%20%3ClinearGradient%20id%3D%22linear-gradient%22%20x1%3D%220.5%22%20x2%3D%220.5%22%20y2%3D%221%22%20gradientUnits%3D%22objectBoundingBox%22%3E%20%3Cstop%20offset%3D%220%22%20stop-color%3D%22%2364f0b8%22%2F%3E%20%3Cstop%20offset%3D%221%22%20stop-color%3D%22%230031ff%22%2F%3E%20%3C%2FlinearGradient%3E%20%3CclipPath%20id%3D%22clip-path%22%3E%20%3Crect%20id%3D%22%E9%95%B7%E6%96%B9%E5%BD%A2_146%22%20data-name%3D%22%E9%95%B7%E6%96%B9%E5%BD%A2%20146%22%20width%3D%2211%22%20height%3D%2211%22%20transform%3D%22translate(0%200.223)%22%20fill%3D%22none%22%2F%3E%20%3C%2FclipPath%3E%20%3CclipPath%20id%3D%22clip-path-2%22%3E%20%3Crect%20id%3D%22%E9%95%B7%E6%96%B9%E5%BD%A2_147%22%20data-name%3D%22%E9%95%B7%E6%96%B9%E5%BD%A2%20147%22%20width%3D%2211%22%20height%3D%2211%22%20transform%3D%22translate(0%200.223)%22%20fill%3D%22url(%23linear-gradient)%22%2F%3E%20%3C%2FclipPath%3E%20%3C%2Fdefs%3E%20%3Cg%20id%3D%22%E3%82%B0%E3%83%AB%E3%83%BC%E3%83%97_217%22%20data-name%3D%22%E3%82%B0%E3%83%AB%E3%83%BC%E3%83%97%20217%22%20transform%3D%22translate(0%20-0.223)%22%3E%20%3Cg%20id%3D%22%E3%82%B0%E3%83%AB%E3%83%BC%E3%83%97_214%22%20data-name%3D%22%E3%82%B0%E3%83%AB%E3%83%BC%E3%83%97%20214%22%3E%20%3Cg%20id%3D%22%E3%82%B0%E3%83%AB%E3%83%BC%E3%83%97_213%22%20data-name%3D%22%E3%82%B0%E3%83%AB%E3%83%BC%E3%83%97%20213%22%20clip-path%3D%22url(%23clip-path)%22%3E%20%3Cpath%20id%3D%22%E3%83%91%E3%82%B9_8%22%20data-name%3D%22%E3%83%91%E3%82%B9%208%22%20d%3D%22M4.5.723H.5v10h9v-3%22%20fill%3D%22none%22%20stroke%3D%22%23313131%22%20stroke-miterlimit%3D%2210%22%20stroke-width%3D%221.175%22%2F%3E%20%3C%2Fg%3E%20%3C%2Fg%3E%20%3Cpath%20id%3D%22%E3%83%91%E3%82%B9_9%22%20data-name%3D%22%E3%83%91%E3%82%B9%209%22%20d%3D%22M6%2C.223l5%2C5v-5Z%22%20fill%3D%22%23313131%22%2F%3E%20%3Cg%20id%3D%22%E3%82%B0%E3%83%AB%E3%83%BC%E3%83%97_216%22%20data-name%3D%22%E3%82%B0%E3%83%AB%E3%83%BC%E3%83%97%20216%22%3E%20%3Cg%20id%3D%22%E3%82%B0%E3%83%AB%E3%83%BC%E3%83%97_215%22%20data-name%3D%22%E3%82%B0%E3%83%AB%E3%83%BC%E3%83%97%20215%22%20clip-path%3D%22url(%23clip-path-2)%22%3E%20%3Cline%20id%3D%22%E7%B7%9A_29%22%20data-name%3D%22%E7%B7%9A%2029%22%20x1%3D%224%22%20y2%3D%224%22%20transform%3D%22translate(5.5%201.723)%22%20fill%3D%22none%22%20stroke%3D%22%23313131%22%20stroke-miterlimit%3D%2210%22%20stroke-width%3D%221.175%22%2F%3E%20%3C%2Fg%3E%20%3C%2Fg%3E%20%3C%2Fg%3E%3C%2Fsvg%3E') 89% center no-repeat;
    background-size: 0.9em auto;
    border: 1px solid #313131;
    border-radius: 2em;
    color: #313131;
    display: flex;
    justify-content: center;
    align-items: center;
    padding-right: 1.5em;
    box-sizing: border-box;
}
.translatepress-en_US .information .con table td .btn a {
    width: 16.15em;
}
.information .photo {
    width: 48.85%;
}
@media only screen and (min-width:751px){
.information .con table td .btn a:hover {
    background-image: url('data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2211%22%20height%3D%2211%22%20viewBox%3D%220%200%2011%2011%22%3E%20%3Cdefs%3E%20%3ClinearGradient%20id%3D%22linear-gradient%22%20x1%3D%220.5%22%20x2%3D%220.5%22%20y2%3D%221%22%20gradientUnits%3D%22objectBoundingBox%22%3E%20%3Cstop%20offset%3D%220%22%20stop-color%3D%22%2364f0b8%22%2F%3E%20%3Cstop%20offset%3D%221%22%20stop-color%3D%22%230031ff%22%2F%3E%20%3C%2FlinearGradient%3E%20%3CclipPath%20id%3D%22clip-path%22%3E%20%3Crect%20id%3D%22%E9%95%B7%E6%96%B9%E5%BD%A2_146%22%20data-name%3D%22%E9%95%B7%E6%96%B9%E5%BD%A2%20146%22%20width%3D%2211%22%20height%3D%2211%22%20transform%3D%22translate(0%200.223)%22%20fill%3D%22none%22%2F%3E%20%3C%2FclipPath%3E%20%3CclipPath%20id%3D%22clip-path-2%22%3E%20%3Crect%20id%3D%22%E9%95%B7%E6%96%B9%E5%BD%A2_147%22%20data-name%3D%22%E9%95%B7%E6%96%B9%E5%BD%A2%20147%22%20width%3D%2211%22%20height%3D%2211%22%20transform%3D%22translate(0%200.223)%22%20fill%3D%22url(%23linear-gradient)%22%2F%3E%20%3C%2FclipPath%3E%20%3C%2Fdefs%3E%20%3Cg%20id%3D%22%E3%82%B0%E3%83%AB%E3%83%BC%E3%83%97_217%22%20data-name%3D%22%E3%82%B0%E3%83%AB%E3%83%BC%E3%83%97%20217%22%20transform%3D%22translate(0%20-0.223)%22%3E%20%3Cg%20id%3D%22%E3%82%B0%E3%83%AB%E3%83%BC%E3%83%97_214%22%20data-name%3D%22%E3%82%B0%E3%83%AB%E3%83%BC%E3%83%97%20214%22%3E%20%3Cg%20id%3D%22%E3%82%B0%E3%83%AB%E3%83%BC%E3%83%97_213%22%20data-name%3D%22%E3%82%B0%E3%83%AB%E3%83%BC%E3%83%97%20213%22%20clip-path%3D%22url(%23clip-path)%22%3E%20%3Cpath%20id%3D%22%E3%83%91%E3%82%B9_8%22%20data-name%3D%22%E3%83%91%E3%82%B9%208%22%20d%3D%22M4.5.723H.5v10h9v-3%22%20fill%3D%22none%22%20stroke%3D%22%23ffffff%22%20stroke-miterlimit%3D%2210%22%20stroke-width%3D%221.175%22%2F%3E%20%3C%2Fg%3E%20%3C%2Fg%3E%20%3Cpath%20id%3D%22%E3%83%91%E3%82%B9_9%22%20data-name%3D%22%E3%83%91%E3%82%B9%209%22%20d%3D%22M6%2C.223l5%2C5v-5Z%22%20fill%3D%22%23ffffff%22%2F%3E%20%3Cg%20id%3D%22%E3%82%B0%E3%83%AB%E3%83%BC%E3%83%97_216%22%20data-name%3D%22%E3%82%B0%E3%83%AB%E3%83%BC%E3%83%97%20216%22%3E%20%3Cg%20id%3D%22%E3%82%B0%E3%83%AB%E3%83%BC%E3%83%97_215%22%20data-name%3D%22%E3%82%B0%E3%83%AB%E3%83%BC%E3%83%97%20215%22%20clip-path%3D%22url(%23clip-path-2)%22%3E%20%3Cline%20id%3D%22%E7%B7%9A_29%22%20data-name%3D%22%E7%B7%9A%2029%22%20x1%3D%224%22%20y2%3D%224%22%20transform%3D%22translate(5.5%201.723)%22%20fill%3D%22none%22%20stroke%3D%22%23ffffff%22%20stroke-miterlimit%3D%2210%22%20stroke-width%3D%221.175%22%2F%3E%20%3C%2Fg%3E%20%3C%2Fg%3E%20%3C%2Fg%3E%3C%2Fsvg%3E');
    background-color: #313131;
    color: #fff;
}
}
@media only screen and (max-width:750px){
.information {
    padding: 15.5vw 0 17.5vw;
}
.information .con {
    width: 85.33vw;
    margin: 0 auto;
}
.information .con h3 {
    width: 71.2vw;
    margin: 0 0 4.25vw;
}
.information .con table th,
.information .con table td {
    font-size: 2.8vw;
}
.information .con table th {
    width: 24.5%;
}
.translatepress-en_US .information .con table th {
    width: 35%;
}
.information .con table td .btn {
    font-size: 2.4vw;
    margin-top: 1em;
}
.information .photo {
    width: 100%;
    margin-top: 10vw;
}
}


/* contact
------------------------------------------------- */
#contact {
    height: 6.75em;
    background-color: #faf7f1;
    position: relative;
}
#contact .info {
    width: 15.625em;
}
#contact .info h3 {
    font-weight: 500;
    line-height: 1.6;
    letter-spacing: 0.01em;
}
#contact .tel {
    width: 19.6875em;
    text-align: center;
}
#contact .tel a {
    font-weight: 400;
    letter-spacing: 0.1em;
}
#contact .tel a span {
    font-weight: 300;
}
#contact .btnst1 {
    width: 13.23em;
    margin-left: 1em;
}
#contact .btnst1 a {
    background-color: rgba(0,0,0,0);
    border: 1px solid #333;
}
@media only screen and (max-width:750px){
#contact {
    height: 53.33vw;
    padding-top: 8vw;
    text-align: center;
    box-sizing: border-box;
}
#contact .info {
    width: 100%;
}
#contact .info h3 {
    font-size: 3.2vw;
    line-height: 1.6;
}
#contact .info h3 span {
    display: block;
}
#contact .tel {
    width: 100%;
}
#contact .tel a {
    font-size: 4.266vw;
}
#contact .tel a span {
    font-size: 7.6vw;
}
#contact .btnst1 {
    font-size: 2.444vw;
    width: 34.266vw;
    margin: 0 auto;
}
}


/* footer
------------------------------------------------- */
#footer {
    height: 15em;
    background-color: #a5946f;
    padding-top: 3.5625em;
    color: #fff;
    box-sizing: border-box;
    position: relative;
}
#footer a {
    color: #fff;
}
#footer .inner {
    padding: 0 4.0625em;
}
#footer .fnav {
    width: 60.625em;
}
#footer .fnav ul {
    margin-bottom: 1.64em;
}
.translatepress-en_US #footer .fnav ul.fo14 {
    font-size: 13px;
}
@media only screen and (min-width:751px) and (max-width:1366px){
.translatepress-en_US #footer .fnav ul.fo14 {
    font-size: 0.95168vw;
}
}
#footer .fnav ul li {
    margin-left: 2em;
}
#footer .fnav ul li.insta {
    width: 1.4285em;
}
#footer .fnav ul li.insta a img {
    vertical-align: middle;
}
#footer .fnav ul li a {
    line-height: 1.4285;
    letter-spacing: 0.075em;
    position: relative;
}
#footer .fnav ul li a::after {
    content: '';
    background: #fff;
    width: 100%;
    height: 1px;
    position: absolute;
    left: 0;
    bottom: -0.15em;
    transform-origin: right top;
    transform: scale(0, 1);
    transition: transform .3s;
}
#footer .fnav ul li.insta a::after,
#footer .fnav ul li.btnst1 a::after {
    display: none;
}
#footer .fnav ul li.btnst1 {
    width: 8.5rem;
}
#footer .fnav ul li.btnst1 a {
    height: 3em;
    background-color: rgba(0,0,0,0);
    border: 1px solid #fff;
}
#footer .fnav ul li.btnst1 a::before {
    content: '';
    width: 100%;
    height: 0;
    background-color: #fff;
    border-radius: 50%;
    position: absolute;
    left: 0;
    right: 0;
    top: 50%;
    padding-top: 100%;
    opacity: 0;
    z-index: 1;
    transform: translateY(-50%) scale(0);
    transition: opacity 0.5s, transform 0s;
    transition-delay: 0s, 0.4s;
    box-sizing: border-box;
}
#footer .fnav .lang {
    display: none;
}
#footer .info {
    width: 12.625em;
}
#footer .info address {
    line-height: 1.725;
    letter-spacing: 0.075em;
    padding-top: 1.5em;
}
#footer small {
    display: block;
    letter-spacing: 0.075em;
    position: absolute;
    right: 5.9em;
    bottom: -1em;
}
@media only screen and (min-width:751px){
#footer .fnav ul li a:hover::after {
    transform-origin: left top;
    transform: scale(1, 1);
}
#footer .fnav ul li.btnst1 a:hover {
    color: #333;
}
#footer .fnav ul li.btnst1 a:hover::before {
    opacity: 1;
    transform: translateY(-50%) scale(1.1);
    transition-delay: 0s;
    transition: opacity 0.8s, transform 0.4s ease-in-out;
}
}
@media only screen and (max-width:750px){
#footer {
    height: auto;
    padding: 14.5vw 0 8vw;
    text-align: center;
}
#footer .inner {
    padding: 0;
}
#footer .fnav {
    width: 100%;
}
#footer .fnav ul {
    font-size: 3.466vw;
    margin-bottom: 0;
}
#footer .fnav ul li {
    margin: 0 0 2.25vw;
}
#footer .fnav ul li.insta {
    width: 4.4vw;
    margin: 0 auto 2vw;
}
#footer .fnav ul li a::after {
    display: none;
}
#footer .fnav ul li.btnst1 {
    font-size: 3.45vw;
    width: 45.33vw;
    height: 7vw;
    margin: 3.25vw auto 2vw;
}
#footer .fnav ul li.btnst1 a {
    height: 7vw;
}
#footer .fnav ul li.btnst1 a::before {
    display: none;
}
#footer .fnav .lang {
    display: block;
    width: 8em;
    margin: 0 auto;
}
#footer .fnav .lang .trp-language-item-name {
    font-family: "EB Garamond", serif;
    font-optical-sizing: auto;
    font-style: normal;
    font-weight: 400;
	font-size: 3.733vw;
    letter-spacing: 0.03em;
    overflow: inherit;
}
#footer .fnav .lang .trp-shortcode-arrow {
    width: 1em;
    height: 1em;
    margin-top: 0.2em;
}
#footer .fnav .lang .trp-language-item {
    padding: 0.55em 0.65em 0.55em 1em;
}
#footer .fnav .lang .trp-shortcode-switcher {
    padding: 0.5em 0;
    transition: 0.4s;
}    
#footer .info {
    width: 100%;
    padding-top: 15vw;
}
#footer .logo {
    width: 55.6vw;
    margin: 0 auto;
}
#footer .info address {
    font-size: 3.488vw;
    line-height: 1.66;
    padding: 4vw 0 7.6vw;
}
#footer small {
    font-size: 2.6vw;
    letter-spacing: 0.07em;
    position: static;
}
}


/* idPad
------------------------------------------------- */
.idPad {
    padding-top: 5.6em;
    margin-top: -5.6em;
}
@media only screen and (max-width:750px){
.idPad {
    padding-top: 7em;
    margin-top: -7em;
}
}


/* animation
------------------------------------------------- */
.fadeIn {
    opacity: 0;
}
.fadeIn.isAnimate {
    animation: fadeIn 0.7s ease 0.1s 1 forwards;
}
@keyframes fadeIn {
    0% {
        opacity: 0;
        transform: translateY(30px);
    }
    100% {
        opacity: 1;
        transform: translateY(0);
    }
}
@keyframes zoomUp {
	0% {
		transform: scale(1);
	}
	100% {
		transform: scale(1.08);
	}
}