@charset "UTF-8";


@import url('https://fonts.googleapis.com/css2?family=Lato&family=Noto+Serif+JP:wght@500;700&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%;
    vertical-align: baseline;
    background: transparent;
}
article,aside,details,figcaption,figure,
footer,header,hgroup,menu,nav,section { 
    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=checkbox], input[type="submit"], input[type="reset"], textarea, select {
	-webkit-appearance: none;
	border-radius: 0;
    font-weight: 500;
    outline: 0;
}
input[type="text"], input[type=checkbox], textarea, select {
	font-family: "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3" , "Hiragino Kaku Gothic Pro" , "メイリオ" , Meiryo , "ＭＳ Ｐ ゴシック" , "MS PGothic" , sans-serif;
}
input[type=checkbox] {
    display: none;
}
input[type=checkbox] + span {
    box-sizing: border-box;
    cursor: pointer;
    display: inline-block;
    padding: 0.2em 2.5em 0.2em 1.5em;
    position: relative;
    width: auto;
}
input[type=checkbox] + span::before {
    background: #fff;
    border: 1px solid #C9C9C9;
    content: '';
    display: block;
    height: 1em;
    left: 0em;
    margin-top: -0.6em;
    position: absolute;
    top: 50%;
    width: 1em;
    border-radius: 0.25em;
}
input[type=checkbox] + span::after {
    border-right: 0.133em solid #fff;
    border-bottom: 0.133em solid #fff;
    content: '';
    display: block;
    height: 0.6em;
    left: 0.35em;
    margin-top: -0.5em;
    opacity: 0;
    position: absolute;
    top: 50%;
    transform: rotate(45deg) translate3d(0,2px,0) scale3d(.7,.7,1);
    transition: transform .2s ease-in-out, opacity .2s ease-in-out;
    width: 0.3em;
}
input[type=checkbox]:checked + span::before {
    border-color: #023A90;
    background-color: #023A90;
}
input[type=checkbox]:checked + span::after {
    opacity: 1;
    transform: rotate(45deg) scale3d(1,1,1);
}
select {
    height: 3.3em;
	padding: 0 1em;
	cursor: pointer;
	text-indent: 0.01px;
	text-overflow: ellipsis;
	border: none;
	outline: none;
	background-image: none;
	box-shadow: none;
	-webkit-appearance: none;
	appearance: none;
    background: url('data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%228%22%20height%3D%225.149%22%20viewBox%3D%220%200%208%205.149%22%3E%20%3Cpath%20id%3D%22%E3%83%91%E3%82%B9_11235%22%20data-name%3D%22%E3%83%91%E3%82%B9%2011235%22%20d%3D%22M4%2C0%2C8%2C5.149H0Z%22%20transform%3D%22translate(8%205.149)%20rotate(180)%22%20fill%3D%22%23023a90%22%2F%3E%3C%2Fsvg%3E') 88% center no-repeat #F5F5F5;
    background-size: 0.5em auto;
    box-sizing: border-box;
}
select::-ms-expand {
    display: none;
}
@media only screen and (max-width:750px){
input[type=checkbox] + span {
    padding: 0.2em 2em 0.2em 1.5em;
}
}


/* module
------------------------------------------------- */
.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: #2C2B28;
}
@media only screen and (min-width:751px){
a {
    transition: 0.4s;
}
a.al:hover {
    text-decoration: none;
	opacity: 0.7;
	filter: alpha(opacity=70);
	-ms-filter: "alpha(opacity=70)";
}
a.al:hover img {
    text-decoration: none;
	opacity: 0.7;
	filter: alpha(opacity=70);
	-ms-filter: "alpha(opacity=70)";
    display: block;
}
.telLink {
	pointer-events: none;
}
}


/* font
------------------------------------------------- */
@media only screen and (min-width:751px){
.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; }
.fo20 { font-size: 20px; }
.fo22 { font-size: 22px; }
.fo24 { font-size: 24px; }
.fo26 { font-size: 26px; }
.fo27 { font-size: 27px; }
.fo28 { font-size: 28px; }
.fo30 { font-size: 30px; }
.fo32 { font-size: 32px; }
.fo34 { font-size: 34px; }
.fo42 { font-size: 42px; }
.fo44 { font-size: 44px; }
.fo46 { font-size: 46px; }
.fo56 { font-size: 56px; }
.fo66 { font-size: 66px; }
.fo80 { font-size: 80px; }
}
@media only screen and (min-width:751px) and (max-width:1366px){
.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; }
.fo20 { font-size: 1.46412vw; }
.fo22 { font-size: 1.61054vw; }
.fo24 { font-size: 1.75695vw; }
.fo26 { font-size: 1.90336vw; }
.fo27 { font-size: 1.97657vw; }
.fo28 { font-size: 2.04978vw; }
.fo30 { font-size: 2.19619vw; }
.fo32 { font-size: 2.3426vw; }
.fo34 { font-size: 2.48901vw; }
.fo42 { font-size: 3.07467vw; }
.fo44 { font-size: 3.22108vw; }
.fo46 { font-size: 3.36749vw; }
.fo56 { font-size: 4.09956vw; }
.fo66 { font-size: 4.83162vw; }
.fo80 { font-size: 5.85651vw; }
}


/* body
------------------------------------------------- */
body {
	font-family: "游明朝", "Yu Mincho", "游明朝体", "YuMincho", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "HiraMinProN-W3", "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", "Noto Serif JP", serif;
    font-weight: 500;
	font-size: 16px;
	line-height: 2.11;
	color: #2C2B28;
	-webkit-text-size-adjust: 100%;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}
_:lang(x)::-ms-backdrop, body {
    font-family: "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "HiraMinProN-W3", "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", "Noto Serif JP", serif;
    font-weight: 500;
}
.gothic {
    font-family: "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3" , "Hiragino Kaku Gothic Pro" , "メイリオ" , Meiryo , "ＭＳ Ｐ ゴシック" , "MS PGothic" , sans-serif;
    font-weight: 500;
}
_:lang(x)::-ms-backdrop, .gothic {
    font-family: "ヒラギノ角ゴ Pro W3" , "Hiragino Kaku Gothic Pro" , "メイリオ" , Meiryo , "ＭＳ Ｐ ゴシック" , "MS PGothic" , sans-serif;
    font-weight: 400;
}
.eng {
    font-family: 'Lato', sans-serif;
    font-weight: 500;
}
@media only screen and (min-width:751px) and (max-width:1366px){
body {
	font-size: 1.1713vw;
}
input[type="text"], textarea, select {
	font-size: 1.1713vw;
}
}
@media only screen and (max-width:750px){
body {
	font-size: 4vw;
    line-height: 2;
}
input[type="text"], textarea, select {
	font-size: 4vw;
}
}


/* wrapper
------------------------------------------------- */
#wrapper {
    width: 100%;
    margin: 0 auto;
    clear: both;
    position: relative;
}


/* header
------------------------------------------------- */
#header {
    width: 7.6875em;
    height: 100vh;
    position: fixed;
    right: 0;
    top: 0;
    display: flex;
    justify-content: center;
    z-index: 93;
}
#header .hnav {
    width: 100%;
    position: absolute;
    left: 0;
    bottom: 0;
}
#header .hnav ul li {
    width: 7.6875em;
    display: flex;
    justify-content: center;
    align-items: center;
}
#header .hnav ul li:nth-child(1) {
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
    padding-bottom: 9.125em;
    line-height: 1;
    letter-spacing: 0.05em;
}
#header .hnav ul li:nth-child(1) a {
    display: block;
    padding: 0.2em 0.1em;
}
#header .hnav ul li:nth-child(1) a.on {
    color: #fff;
    background-color: #2C2B28;
}
#header .hnav ul li:nth-child(2) a {
    width: 100%;
    height: 3.765em;
    background-color: #023A90;
    text-align: center;
    display: flex;
    justify-content: center;
    align-items: center;
    color: #fff;
    letter-spacing: 0.12em;
    position: absolute;
    left: 0;
    bottom: 3.765em;
}
#header .hnav ul li:nth-child(3) a {
    width: 100%;
    height: 4.57178em;
    background-color: #2C2B28;
    text-align: center;
    display: flex;
    justify-content: center;
    align-items: center;
    color: #fff;
    line-height: 1.285;
    letter-spacing: -0.03em;
    position: absolute;
    left: 0;
    bottom: 0;
}
@media only screen and (min-width:751px){
#header .logo {
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
    padding-top: 8.4375em;
    line-height: 1;
    font-weight: 500;
}
#header .logo i {
    display: none;
}
#header .hnav ul li:nth-child(1) a:hover {
    color: #fff;
    background-color: #2C2B28;
}
#header .hnav ul li:nth-child(2) a:hover {
    background-color: #0853C6;
}
#header .hnav ul li:nth-child(3) a:hover {
    background-color: #52514F;
}
}
@media only screen and (max-width:750px){
#header {
    width: 100%;
    height: 20.8vw;
    position: relative;
    justify-content: flex-start;
    align-items: center;
}
#header .logo {
    padding-left: 6.933vw;
    font-weight: 500;
}
#header .logo img {
    display: none;
}
#header .logo span {
    display: block;
    font-size: 3.733vw;
}
#header .hnav {
    display: none;
}
}


/* navtoggle
------------------------------------------------- */
#navtoggle {
    width: 3em;
    height: 2.625em;
    position: fixed;
    right: 2.34375em;
    top: 1.875em;
    cursor: pointer;
    z-index: 100;
}
#navtoggle div {
    width: 3em;
    height: 1.25em;
    position: relative;
}
#navtoggle span {
    display: block;
    position: absolute;
    width: 100%;
    height: 1px;
    background: #2C2B28;
    left: 0;
    transition: 0.4s ease-in-out;
}
#navtoggle span:nth-child(1) {
    top: 0;
}
#navtoggle span:nth-child(2) {
    top: 0.5em;
}
#navtoggle span:nth-child(3) {
    top: 1em;
}
#navtoggle p {
    text-align: center;
    letter-spacing: 0.06em;
}
#navtoggle p::before {
    content: 'MENU';
    transition: 0.4s;
    white-space: nowrap;
}
body.nav-active #navtoggle span {
	top: 0.5em;
}
body.nav-active #navtoggle span:nth-child(1) {
	transform: rotate(30deg);
}
body.nav-active #navtoggle span:nth-child(2) {
    width: 0;
}
body.nav-active #navtoggle span:nth-child(3) {
    transform: rotate(-30deg);
}
body.nav-active #navtoggle p::before {
    content: 'CLOSE'
}
@media only screen and (max-width:750px){
#navtoggle {
    width: 9.866vw;
    height: 8.533vw;
    right: 5.33vw;
    top: 6.133vw;
}
#navtoggle div {
    width: 9.866vw;
    height: 3.8vw;
}
#navtoggle span:nth-child(1) {
    top: 0;
}
#navtoggle span:nth-child(2) {
    top: 1.9vw;
}
#navtoggle span:nth-child(3) {
    top: 3.8vw;
}
#navtoggle p {
    font-size: 2.933vw;
    padding-top: 0.3vw;
}
body.nav-active #navtoggle span {
	top: 2vw;
}
}


/* #gnav
------------------------------------------------- */
#gnav {
    width: 100%;
    height: 100vh;
    background-color: #fff;
    position: fixed;
    top: 0;
    left: 0;
    display: none;
    z-index: 99;
}
#gnav .sec {
    width: 100%;
    height: 100vh;
    overflow-x: auto;
}
#gnav .logo {
    width: 14.6875em;
    white-space: nowrap;
    position: absolute;
    left: 32.8%;
    top: 6em;
    z-index: 3;
}
#gnav .logo img {
    display: block;
}
#gnav .info {
    position: absolute;
    left: 32.8%;
    bottom: 2.5em;
    z-index: 3;
}
#gnav .info .sns {
    display: flex;
    padding-bottom: 2em;
}
#gnav .info .sns li {
    width: 1.25em;
    margin-right: 2em;
}
#gnav .info .btnst1 li {
    margin-bottom: 0.5em;
}
#gnav .info .btnst1 li a {
  padding: 0 1.375em 0.5em 0;
}
#gnav .gnav {
    padding-left: 58%;
    position: relative;
    z-index: 2;
}
#gnav .gnav::before {
    content: '';
    width: 100%;
    height: 7em;
    position: fixed;
    bottom: 0;
    z-index: 2;
    background: linear-gradient(180deg,hsla(0,0%,100%,0),#fff);
}
#gnav .gnav ul {
    padding-top: 3.8em;
}
#gnav .gnav ul li {
    padding-bottom: 1.5em;
}
#gnav .gnav ul li a {
    display: block;
    line-height: 1.6;
}
#gnav .gnav ul li a.no {
    pointer-events: none;
}
#gnav .gnav ul li a span {
    display: block;
    color: #023A90;
}
#gnav .gnav ul li ul {
    width: 28.75em;
    padding: 1.2em 0 0.5em;
    display: flex;
    flex-wrap: wrap;
}
#gnav .gnav ul li ul li {
    width: 14em;
    padding-bottom: 0.3em;
}
#gnav .gnav ul li ul li a img {
    display: none;
}
#gnav .gnav ul li ul li a span {
    display: inline;
    color: #2C2B28;
}
#gnav .gnav small {
    color: #959595;
    line-height: 1;
    padding-top: 1em;
}
#gnav .gnav p {
    line-height: 1;
    margin-bottom: 7.5em;
}
#gnav .gnav p a {
    color: #959595;
    background: url('data:image/svg+xml;charset=utf8,%3Csvg%20id%3D%22%E6%96%B0%E3%81%97%E3%81%84%E3%82%A6%E3%82%A3%E3%83%B3%E3%83%89%E3%82%A6%E3%81%A7%E9%96%8B%E3%81%8F%E3%83%9C%E3%82%BF%E3%83%B3_2%22%20data-name%3D%22%E6%96%B0%E3%81%97%E3%81%84%E3%82%A6%E3%82%A3%E3%83%B3%E3%83%89%E3%82%A6%E3%81%A7%E9%96%8B%E3%81%8F%E3%83%9C%E3%82%BF%E3%83%B3%202%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2211.996%22%20height%3D%2211.996%22%20viewBox%3D%220%200%2011.996%2011.996%22%3E%20%3Cpath%20id%3D%22%E3%83%91%E3%82%B9_20069%22%20data-name%3D%22%E3%83%91%E3%82%B9%2020069%22%20d%3D%22M96%2C0V9.747h9.747V0Zm8.81%2C8.81H96.937V2.624h7.872Z%22%20transform%3D%22translate(-93.751)%22%20fill%3D%22%23959595%22%2F%3E%20%3Cpath%20id%3D%22%E3%83%91%E3%82%B9_20070%22%20data-name%3D%22%E3%83%91%E3%82%B9%2020070%22%20d%3D%22M.937%2C104.81V96H0v9.747H9.747v-.937H.937Z%22%20transform%3D%22translate(0%20-93.751)%22%20fill%3D%22%23959595%22%2F%3E%3C%2Fsvg%3E') right center no-repeat;
    background-size: 0.92em auto;
    padding-right: 1.7em;
}
#gnav .photo {
    width: 27.8%;
    height: 100vh;
    background: url("../img/gnav0.jpg") center center no-repeat;
    background-size: cover;
    position: absolute;
    left: 0;
    top: 0;
}
#gnav .photo ul li {
    width: 100%;
    height: 100vh;
    position: absolute;
    left: 0;
    top: 0;
    background-position: center center;
    background-repeat: no-repeat;
    background-size: cover;
    opacity: 0;
}
#gnav.gn1-active .photo ul li.ph1 {
    background-image: url("../img/gnav1-1.jpg");
}
#gnav.gn2-active .photo ul li.ph2 {
    background-image: url("../img/gnav1-2.jpg");
}
#gnav.gn3-active .photo ul li.ph3 {
    background-image: url("../img/gnav1-3.jpg");
}
#gnav.gn4-active .photo ul li.ph4 {
    background-image: url("../img/gnav1-4.jpg");   
}
#gnav.gn5-active .photo ul li.ph5 {
    background-image: url("../img/gnav2.jpg");
}
#gnav.gn6-active .photo ul li.ph6 {
    background-image: url("../img/gnav3.jpg");
}
#gnav.gn7-active .photo ul li.ph7 {
    background-image: url("../img/gnav4.jpg");
}
#gnav.gn8-active .photo ul li.ph8 {
    background-image: url("../img/gnav5.jpg");
}
#gnav.gn9-active .photo ul li.ph9 {
    background-image: url("../img/gnav6.jpg");
}
#gnav .copyright {
    display: none;
}
@media only screen and (min-width:751px){
#gnav .gnav ul li a:hover {
    color: #023A90;
}
#gnav .gnav ul li ul li a:hover span {
    color: #023A90;
}
}
@media only screen and (max-width:750px){
#gnav {
    width: 100%;
    height: 100vh;
    background-color: #fff;
    position: fixed;
    top: 0;
    left: 0;
    display: none;
    z-index: 99;
}
#gnav .sec {
    width: 100%;
    height: 100vh;
    overflow-x: auto;
}
#gnav .logo {
    font-size: 3.733vw;
    width: 100%;
    height: 34vw;
    position: static;
    padding: 8vw 0 0 8.5vw;
    box-sizing: border-box;
}
#gnav .logo img {
    width: 46.933vw;
}
#gnav .info {
    position: static;
}
#gnav .info .sns {
    justify-content: center;
    padding: 2em 0 0;
}
#gnav .info .sns li {
    width: 5.33vw;
    margin: 0 4.266vw;
}
#gnav .info .btnst1 {
    display: flex;
    justify-content: center;
    font-size: 3.466vw;
    padding-top: 3.5em;
}
#gnav .info .btnst1 li {
    margin: 0 3.466vw;
}
#gnav .info .btnst1 li a {
  padding: 0 1.375em 0.5em 0;
}
#gnav .gnav {
    padding: 0 8.5vw;
}
#gnav .gnav::before {
    display: none;
}
#gnav .gnav ul {
    padding-top: 0;
}
#gnav .gnav ul li {
    font-size: 4.8vw;
    padding-bottom: 0;
    border-top: 1px solid #E4E7EB;
}
#gnav .gnav ul li:first-child {
    border: none;
}
#gnav .gnav ul li a {
    display: flex;
    justify-content: space-between;
    align-items: center;
    line-height: 1.6;
    padding: 1em 0;
}
#gnav .gnav ul li a span {
    font-size: 2.933vw;
    display: block;
    color: #023A90;
}
#gnav .gnav ul li ul {
    width: 100%;
    justify-content: space-between;
    padding: 0 0 0.5em;
}
#gnav .gnav ul li ul li {
    font-size: 3.466vw;
    width: 47%;
    padding-bottom: 0.3em;
    border: none;
}
#gnav .gnav ul li ul li a {
    display: block;
    padding: 0 0 1em;
}
#gnav .gnav ul li ul li a img {
    display: block;
    padding-bottom: 0.3em;
}
#gnav .gnav ul li ul li a span {
    display: inline;
    color: #2C2B28;
}
#gnav .gnav small,
#gnav .gnav p {
    display: none;
}
#gnav .photo {
    display: none;
}
#gnav .copyright {
    display: block;
    text-align: center;
    padding-top: 2em;
}
#gnav .copyright small {
    font-size: 2.933vw;
    color: #959595;
    line-height: 1;
}
#gnav .copyright p {
    font-size: 3.477vw;
    line-height: 1;
    margin: 0.3em 0 35vw;
}
#gnav .copyright p a {
    color: #959595;
    background: url('data:image/svg+xml;charset=utf8,%3Csvg%20id%3D%22%E6%96%B0%E3%81%97%E3%81%84%E3%82%A6%E3%82%A3%E3%83%B3%E3%83%89%E3%82%A6%E3%81%A7%E9%96%8B%E3%81%8F%E3%83%9C%E3%82%BF%E3%83%B3_2%22%20data-name%3D%22%E6%96%B0%E3%81%97%E3%81%84%E3%82%A6%E3%82%A3%E3%83%B3%E3%83%89%E3%82%A6%E3%81%A7%E9%96%8B%E3%81%8F%E3%83%9C%E3%82%BF%E3%83%B3%202%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2211.996%22%20height%3D%2211.996%22%20viewBox%3D%220%200%2011.996%2011.996%22%3E%20%3Cpath%20id%3D%22%E3%83%91%E3%82%B9_20069%22%20data-name%3D%22%E3%83%91%E3%82%B9%2020069%22%20d%3D%22M96%2C0V9.747h9.747V0Zm8.81%2C8.81H96.937V2.624h7.872Z%22%20transform%3D%22translate(-93.751)%22%20fill%3D%22%23959595%22%2F%3E%20%3Cpath%20id%3D%22%E3%83%91%E3%82%B9_20070%22%20data-name%3D%22%E3%83%91%E3%82%B9%2020070%22%20d%3D%22M.937%2C104.81V96H0v9.747H9.747v-.937H.937Z%22%20transform%3D%22translate(0%20-93.751)%22%20fill%3D%22%23959595%22%2F%3E%3C%2Fsvg%3E') right center no-repeat;
    background-size: 0.92em auto;
    padding-right: 1.7em;
}
}


/* contents
------------------------------------------------- */
#contents {
	width: 100%;
	clear: both;
    display: block;
}
.inner {
    width: 100%;
    max-width: 1366px;
	margin: 0 auto;
    padding: 0 7.6875em;
	clear: both;
	position: relative;
    box-sizing: border-box;
}
.inner.wi93 {
    padding: 0 13.625em;
}
@media only screen and (max-width:750px){
.inner {
    width: 83%;
    padding: 0;
}
.inner.wi93 {
    padding: 0;
}
}


/* btnst
------------------------------------------------- */
.btnst1 a {
    background: url('data:image/svg+xml;charset=utf8,%3Csvg%20id%3D%22%E6%96%B0%E3%81%97%E3%81%84%E3%82%A6%E3%82%A3%E3%83%B3%E3%83%89%E3%82%A6%E3%81%A7%E9%96%8B%E3%81%8F%E3%83%9C%E3%82%BF%E3%83%B3_2%22%20data-name%3D%22%E6%96%B0%E3%81%97%E3%81%84%E3%82%A6%E3%82%A3%E3%83%B3%E3%83%89%E3%82%A6%E3%81%A7%E9%96%8B%E3%81%8F%E3%83%9C%E3%82%BF%E3%83%B3%202%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2211.996%22%20height%3D%2211.996%22%20viewBox%3D%220%200%2011.996%2011.996%22%3E%20%3Cpath%20id%3D%22%E3%83%91%E3%82%B9_20069%22%20data-name%3D%22%E3%83%91%E3%82%B9%2020069%22%20d%3D%22M96%2C0V9.747h9.747V0Zm8.81%2C8.81H96.937V2.624h7.872Z%22%20transform%3D%22translate(-93.751)%22%20fill%3D%22%23959595%22%2F%3E%20%3Cpath%20id%3D%22%E3%83%91%E3%82%B9_20070%22%20data-name%3D%22%E3%83%91%E3%82%B9%2020070%22%20d%3D%22M.937%2C104.81V96H0v9.747H9.747v-.937H.937Z%22%20transform%3D%22translate(0%20-93.751)%22%20fill%3D%22%23959595%22%2F%3E%3C%2Fsvg%3E') right 0.2em no-repeat;
    background-size: 0.75em auto;
    padding: 0 1.375em 0.7em 0;
    position: relative;
}
.btnst1 a::before {
    content: '';
    display: block;
    width: 0;
    height: 1px;
    background-color: #707070;
    position: absolute;
    left: 0;
    bottom: 0;
}
.btnst2 a {
    display: block;
    padding-left: 2.2em;
    position: relative;
}
.btnst2 a i {
    display: block;
    width: 1em;
    height: 1em;
    background-color: #fff;
    border: 1px solid #2C2B28;
    overflow: hidden;
    position: absolute;
    left: 0;
    top: 50%;
    margin-top: -0.5em;
}
.btnst2 a i::before {
    content: '';
    width: 0.5em;
    height: 0.3em;
    background: url('data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2213.029%22%20height%3D%228.69%22%20viewBox%3D%220%200%2013.029%208.69%22%3E%20%3Cpath%20id%3D%22Icon_ionic-ios-arrow-round-forward%22%20data-name%3D%22Icon%20ionic-ios-arrow-round-forward%22%20d%3D%22M16.184%2C11.418a.591.591%2C0%2C0%2C0%2C0%2C.833l2.752%2C2.756H8.459a.588.588%2C0%2C0%2C0%2C0%2C1.177H18.927L16.175%2C18.94a.6.6%2C0%2C0%2C0%2C0%2C.833.586.586%2C0%2C0%2C0%2C.828%2C0l3.729-3.756h0a.661.661%2C0%2C0%2C0%2C.122-.186A.562.562%2C0%2C0%2C0%2C20.9%2C15.6a.59.59%2C0%2C0%2C0-.167-.412l-3.729-3.756A.576.576%2C0%2C0%2C0%2C16.184%2C11.418Z%22%20transform%3D%22translate(-7.875%20-11.252)%22%20fill%3D%22%232c2b28%22%2F%3E%3C%2Fsvg%3E') left center no-repeat;
    background-size: 100% auto;
    position: absolute;
    left: 0.25em;
    top: 0.35em;
    transition: 0.4s;
}
@media only screen and (min-width:751px){
.btnst1 a::before {
    animation: line_before 0.4s cubic-bezier(.165,.84,.44,1) forwards;
}
.btnst1 a:hover::before {
    animation: line_after 0.4s cubic-bezier(.165,.84,.44,1) forwards;
}
.btnst2 a:hover i::before {
    animation: icon_left 0.5s cubic-bezier(.16,.5,.43,1) forwards;
}
}
@media only screen and (max-width:750px){
.btnst1 a::before {
    width: 100%;
}
.btnst2 a {
    padding-left: 1.8em;
}
}


/* footer
------------------------------------------------- */
#footer {
    margin-right: 7.6875em;
    border-top: 1px solid #D6D6D6;
    padding: 6.375em 0 5em;
    display: flex;
    justify-content: space-between;
}
#footer .info {
    padding: 0.5625em 0 0 7.875em;
}
#footer .info .logo {
    width: 16.5625em;
    margin-bottom: 3.75em;
}
#footer .info .logo img {
    padding-bottom: 0.4em;
}
#footer .info ul {
    display: flex;
}
#footer .info ul li {
    margin-right: 1.875em;
}
#footer .copyright ul {
    display: flex;
    justify-content: flex-end;
}
#footer .copyright ul li {
    width: 5em;
    margin-left: 1.5em;
}
#footer .copyright p {
    padding: 5em 0.25em 0 0;
    padding-top: 10em;
    line-height: 1;
    text-align: right;
    color: #959595;
}
#footer .copyright small {
    padding-right: 1.9em;
    margin-right: 1.9em;
    border-right: 1px solid #959595;
}
#footer .copyright p a {
    color: #959595;
    background: url('data:image/svg+xml;charset=utf8,%3Csvg%20id%3D%22%E6%96%B0%E3%81%97%E3%81%84%E3%82%A6%E3%82%A3%E3%83%B3%E3%83%89%E3%82%A6%E3%81%A7%E9%96%8B%E3%81%8F%E3%83%9C%E3%82%BF%E3%83%B3_2%22%20data-name%3D%22%E6%96%B0%E3%81%97%E3%81%84%E3%82%A6%E3%82%A3%E3%83%B3%E3%83%89%E3%82%A6%E3%81%A7%E9%96%8B%E3%81%8F%E3%83%9C%E3%82%BF%E3%83%B3%202%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2211.996%22%20height%3D%2211.996%22%20viewBox%3D%220%200%2011.996%2011.996%22%3E%20%3Cpath%20id%3D%22%E3%83%91%E3%82%B9_20069%22%20data-name%3D%22%E3%83%91%E3%82%B9%2020069%22%20d%3D%22M96%2C0V9.747h9.747V0Zm8.81%2C8.81H96.937V2.624h7.872Z%22%20transform%3D%22translate(-93.751)%22%20fill%3D%22%23959595%22%2F%3E%20%3Cpath%20id%3D%22%E3%83%91%E3%82%B9_20070%22%20data-name%3D%22%E3%83%91%E3%82%B9%2020070%22%20d%3D%22M.937%2C104.81V96H0v9.747H9.747v-.937H.937Z%22%20transform%3D%22translate(0%20-93.751)%22%20fill%3D%22%23959595%22%2F%3E%3C%2Fsvg%3E') right center no-repeat;
    background-size: 0.92em auto;
    padding-right: 1.7em;
}
@media only screen and (max-width:750px){
#footer {
    margin: 0;
    border-top: none;
    padding: 14.5vw 0 36.5vw;
    display: block;
}
#footer .info {
    padding: 0;
    position: relative;
}
#footer .info .logo {
    font-size: 3.733vw;
    width: 59.2vw;
    margin: 0 auto 7vw;
    text-align: center;
}
#footer .info .logo img {
    padding-bottom: 0.4em;
}
#footer .info ul {
    font-size: 3.466vw;
    display: flex;
    justify-content: center;
    width: 100%;
    position: absolute;
    left: 0;
    bottom: -43vw;
    bottom: -14vw;
}
#footer .info ul li {
    margin: 0 3.733vw;
}
#footer .copyright ul {
    display: flex;
    justify-content: center;
}
#footer .copyright ul li {
    width: 15.33vw;
    margin: 0 2.25vw;
}
#footer .copyright p {
    padding: 31.2vw 0 0;
    padding-top: 18vw;
    line-height: 1;
    text-align: center;
}
#footer .copyright small {
    font-size: 2.933vw;
    display: block;
    padding: 0 0 1em;
    margin-right: 0;
    border-right: none;
}
#footer .copyright p a {
    font-size: 3.466vw;
}
}


/* mnav
------------------------------------------------- */
#mnav {
    width: 14.4375em;
    position: fixed;
    left: 0.8125em;
    top: 1.0625em;
    z-index: 80;
}
#mnav ul li:nth-child(3) {
    display: none;
}
#mnav ul li a img.pc {
    display: block;
}
#mnav ul li a img.sp {
    display: none;
}
@media only screen and (max-width:750px){
#mnav {
    width: 100%;
    height: 27.733vw;
    background-color: #fff;
    padding: 1.6vw 1.6vw 0;
    left: 0;
    top: auto;
    bottom: -50vw;
    box-shadow: 0 -0.8vw 1.6vw 0 rgba(0,0,0,0.16);
    box-sizing: border-box;
    transition: 0.4s;
}
.is-scroll #mnav {
    bottom: 0;
}
#mnav ul {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
}  
#mnav ul li:nth-child(1) {
    width: 51.787%;
    margin-bottom: 1.6vw;
}
#mnav ul li:nth-child(2) {
    width: 46.038%;
    margin-bottom: 1.6vw;
}
#mnav ul li:nth-child(3) {
    display: block;
    width: 100%;
}
#mnav ul li:nth-child(3) a {
    width: 100%;
    height: 10.66vw;
    background-color: #2C2B28;
    border-radius: 0.375em;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 4.266vw;
    font-weight: 700;
    color: #FFFFFF;
    text-align: center;
}  
#mnav ul li a img.pc {
    display: none;
}
#mnav ul li a img.sp {
    display: block;
}
}


/* animation
------------------------------------------------- */
.fadeIn {
    opacity: 0;
}
.fadeIn.isAnimate {
    animation: 0.8s fadeIn 0s ease-in forwards;
}
@keyframes fadeIn {
    0% {
        opacity: 0;
    }
    100% {
        opacity: 1;
    }
}
@keyframes scroll {
    0% {
        bottom: 100%;
    }
    100% {
        bottom: -70%;
    }
}
@keyframes line_before {
    0% {
        width:100%;
        left:0
}
    100% {
        width:0;
        left:100%
    }
}
@keyframes line_after {
    0% {
        width:0;
        left:0
    }
    100% {
        width:100%;
        left:0
    }
}
@keyframes icon_left {
    0% {
        transform:translate3d(0,0,0);
        opacity: 1;
    }
    30% {
        transform:translate3d(0,0,0);
        opacity: 0;
    }
    60% {
        transform:translate3d(100%,0,0);
        opacity: 0;
    }
    65% {
        transform:translate3d(-100%,0,0);
        opacity: 1;
    }
    100% {
        transform:translate3d(0,0,0);
        opacity: 1;
    }
}
@keyframes icon_right {
    0% {
        transform:translate3d(0,0,0);
        opacity: 1;
    }
    30% {
        transform:translate3d(0,0,0);
        opacity: 0;
    }
    60% {
        transform:translate3d(-100%,0,0);
        opacity: 0;
    }
    65% {
        transform:translate3d(100%,0,0);
        opacity: 1;
    }
    100% {
        transform:translate3d(0,0,0);
        opacity: 1;
    }
}
@keyframes on_before {
    0% {
        opacity: 1;
}
    100% {
        opacity: 0;
    }
}
@keyframes on_after {
    0% {
        opacity: 0;
    }
    100% {
        opacity: 1;
    }
}


/* colorbox
------------------------------------------------- */
#colorbox, #cboxOverlay, #cboxWrapper{position:absolute; top:0; left:0; z-index:100; -webkit-transform: translate3d(0,0,0); box-sizing:content-box;}
#cboxWrapper {max-width:none;}
#cboxOverlay{position:fixed; width:100%; height:100%;}
#cboxMiddleLeft, #cboxBottomLeft{clear:left;}
#cboxContent{position:relative;}
#cboxLoadedContent{overflow:auto; -webkit-overflow-scrolling: touch; display:flex;	align-items:center; justify-content: center;}
#cboxTitle{display:none!important;}
#cboxLoadingOverlay, #cboxLoadingGraphic{position:absolute; top:0; left:0; width:100%; height:100%; background-color:rgba(44,43,40,0.8);}
#cboxPrevious, #cboxNext, #cboxClose, #cboxSlideshow{cursor:pointer;}
.cboxPhoto{display:block; width:100%!important; height:auto!important; }
.cboxIframe{width:100%; height:100%; display:block; border:0; padding:0; margin:0;}

#cboxOverlay{ background-color: rgba(44,43,40,0.8); }
#colorbox{outline:0;}
#cboxLoadingGraphic{background:url("../img/loader.gif") no-repeat center center; background-size: 2em auto;}

#cboxClose{position:absolute;z-index:2;top:0;right:-50px;display:inline-block;width:21px;height:21px;overflow:hidden;border:none;background:transparent;cursor:pointer;text-indent:-9999px;}#cboxClose:before{transform:rotate(45deg)}#cboxClose:after{transform:rotate(-45deg)}#cboxClose:before,#cboxClose:after{content:'';position:absolute;height:3px;width:100%;top:50%;left:0;background:#fff;}
@media only screen and (max-width:750px){
#cboxClose{top:-50px;right:0;}
}


/* youtube
------------------------------------------------- */
@keyframes modal-video{from{opacity:0}to{opacity:1}}@keyframes modal-video-inner{from{transform:translate(0, 100px)}to{transform:translate(0, 0)}}.modal-video{position:fixed;top:0;left:0;width:100%;height:100%;background-color:rgba(44,43,40,0.8);z-index:1000000;cursor:pointer;opacity:1;animation-timing-function:ease-out;animation-duration:.3s;animation-name:modal-video;-webkit-transition:opacity .3s ease-out;-moz-transition:opacity .3s ease-out;-ms-transition:opacity .3s ease-out;-o-transition:opacity .3s ease-out;transition:opacity .3s ease-out}.modal-video-close{opacity:0}.modal-video-close .modal-video-movie-wrap{-webkit-transform:translate(0, 100px);-moz-transform:translate(0, 100px);-ms-transform:translate(0, 100px);-o-transform:translate(0, 100px);transform:translate(0, 100px)}.modal-video-body{max-width:1000px;width:90%;height:100%;margin:0 auto;display:table}.modal-video-inner{display:table-cell;vertical-align:middle;width:100%;height:100%}.modal-video-movie-wrap{width:100%;height:0;position:relative;padding-bottom:56.25%;background-color:#333;animation-timing-function:ease-out;animation-duration:.3s;animation-name:modal-video-inner;-webkit-transform:translate(0, 0);-moz-transform:translate(0, 0);-ms-transform:translate(0, 0);-o-transform:translate(0, 0);transform:translate(0, 0);-webkit-transition:-webkit-transform .3s ease-out;-moz-transition:-moz-transform .3s ease-out;-ms-transition:-ms-transform .3s ease-out;-o-transition:-o-transform .3s ease-out;transition:transform .3s ease-out}.modal-video-movie-wrap iframe{position:absolute;top:0;left:0;width:100%;height:100%}.modal-video-close-btn{position:absolute;z-index:2;top:0;right:-50px;display:inline-block;width:21px;height:21px;overflow:hidden;border:none;background:transparent;cursor:pointer;}.modal-video-close-btn:before{transform:rotate(45deg)}.modal-video-close-btn:after{transform:rotate(-45deg)}.modal-video-close-btn:before,.modal-video-close-btn:after{content:'';position:absolute;height:3px;width:100%;top:50%;left:0;background:#fff;}
@media only screen and (max-width:750px){
.modal-video-close-btn{top:-50px;right:0;}
}