@charset "UTF-8";

.clearfix:after { content: " "; display: block; clear: both; }

.flex { box-sizing: border-box; -ms-flex: 1; flex: 1; display: -ms-flexbox; display: flex; }

.flex:before, .flex:after { content: none; }

.flex-fill { width: 100%; height: 100%; }

.flex-horizontal { box-orient: horizontal; box-direction: normal; -ms-flex-direction: row; flex-direction: row; }

.flex-vertical { box-orient: vertical; box-direction: normal; -ms-flex-direction: column; flex-direction: column; }

.flex-space-between { -ms-flex-pack: justify; justify-content: space-between; flex-pack: justify; box-pack: justify; }

.flex-space-around { -ms-flex-pack: justify; justify-content: space-between; flex-pack: justify; box-pack: justify; }

.flex-start { -ms-flex-pack: start; justify-content: flex-start; flex-pack: start; box-pack: start; }

.flex-end { -ms-flex-pack: end; justify-content: flex-end; flex-pack: end; box-pack: end; }

.flex-center { -ms-flex-pack: center; justify-content: center; flex-pack: center; box-pack: center; }

.flex-align-start { -ms-flex-align: start; align-items: flex-start; flex-align: start; box-align: start; }

.flex-align-end { -ms-flex-align: end; align-items: flex-end; flex-align: end; box-align: end; }

.flex-align-center { -ms-flex-align: center; align-items: center; flex-align: center; box-align: center; }

.flex-align-baseline { -ms-flex-align: baseline; align-items: baseline; flex-align: baseline; box-align: baseline; }

.flex-align-stretch { -ms-flex-align: stretch; align-items: stretch; flex-align: stretch; box-align: stretch; }

.flex-inline { display: -ms-inline-flexbox; display: inline-flex; }

/*! sanitize.css | CC0 Public Domain | github.com/jonathantneal/sanitize.css */
/* Normalization */
:root { -ms-overflow-style: -ms-autohiding-scrollbar; overflow-y: scroll; text-size-adjust: 100%; }

audio:not([controls]) { display: none; }

details { display: block; }

input[type="number"] { width: auto; }

input[type="search"] { -webkit-appearance: textfield; }

input[type="search"]::-webkit-search-cancel-button, input[type="search"]::-webkit-search-decoration { -webkit-appearance: none; }

main { display: block; }

summary { display: block; }

pre { overflow: auto; }

progress { display: inline-block; }

small { font-size: 75%; }

template { display: none; }

textarea { overflow: auto; }

[hidden] { display: none; }

[unselectable] { -webkit-user-select: none; -ms-user-select: none; user-select: none; }

/* Universal inheritance */
*, ::before, ::after { box-sizing: inherit; }

* { font-size: inherit; line-height: inherit; }

::before, ::after { text-decoration: inherit; vertical-align: inherit; }

/* Opinionated defaults */
*, ::before, ::after { border-style: solid; border-width: 0; }

* { margin: 0; padding: 0; }

:root { box-sizing: border-box; cursor: default; font: 16px / 1.5 sans-serif; text-rendering: optimizeLegibility; }

html { background-color: #FFFFFF; }

a { text-decoration: none; }

audio, canvas, iframe, img, svg, video { vertical-align: middle; }

button, input, select, textarea { background-color: transparent; }

button, input, select, textarea { color: inherit; font-family: inherit; font-style: inherit; font-weight: inherit; }

button, [type="button"], [type="date"], [type="datetime"], [type="datetime-local"], [type="email"], [type="month"], [type="number"], [type="password"], [type="reset"], [type="search"], [type="submit"], [type="tel"], [type="text"], [type="time"], [type="url"], [type="week"], select, textarea { min-height: 1.5em; }

code, kbd, pre, samp { font-family: monospace, monospace; }

nav ol, nav ul { list-style: none; }

select { -moz-appearance: none; -webkit-appearance: none; }

select::-ms-expand { display: none; }

select::-ms-value { color: currentColor; }

table { border-collapse: collapse; border-spacing: 0; }

textarea { resize: none; }

::selection { background-color: #B3D4FC; text-shadow: none; }

@media screen { [hidden~="screen"] { display: inherit; }
  [hidden~="screen"]:not(:active):not(:focus):not(:target) { clip: rect(0 0 0 0) !important; position: absolute !important; } }

@font-face { font-family: 'OpenSans'; font-weight: normal; font-style: normal; src: url("../lib/fonts/OpenSansRegular/OpenSans-Regular.eot"); /* IE9 Compat Modes */ src: url("../lib/fonts/OpenSansRegular/OpenSans-Regular.eot?#iefix") format("embedded-opentype"), url("../lib/fonts/OpenSansRegular/OpenSans-Regular.woff2") format("woff2"), url("../lib/fonts/OpenSansRegular/OpenSans-Regular.woff") format("woff"), url("../lib/fonts/OpenSansRegular/OpenSans-Regular.ttf") format("truetype"), url("../lib/fonts/OpenSansRegular/OpenSans-Regular.svg#svgFontName") format("svg"); /* Legacy iOS */ }

@font-face { font-family: 'OpenSans semibold'; font-weight: 500; font-style: normal; src: url("../lib/fonts/OpenSansSemibold/OpenSans-Semibold.eot"); /* IE9 Compat Modes */ src: url("../lib/fonts/OpenSansSemibold/OpenSans-Semibold.eot?#iefix") format("embedded-opentype"), url("../lib/fonts/OpenSansSemibold/OpenSans-Semibold.woff2") format("woff2"), url("../lib/fonts/OpenSansSemibold/OpenSans-Semibold.woff") format("woff"), url("../lib/fonts/OpenSansSemibold/OpenSans-Semibold.ttf") format("truetype"), url("../lib/fonts/OpenSansSemibold/OpenSans-Semibold.svg#svgFontName") format("svg"); /* Legacy iOS */ }

@font-face { font-family: 'OpenSans bold'; font-weight: bold; font-style: normal; src: url("../lib/fonts/OpenSansBold/OpenSans-Bold.eot"); /* IE9 Compat Modes */ src: url("../lib/fonts/OpenSansBold/OpenSans-Bold.eot?#iefix") format("embedded-opentype"), url("../lib/fonts/OpenSansBold/OpenSans-Bold.woff2") format("woff2"), url("../lib/fonts/OpenSansBold/OpenSans-Bold.woff") format("woff"), url("../lib/fonts/OpenSansBold/OpenSans-Bold.ttf") format("truetype"), url("../lib/fonts/OpenSansBold/OpenSans-Bold.svg#svgFontName") format("svg"); /* Legacy iOS */ }

/*
#styleguide
基本スタイル

```
<p>特に何も指定しないときの状態</p>
```
*/
body { text-size-adjust: 100%; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; font-smoothing: antialiased; text-rendering: auto; font-size: 14px; font-family: "OpenSans"; color: #040000; background-color: #f2f2f2; min-width: 1280px; overflow-x: hidden; }

@media screen and (max-width: 769px) { body { min-width: 100%; } }

ul { list-style: none; }

input, button, select { vertical-align: middle; border-radius: 0; border: 0; background: none transparent; margin: 0; padding: 0; appearance: none; -webkit-appearance: none; }

a { z-index: 1; }

.single-body { font-family: "OpenSans"; font-size: 18px; margin-bottom: 190px; letter-spacing: 0.03em; width: 900px; margin: 0 auto; }

@media screen and (max-width: 769px) { .single-body { font-size: 16px; padding: 0 20px; margin-top: 54px; margin-bottom: 40px; width: 100%; } }

.single-body h2, .single-body h3, .single-body h4, .single-body p, .single-body hr, .single-body blockquote { display: block; margin: 0 auto; width: 650px; }

.single-body h2:first-child, .single-body h3:first-child, .single-body h4:first-child, .single-body p:first-child, .single-body hr:first-child, .single-body blockquote:first-child { margin-top: 0; }

@media screen and (max-width: 769px) { .single-body h2, .single-body h3, .single-body h4, .single-body p, .single-body hr, .single-body blockquote { width: 100%; margin: 0px; } }

@media screen and (max-width: 769px) { .single-body h2, .single-body h3, .single-body h4, .single-body p, .single-body hr { padding: 0 10px; } }

.single-body h2 { font-family: "OpenSans semibold"; font-size: 32px; margin-top: 110px; margin-bottom: 40px; letter-spacing: 0.03em; }

@media screen and (max-width: 769px) { .single-body h2 { font-family: "OpenSans bold"; font-size: 21px; margin-top: 70px; margin-bottom: 25px; letter-spacing: 0; } }

.single-body h3 { font-family: "OpenSans semibold"; font-size: 27px; margin-top: 80px; margin-bottom: 20px; letter-spacing: 0.03em; }

@media screen and (max-width: 769px) { .single-body h3 { font-family: "OpenSans bold"; font-size: 19px; margin-top: 45px; margin-bottom: 15px; letter-spacing: 0.01em; } }

.single-body h4 { font-family: "OpenSans semibold"; font-size: 22px; margin-top: 60px; letter-spacing: 0.03em; margin-bottom: 20px; }

@media screen and (max-width: 769px) { .single-body h4 { font-family: "OpenSans bold"; font-size: 17px; margin-top: 40px; letter-spacing: 0.01em; margin-bottom: 17px; } }

.single-body p { line-height: 1.8; }

@media screen and (max-width: 769px) { .single-body p { line-height: 1.9; letter-spacing: 0; font-size: 15px; } }

.single-body a:not([class]) { color: #0f819b; position: relative; cursor: pointer; border-bottom: 1px solid currentColor; }

@media screen and (max-width: 769px) { .single-body a:not([class]) { font-size: 15px; letter-spacing: 0; } }

.single-body a:not([class])[target='_blank'] { margin-left: 20px; position: relative; }

@media screen and (max-width: 769px) { .single-body a:not([class])[target='_blank'] { margin-left: 16px; } }

.single-body a:not([class])[target='_blank']:before { content: ''; background-image: url("../images/article/link.png"); background-color: transparent; width: 36px; height: 36px; position: absolute; -webkit-transform: scale(0.33); transform: scale(0.33); left: -28px; top: -3px; }

@media screen and (max-width: 769px) { .single-body a:not([class])[target='_blank']:before { -webkit-transform: scale(0.28); transform: scale(0.28); top: -7px; } }

.single-body strong { font-family: "OpenSans semibold"; }

.single-body em { font-style: italic; }

.single-body img { display: block; width: 100%; margin-top: 110px; margin-bottom: 47px; height: auto; }

@media screen and (max-width: 769px) { .single-body img { width: calc(100% + 60px); margin-left: -30px; height: auto; margin-top: 30px; margin-bottom: 0; } }

.single-body blockquote { position: relative; margin: 50px auto; padding: 30px 50px 40px 80px; line-height: 1.8; background: #f2f2f2; }

@media screen and (max-width: 769px) { .single-body blockquote { width: calc(100vw - 40px); padding: 45px 20px 25px; margin: 33px auto 40px; font-size: 15px; letter-spacing: 0.01em; } }

.single-body blockquote:before { content: ''; display: block; background-image: url("../images/article/quote.png"); width: 50px; height: 40px; -webkit-transform: scale(0.4); transform: scale(0.4); position: absolute; top: 17px; left: 15px; }

@media screen and (max-width: 769px) { .single-body blockquote:before { top: 7px; left: 2px; background-size: cover; } }

.single-body blockquote > p { margin-left: 0px; width: 470px; }

@media screen and (max-width: 769px) { .single-body blockquote > p { width: 100%; line-height: 1.7; } }

.single-body hr { margin-top: 50px; margin-bottom: 90px; height: 1px; border-top: solid 2px #cdcdd5; }

@media screen and (max-width: 769px) { .single-body hr { margin: 55px 0; border-top-width: 1px; } }

.single-body ul, .single-body ol, .single-body dl { max-width: 600px; margin-left: 145px; margin-top: 40px; margin-bottom: 40px; }

.single-body ul li, .single-body ul dt, .single-body ul dd, .single-body ol li, .single-body ol dt, .single-body ol dd, .single-body dl li, .single-body dl dt, .single-body dl dd { line-height: 2.2; }

.single-body ul li ul, .single-body ul li ol, .single-body ul li dl, .single-body ul dt ul, .single-body ul dt ol, .single-body ul dt dl, .single-body ul dd ul, .single-body ul dd ol, .single-body ul dd dl, .single-body ol li ul, .single-body ol li ol, .single-body ol li dl, .single-body ol dt ul, .single-body ol dt ol, .single-body ol dt dl, .single-body ol dd ul, .single-body ol dd ol, .single-body ol dd dl, .single-body dl li ul, .single-body dl li ol, .single-body dl li dl, .single-body dl dt ul, .single-body dl dt ol, .single-body dl dt dl, .single-body dl dd ul, .single-body dl dd ol, .single-body dl dd dl { margin-left: 5px; margin-top: 0; margin-bottom: 0; }

@media screen and (max-width: 769px) { .single-body ul li ul, .single-body ul li ol, .single-body ul li dl, .single-body ul dt ul, .single-body ul dt ol, .single-body ul dt dl, .single-body ul dd ul, .single-body ul dd ol, .single-body ul dd dl, .single-body ol li ul, .single-body ol li ol, .single-body ol li dl, .single-body ol dt ul, .single-body ol dt ol, .single-body ol dt dl, .single-body ol dd ul, .single-body ol dd ol, .single-body ol dd dl, .single-body dl li ul, .single-body dl li ol, .single-body dl li dl, .single-body dl dt ul, .single-body dl dt ol, .single-body dl dt dl, .single-body dl dd ul, .single-body dl dd ol, .single-body dl dd dl { margin-left: -5px; margin-top: 7px; } }

@media screen and (max-width: 769px) { .single-body ul li, .single-body ul dt, .single-body ul dd, .single-body ol li, .single-body ol dt, .single-body ol dd, .single-body dl li, .single-body dl dt, .single-body dl dd { line-height: 1.8; margin-bottom: 7px; } }

@media screen and (max-width: 769px) { .single-body ul, .single-body ol, .single-body dl { margin-left: 10px; margin-top: 20px; margin-bottom: 20px; letter-spacing: 0; font-size: 15px; } }

.single-body ul, .single-body dl { list-style-type: none; }

.single-body ul li, .single-body ul dt, .single-body ul dd, .single-body dl li, .single-body dl dt, .single-body dl dd { position: relative; padding-left: 15px; }

@media screen and (max-width: 769px) { .single-body ul li, .single-body ul dt, .single-body ul dd, .single-body dl li, .single-body dl dt, .single-body dl dd { line-height: 1.75; } }

.single-body ul li:before, .single-body ul dt:before, .single-body ul dd:before, .single-body dl li:before, .single-body dl dt:before, .single-body dl dd:before { content: ''; position: absolute; top: 18px; left: 0px; width: 4px; height: 4px; background-color: #0f819b; }

@media screen and (max-width: 769px) { .single-body ul li:before, .single-body ul dt:before, .single-body ul dd:before, .single-body dl li:before, .single-body dl dt:before, .single-body dl dd:before { top: 10px; left: 1px; width: 5px; height: 5px; } }

.single-body dl dd { margin-left: 10px; }

.single-body ol { counter-reset: item; }

.single-body ol li { display: block; }

.single-body ol li:before { font-weight: bold; content: counter(item) ". "; counter-increment: item; }

@media screen and (max-width: 769px) { .single-body ol li:before { margin-right: 5px; } }

.single-body ol li ol { margin-left: 20px; }

@media screen and (max-width: 769px) { .single-body ol li ol { margin-left: 10px; } }

.single-body iframe { max-width: 100% !important; width: 100%; height: 600px; margin: 120px 0 50px; display: block; }

@media screen and (max-width: 769px) { .single-body iframe { min-width: 100vw; height: 56.25vw; margin-left: -30px; margin-top: 30px; margin-bottom: 0; } }

.single-body .wp-caption { width: 100% !important; margin-top: 130px; margin-bottom: 160px; }

@media screen and (max-width: 769px) { .single-body .wp-caption { width: 100vw; margin-left: -30px; margin-top: 40px; margin-bottom: 0; } }

.single-body .wp-caption img { margin: 0 auto; margin-bottom: 13px; }

.single-body .wp-caption-text { width: 770px; margin-top: 22px; margin-left: 158px; font-style: italic; position: relative; letter-spacing: 0.05em; }

@media screen and (max-width: 769px) { .single-body .wp-caption-text { font-size: 15px; margin-left: 0; margin-top: 0; width: 100%; line-height: 1.95; letter-spacing: 0.01em; margin-top: 10px; padding: 0 12px; } }

.single-body .wp-caption-text:before { display: block; content: ''; height: 1px; width: 28px; position: absolute; top: 15px; left: -38px; background-color: #040000; }

@media screen and (max-width: 769px) { .single-body .wp-caption-text:before { width: 10px; left: -3px; } }

.single-body .wp-caption-text .alignright { float: right; }

.single-body .wp-caption-text .alignleft { float: left; }

.single-footer { width: 900px; margin: 0 auto; padding: 160px 0 120px; }

@media screen and (max-width: 769px) { .single-footer { width: 100%; margin: 0; padding: 0 20px 45px; } }

.single-footer-banner { display: block; margin-top: 40px; margin-bottom: 182px; position: relative; overflow: hidden; text-align: right; }

@media screen and (max-width: 769px) { .single-footer-banner { margin-top: 0; margin-bottom: 80px; } }

.single-footer-banner:hover img { -webkit-transform: scale(1.05); transform: scale(1.05); }

.single-footer-banner-img { margin: 0; transition: 0.25s ease-in-out; }

@media screen and (max-width: 769px) { .single-footer-banner-img { width: calc(100vw - 40px); height: auto; } }

.single-footer-banner-text { font-size: 24px; font-family: "OpenSans semibold"; color: #fff; position: absolute; top: 50%; -webkit-transform: translateY(-50%); transform: translateY(-50%); right: 60px; width: auto; letter-spacing: 0.07em; }

@media screen and (max-width: 769px) { .single-footer-banner-text { font-size: 9px; font-family: "OpenSans bold"; right: 25px; } }

.single-footer-banner:last-child { margin-top: 170px; }

@media screen and (max-width: 769px) { .single-footer-banner:last-child { margin-top: 40px; } }

.single-footer-bottom { width: 650px; margin: 0 auto; }

@media screen and (max-width: 769px) { .single-footer-bottom { width: 100%; padding: 0 10px; } }

.single-footer-wrapper { margin-top: 33px; }

.single-footer-date { font-size: 18px; font-family: "OpenSans"; color: #cdcdd5; font-style: italic; width: 100%; text-align: right; display: block; letter-spacing: 0.03em; }

@media screen and (max-width: 769px) { .single-footer-date { font-size: 15px; text-align: left; letter-spacing: 0.01em; } }

.single-footer-tag { float: left; letter-spacing: 0; font-size: 0; }

@media screen and (max-width: 769px) { .single-footer-tag { margin-top: 37px; float: none; } }

.single-footer-sns { float: right; display: flex; transform: scale(1.5);}

@media screen and (max-width: 769px) { .single-footer-sns { float: none; margin-top: 20px; transform: scale(1);} }

.single-footer-item { display: inline-block; margin-right: 10px}

.search { height: 100%; width: 100%; padding-top: 4px; font-size: 0; letter-spacing: 0; }

@media screen and (max-width: 769px) { .search { position: relative; width: auto; padding: 0 0 5px; } }

.search-form { position: relative; font-size: 14px; font-family: "OpenSans semibold"; height: 100%; width: 320px; letter-spacing: 0.1em; outline: 0; vertical-align: middle; padding-bottom: 12px; border-bottom: 1px solid #040000; }

@media screen and (max-width: 769px) { .search-form { font-size: 11px; width: calc(100% - 30px); font-family: "OpenSans"; height: 24px; padding-bottom: 5px; } }

.search-icon { position: absolute; top: 4px; right: 0; width: 21px; height: 21px; }

@media screen and (max-width: 769px) { .search-icon { position: absolute; right: -8px; } }

.search-icon:focus { outline: none; }

.hero { width: 100%; height: calc(100vh - 95px); position: relative; background-color: #333; max-height: 600px; min-height: 580px; overflow: hidden;}

@media screen and (max-width: 769px) { .hero { height: 305px; background: url(../images/common/hero-sp.jpg) center center; background-repeat: no-repeat; background-size: cover; min-height: 0; } }

.hero-cover-image {width: 100%; height: 100%; position: absolute; top: 0; left: 0; background-size: cover; background: url(../images/common/hero.jpg) no-repeat top center/cover;}

.hero #player { position: relative; top: -70px; min-height: 730px;}

@media screen and (max-width: 769px) { .hero #player { min-width: 700px !important; min-height: 400px !important; top: -48px; min-height: inherit; left: 50%; transform: translateX(-50%); -webkit-transform: translateX(-50%);} }

.hero-inner { width: 100%; position: absolute; top: 17%; z-index: 1;}

@media screen and (max-width: 769px) { .hero-inner { top: 24%; } }

.hero-title { text-align: center; color: #fff; font-size: 53px; font-family: "OpenSans bold"; font-weight: bold; letter-spacing: 0.05em; line-height: 1.4; }

@media screen and (max-width: 769px) { .hero-title { font-size: 20px; letter-spacing: 0.06em; } }

.hero-button { text-align: center; margin: 10% 0 0 0;}

.hero-button-smalltext {font-size: 13px;}

@media screen and (max-width: 769px) { .hero-button { margin-top: 15%; } }

@media screen and (max-width: 769px) { .hero-button-smalltext {font-size: 11px;} }

.hero-carousel { height: 125px; width: 100%; position: absolute; bottom: 50px; overflow: hidden; }

@media screen and (max-width: 769px) { .hero-carousel { height: auto; bottom: 15px; } }

.hero-list { display: inline-block; white-space: nowrap; font-size: 0; letter-spacing: 0; }

.hero-item { display: inline-block; width: 194px; padding: 0 10px; }

@media screen and (max-width: 769px) { .hero-item { width: 98px; padding: 0 5px; } }

.hero-image { background-repeat: no-repeat; background-position: center; background-size: cover; width: 100%; padding-top: 70%; }

.button { display: inline-block; font-family: "OpenSans semibold"; font-size: 16px; letter-spacing: 0.07em; background-color: #0f819b; border-radius: 100px; color: #fff; padding: 17px 39px; min-width: 200px; text-align: center; border: 1px solid #0f819b; transition: 0.25s ease-in-out; }

@media screen and (max-width: 769px) { .button { font-size: 12px; letter-spacing: 0.08em; padding: 10px 22px; min-width: 160px; } }

.button:hover { background-color: #fff; color: #0f819b; border: 1px solid #0f819b; }

.button-big { padding: 23px 88px; border-radius: 35px; }

.button-access { min-width: 320px; }

@media screen and (max-width: 769px) { .button-access { width: 100%; min-width: 0; font-size: 11px; padding: 11px 22px; letter-spacing: 0.09em; } }

.article { position: relative; overflow: hidden; }

.article-link { display: block; height: 100%; width: 100%; }

.article-wrapper { position: relative; width: 100%; overflow: hidden; max-width: 450px; }

@media screen and (max-width: 769px) { .article-wrapper { max-width: none; } }

.article-wrapper:before { content: ""; display: block; padding-top: 70%; }

@media screen and (max-width: 769px) { .article-wrapper:before { padding-top: 64%; } }

.article-img { width: 100%; height: auto; position: absolute; top: 0; left: 0; bottom: 0; right: 0; transition: 0.25s ease-in-out; }

@media screen and (max-width: 769px) { .article-img { height: 100%; } }

.article-title { font-size: 24px; font-family: "OpenSans semibold"; color: #040000; letter-spacing: 0.13em; margin-top: 30px; transition: 0.25s ease-in-out; }

@media screen and (max-width: 769px) { .article-title { font-size: 15px; font-family: "OpenSans bold"; letter-spacing: 0.06em; margin-top: 20px; } }

.article-text { font-size: 18px; font-family: "OpenSans"; color: #040000; letter-spacing: 0.05em; line-height: 2; margin-top: 22px; max-height: 140px; transition: 0.25s ease-in-out; }

@media screen and (max-width: 769px) { .article-text { font-size: 11px; letter-spacing: 0.03em; margin-top: 12px; line-height: 1.9; } }

.article:hover .article-img { -webkit-transform: scale(1.1); transform: scale(1.1); }

.article:hover .article-title { color: #0f819b; }

.content-news { background: #fff; padding: 0 90px 20px; position: relative; }

@media screen and (max-width: 769px) { .content-news { padding: 0 20px; } }

.content-news-title { padding: 110px 0 100px; }

@media screen and (max-width: 769px) { .content-news-title { padding: 40px 0 50px; } }

.content-news-list { letter-spacing: 0; font-size: 0; margin: 0 -20px; }

.content-news-item { display: inline-block; padding: 0 20px; width: 33.3333%; vertical-align: top; }

.content-news-item:last-of-type { margin-right: 0; }

@media screen and (max-width: 769px) { .content-news-item:last-of-type { margin-bottom: 0; } }

@media screen and (max-width: 769px) { .content-news-item { display: block; width: 100%; margin-bottom: 50px; margin-right: 0; } }

.content-news-button { padding: 100px 0; text-align: center; position: relative; z-index: 1; }

@media screen and (max-width: 769px) { .content-news-button { padding: 55px 0 60px; } }

.content-news-button:after { content: ""; display: block; width: 100%; height: 1px; background: #ccc; position: absolute; top: 50%; -webkit-transform: translateY(-50%); transform: translateY(-50%); z-index: -1; }

.feature { width: 100%; background-size: cover; background: url(../images/bg/feature.jpg) no-repeat bottom center/cover; height: 100%; padding: 80px 90px 120px; position: relative; }

@media screen and (max-width: 769px) { .feature { padding: 50px 20px 60px; background-image: url(../images/bg/feature-sp.jpg); } }

.feature:before { content: ""; display: block; position: absolute; width: 2px; height: 160px; background-color: #0f819b; top: -120px; left: 50%; -webkit-transform: translateX(-50%); transform: translateX(-50%); }

@media screen and (max-width: 769px) { .feature:before { width: 1px; height: 65px; top: -45px; } }

.feature-icon { display: block; margin: 0 auto; text-align: center; width: 108px; }

@media screen and (max-width: 769px) { .feature-icon { width: 53px; } }

.feature-title { font-size: 33px; font-family: "OpenSans bold"; color: #0f819b; letter-spacing: 0.008em; text-align: center; margin-top: 50px; }

@media screen and (max-width: 769px) { .feature-title { font-size: 15px; margin-top: 22px; line-height: 1.8; } }

.feature-text { font-size: 18px; font-family: "OpenSans semibold"; color: #040000; text-align: center; letter-spacing: 0.03em; line-height: 2; margin-top: 27px; }

@media screen and (max-width: 769px) { .feature-text { font-size: 12px; margin-top: 17px; font-family: "OpenSans"; letter-spacing: 0.05em; line-height: 1.96; } }

.feature-button { position: relative; margin-top: 55px; text-align: center; z-index: 1; }

.feature-button:after { content: ""; display: block; position: absolute; width: 100%; height: 1px; background: #0f819b; top: 50%; -webkit-transform: translateY(-50%); transform: translateY(-50%); z-index: -1; margin: 0 auto; }

@media screen and (max-width: 769px) { .feature-button { margin-top: 42px; } }

.access-section { position: relative; width: 100%; height: 100%; background-size: cover; background: url(../images/bg/access.jpg) no-repeat top center/cover; padding: 0 90px; }

@media screen and (max-width: 769px) { .access-section { background: url(../images/bg/access-sp.jpg) no-repeat center/cover; height: 100%; padding: 0 20px; } }

.access-section-title { text-align: center; padding: 110px 0; color: #fff; }

@media screen and (max-width: 769px) { .access-section-title { padding: 38px 0 20px; } }

.access-section-map { position: absolute; left: 50%; -webkit-transform: translateX(-51%); transform: translateX(-51%); width: 900px; top: 75px; z-index: 0; }

@media screen and (max-width: 769px) { .access-section-map { width: 100%; padding: 0 10px; -webkit-transform: translateX(-50%); transform: translateX(-50%); top: 80px; max-width: 350px; margin: 0 auto; } }

.access-section-button { position: relative; text-align: center; margin-top: 38px; z-index: 1; }

@media screen and (max-width: 769px) { .access-section-button { position: absolute; left: 50%; -webkit-transform: translateX(-50%); transform: translateX(-50%); bottom: 60px; } }

.tag { display: inline-block; font-family: "OpenSans semibold"; font-size: 12px; letter-spacing: 0.03em; background-color: #0f819b; border-radius: 13px; color: #fff; padding: 3px 13px; text-align: center; margin-right: 8px; }

@media screen and (max-width: 769px) { .tag { font-size: 11px; padding: 2px 13px 2px 14px; margin-right: 5px; } }

.related-article { background: #fff; padding: 0 90px 95px; position: relative; }

@media screen and (max-width: 769px) { .related-article { padding: 0 20px; } }

.related-article-title { padding: 110px 0; }

@media screen and (max-width: 769px) { .related-article-title { padding: 45px 0; } }

.related-article-list { display: -ms-flexbox; display: flex; -ms-flex-wrap: wrap; flex-wrap: wrap; -ms-flex-pack: distribute; justify-content: space-around; -ms-flex-align: start; align-items: flex-start; -ms-flex-line-pack: justify; align-content: space-between; }

@media screen and (max-width: 769px) { .related-article-list { -ms-flex-direction: column; flex-direction: column; } }

.related-article-item { width: 32%; max-width: 450px; margin-top: 33px; }

.related-article-item:nth-of-type(-n + 3) { margin-top: 0; }

@media screen and (max-width: 769px) { .related-article-item { width: 100%; margin-top: 50px; max-width: none; }
  .related-article-item:nth-of-type(-n + 3) { margin-top: 50px; }
  .related-article-item:nth-of-type(1) { margin-top: 0; } }

.related-article-button { padding: 100px 0; text-align: center; position: relative; z-index: 1; }

@media screen and (max-width: 769px) { .related-article-button { padding: 55px 0 60px; } }

.related-article-button:after { content: ""; display: block; width: 100%; height: 1px; background: #ccc; position: absolute; top: 49%; -webkit-transform: translateY(-50%); transform: translateY(-50%); z-index: -1; }

.content-archive { padding: 0 90px 120px; background: #fff; }

@media screen and (max-width: 769px) { .content-archive { padding: 0 20px 70px; } }

.content-archive-title { padding: 110px 0 100px; }

@media screen and (max-width: 769px) { .content-archive-title { padding: 40px 0 50px; } }

.content-archive-list { letter-spacing: 0; font-size: 0; margin: 0 -20px; }

.content-archive-item { display: inline-block; padding: 0 20px; margin-top: 33px; width: 33.3333%; vertical-align: top; }

.content-archive-item:nth-of-type(-n + 3) { margin-top: 0; }

@media screen and (max-width: 769px) { .content-archive-item { width: 100%; margin-top: 50px; max-width: none; }
  .content-archive-item:nth-of-type(-n + 3) { margin-top: 50px; }
  .content-archive-item:nth-of-type(1) { margin-top: 0; } }

.content-archive-pagenate { text-align: center; margin-top: 160px; }

@media screen and (max-width: 769px) { .content-archive-pagenate { margin-top: 75px; } }

.title { position: relative; font-family: "OpenSans bold"; text-align: center; font-size: 32px; letter-spacing: 0.04em; }

@media screen and (max-width: 769px) { .title { font-size: 15px; letter-spacing: 0.02em; } }

.title span { color: #0f819b; }

.title:before, .title:after { content: ""; position: absolute; top: 50%; -webkit-transform: translateY(-50%); transform: translateY(-50%); width: calc((100% - 535px) / 2); height: 1px; background-color: #ccc; }

@media screen and (max-width: 769px) { .title:before, .title:after { width: calc((100% - 195px) / 2); } }

.title:before { left: 0; }

.title:after { right: 0; }

.title-access { color: #fff; letter-spacing: 0.01em; }

.title-access:before, .title-access:after { background-color: #fff; }

@media screen and (max-width: 769px) { .title-access:before, .title-access:after { width: calc((100% - 220px) / 2); } }

.pagination { letter-spacing: 0; font-size: 0; }

.pagination-current { text-align: center; padding: 10px 0; display: inline-block; width: 49px; height: 49px; border-radius: 50%; border: 1px solid #0f819b; background-color: #fff; font-size: 20px; font-family: "OpenSans semibold"; color: #0f819b; transition: 0.25s ease-in-out; margin: 0 3px; }

@media screen and (max-width: 769px) { .pagination-current { width: 30px; height: 30px; font-size: 15px; padding: 3px 0; } }

.pagination-arrow { position: relative; display: inline-block; vertical-align: bottom; width: 49px; height: 49px; border-radius: 50%; border: 1px solid #87c0cd; background-color: #87c0cd; transition: 0.25s ease-in-out; margin-left: 15px; }

@media screen and (max-width: 769px) { .pagination-arrow { width: 30px; height: 30px; font-size: 15px; padding: 3px 0; margin-left: 8px; } }

.pagination-arrow svg { width: 20px; height: 11px; position: absolute; top: 50%; left: 55%; fill: #fff; -webkit-transform: translate(-50%, -50%) rotate(90deg); transform: translate(-50%, -50%) rotate(90deg); }

@media screen and (max-width: 769px) { .pagination-arrow svg { width: 12px; height: 6px; -webkit-transform: translate(-60%, -50%) rotate(90deg); transform: translate(-60%, -50%) rotate(90deg); } }

.pagination-arrow:hover { background-color: #fff; }

.pagination-arrow:hover svg { fill: #87c0cd; }

.pagination-arrow-left { margin-left: 0; margin-right: 15px; }

@media screen and (max-width: 769px) { .pagination-arrow-left { margin-right: 8px; } }

.pagination-arrow-left svg { -webkit-transform: translate(-50%, -50%) rotate(-90deg); transform: translate(-50%, -50%) rotate(-90deg); left: 50%; }

.pagination-item { text-align: center; padding: 9px 0; display: inline-block; width: 49px; height: 49px; border-radius: 50%; border: 1px solid #0f819b; background-color: #0f819b; font-size: 20px; font-family: "OpenSans semibold"; color: #fff; transition: 0.25s ease-in-out; margin: 0 3px; }

@media screen and (max-width: 769px) { .pagination-item { width: 30px; height: 30px; font-size: 15px; padding: 3px 0; } }

.pagination-item:hover { background-color: #fff; color: #0f819b; }

.pagination-extend { text-align: center; padding: 10px 0; display: inline-block; width: 50px; height: 50px; border-radius: 50%; background-color: #0f819b; transition: 0.25s ease-in-out; font-size: 20px; font-family: "OpenSans semibold"; color: #fff; margin: 0 3px; }

@media screen and (max-width: 769px) { .pagination-extend { width: 30px; height: 30px; font-size: 15px; padding: 3px 0; } }

.contact-form { margin: 0 auto; width: 540px; }

@media screen and (max-width: 769px) { .contact-form { width: 100%; } }

.contact-form-group { margin-bottom: 27px; }

@media screen and (max-width: 769px) { .contact-form-group { margin-bottom: 35px; } }

.contact-form-group .error:first-child { display: none; }

.contact-form-group .error:first-child ~ .contact-form-input .contact-form-control { border: solid 1px #0f819b; padding: 10px 10px 10px 20px; }

@media screen and (max-width: 769px) { .contact-form-group .error:first-child ~ .contact-form-input .contact-form-control { border-width: 1px; padding: 14px; } }

.contact-form-group .error:first-child ~ .contact-form-error { display: block; }

.contact-form-group .error:first-child ~ .contact-form-radio:before { border-color: #0f819b; border-width: 2px; }

.contact-form-label { font-size: 20px; font-weight: bold; line-height: 1.6; letter-spacing: 0.05em; color: #0f819b; }

@media screen and (max-width: 769px) { .contact-form-label { font-size: 17px; line-height: 1.5; letter-spacing: 0.03em; } }

.contact-form-control { font-size: 18px; display: block; width: 100%; padding: 11px 11px 11px 20px; margin: 5px 0; border: solid 1px #cdcdd5; }

@media screen and (max-width: 769px) { .contact-form-control { font-size: 14px; margin: 7px 0; padding: 14px; } }

.contact-form-required, .contact-form-optional { float: right; font-size: 11px; border: solid 1px currentColor; padding: 0 8px; margin-top: 8px; }

@media screen and (max-width: 769px) { .contact-form-required, .contact-form-optional { letter-spacing: 0.01em; padding: 0 4px; margin-top: 7px; } }

.contact-form-required { color: #0f819b; }

.contact-form-optional { color: #acacb1; }

.contact-form-error { color: #0f819b; font-size: 15px; letter-spacing: 0.03em; margin-left: 3px; }

@media screen and (max-width: 769px) { .contact-form-error { font-size: 14px; font-weight: normal; letter-spacing: 0.04em; margin-left: 1px; margin-top: -4px; } }

.contact-form .mw_wp_form .error { color: #0f819b; font-size: 15px; letter-spacing: 0.03em; margin-left: 3px; }

@media screen and (max-width: 769px) { .contact-form .mw_wp_form .error { font-size: 14px; font-weight: normal; letter-spacing: 0.04em; margin-left: 1px; margin-top: -4px; } }

.contact-form-checkbox-group { margin-top: 18px; }

@media screen and (max-width: 769px) { .contact-form-checkbox-group { margin-top: 10px; } }

.contact-form-checkbox-group input[type="checkbox"] { display: none; }

.contact-form-checkbox-group input[type="checkbox"]:checked + .contact-form-checkbox:before { background-color: #fffded; }

.contact-form-checkbox-group input[type="checkbox"]:checked + .contact-form-checkbox:after { display: block; }

.contact-form-checkbox { cursor: pointer; position: relative; font-size: 18px; letter-spacing: 0.04em; color: #474748; margin-left: 50px; margin-bottom: 14px; width: 115px; display: inline-block; }

@media screen and (max-width: 769px) { .contact-form-checkbox { font-size: 14px; margin-left: 40px; } }

.contact-form-checkbox:before { content: ''; position: absolute; width: 30px; height: 30px; border: solid 1px currentColor; left: -50px; top: -3px; }

@media screen and (max-width: 769px) { .contact-form-checkbox:before { width: 25px; height: 25px; left: -40px; } }

.contact-form-checkbox:after { content: ''; position: absolute; height: 10px; width: 15px; top: 5px; left: -42px; border-left: solid 2px currentColor; border-bottom: solid 2px currentColor; -webkit-transform: rotate(-45deg); transform: rotate(-45deg); display: none; }

@media screen and (max-width: 769px) { .contact-form-checkbox:after { height: 7px; width: 11px; border-left-width: 1px; border-bottom-width: 1px; top: 4px; left: -33px; } }

.contact-form-checkbox:nth-child(4n) { width: 380px; }

.contact-form-radio-group { margin-top: 18px; }

@media screen and (max-width: 769px) { .contact-form-radio-group { margin-top: 10px; } }

.contact-form-radio-group input[type="radio"] { display: none; }

.contact-form-radio-group input[type="radio"]:checked + .contact-form-radio:before { background-color: #fffded; }

.contact-form-radio-group input[type="radio"]:checked + .contact-form-radio:after { display: block; }

.contact-form-radio { cursor: pointer; position: relative; font-size: 18px; letter-spacing: 0.04em; color: #474748; margin-left: 50px; margin-bottom: 13px; width: 115px; display: inline-block; }

@media screen and (max-width: 769px) { .contact-form-radio { font-size: 14px; margin-left: 40px; } }

.contact-form-radio:before { content: ''; position: absolute; width: 30px; height: 30px; border-radius: 50%; border: solid 1px currentColor; left: -50px; top: -3px; }

@media screen and (max-width: 769px) { .contact-form-radio:before { width: 25px; height: 25px; left: -40px; } }

.contact-form-radio:after { content: ''; position: absolute; height: 14px; width: 14px; border-radius: 50%; top: 5px; left: -42px; background-color: currentColor; display: none; }

@media screen and (max-width: 769px) { .contact-form-radio:after { height: 13px; width: 13px; top: 3px; left: -34px; } }

.contact-form-radio:nth-child(4n) { width: 380px; }

.contact-form-input { font-size: 18px; }

@media screen and (max-width: 769px) { .contact-form-input { font-size: 16px; } }

@media screen and (max-width: 769px) { .contact-form-button { width: 100%; font-weight: normal; } }

.contact-form-button input { display: block; cursor: pointer; font-family: "OpenSans semibold"; font-size: 16px; letter-spacing: 0.07em; background-color: #0f819b; border-radius: 30px; color: #fff; padding: 17px 39px; min-width: 200px; text-align: center; border: 1px solid #0f819b; transition: 0.25s ease-in-out; margin: 0 auto; }

@media screen and (max-width: 769px) { .contact-form-button input { font-size: 12px; letter-spacing: 0.08em; padding: 10px 22px; min-width: 160px; } }

.contact-form-button input:hover { background-color: #fff; color: #0f819b; border: 1px solid #0f819b; }

@media screen and (max-width: 769px) { .contact-form-button input { text-align: center; font-weight: normal; padding: 11px; }
  .contact-form-button:before, .contact-form-button:after { height: 1px; width: 8px; right: 13px; }
  .contact-form-button:before { top: 23px; }
  .contact-form-button:after { top: 28px; }
  .contact-form-button-back input { text-align: center; font-weight: normal; padding: 11px; }
  .contact-form-button-back:before { left: 13px; }
  .contact-form-button-back:after { left: 13px; } }

.contact-form-button-back:before { -webkit-transform: rotate(-45deg); transform: rotate(-45deg); right: initial; left: 27px; }

.contact-form-button-back:after { -webkit-transform: rotate(45deg); transform: rotate(45deg); right: initial; left: 27px; }

.contact-buttons { display: block; margin-top: 130px; }

@media screen and (max-width: 769px) { .contact-buttons { margin-top: 43px; } }

.contact-thanks { font-size: 18px; text-align: center; margin: 0 auto; width: 40%; }

@media screen and (max-width: 769px) { .contact-thanks { font-size: 16px; width: 100%; } }

.contact-top { display: block; position: relative; font-family: "OpenSans semibold"; font-size: 16px; letter-spacing: 0.07em; background-color: #0f819b; border-radius: 30px; color: #fff; padding: 17px 39px; width: 200px; text-align: center; border: 1px solid #0f819b; transition: 0.25s ease-in-out; margin: 70px auto 0; }

@media screen and (max-width: 769px) { .contact-top { font-size: 12px; letter-spacing: 0.08em; padding: 10px 22px; min-width: 160px; } }

.contact-top:hover { background-color: #fff; color: #0f819b; border: 1px solid #0f819b; }

.contact-top-big { padding: 23px 88px; border-radius: 35px; }

.contact-form .mw_wp_form.mw_wp_form_confirm .contact-form-required, .contact-form .mw_wp_form.mw_wp_form_confirm .contact-form-optional { display: none; }

.contact-form .mw_wp_form.mw_wp_form_confirm .contact-buttons { display: table; }

@media screen and (max-width: 769px) { .contact-form .mw_wp_form.mw_wp_form_confirm .contact-buttons { display: block; } }

.contact-form .mw_wp_form.mw_wp_form_confirm .contact-form-button { display: table-cell; padding-left: 10px; }

@media screen and (max-width: 769px) { .contact-form .mw_wp_form.mw_wp_form_confirm .contact-form-button { display: block; padding: 0; margin-top: 10px; } }

@media screen and (max-width: 769px) { .contact-form .mw_wp_form.mw_wp_form_confirm .contact-form-button-back { margin-top: 0; } }

.contact-form .mw_wp_form.mw_wp_form_confirm .contact-form-group { display: table; }

.contact-form .mw_wp_form.mw_wp_form_confirm .contact-form-label, .contact-form .mw_wp_form.mw_wp_form_confirm .contact-form-input { display: table-cell; }

.contact-form .mw_wp_form.mw_wp_form_confirm .contact-form-label { min-width: 100px; }

@media screen and (max-width: 769px) { .contact-form .mw_wp_form.mw_wp_form_confirm .contact-form-label { min-width: 80px; } }

.result-list { background-color: #fff; padding: 60px 80px 0; }

@media screen and (max-width: 769px) { .result-list { padding: 20px 20px 0; } }

.result-list-inner { margin: 0 -20px; }

@media screen and (max-width: 769px) { .result-list-inner { margin: 0; } }

.result-list-inner.l-grid-row { width: auto; }

.result-list-item { padding: 60px 20px; }

@media screen and (max-width: 769px) { .result-list-item { padding: 28px 0; } }

.result-list-zero { font-size: 24px; font-family: "OpenSans semibold"; color: #040000; letter-spacing: 0.13em; margin-top: 30px; }

@media screen and (max-width: 769px) { .result-list-zero { font-size: 15px; font-family: "OpenSans bold"; letter-spacing: 0.06em; margin-top: 20px; } }

.result-heading { font-size: 28px; letter-spacing: 0.04em; position: relative; padding-left: 42px; }

@media screen and (max-width: 769px) { .result-heading { font-size: 17px; padding-left: 32px; } }

.result-heading:before { display: block; content: ''; background: url(../images/svg/icon-search-heading.svg) no-repeat center; background-size: contain; width: 24px; height: 24px; position: absolute; left: 0; top: 8px; }

@media screen and (max-width: 769px) { .result-heading:before { width: 17px; height: 17px; top: 4px; } }

.result-heading.no-icon { padding-left: 0; }

.result-heading.no-icon:before { display: none; }

.result-heading-keyword { color: #009999; }

.result-pager { background-color: #fff; padding: 115px 0; }

@media screen and (max-width: 769px) { .result-pager { padding: 45px 0 75px; } }

.result-pager-inner { text-align: center; margin: 0 auto; }

.eyecatch-preview { display: block; background-repeat: no-repeat; background-position: center; background-size: cover; width: 100%; padding-top: 70%; position: relative; }

.eyecatch-preview:after { display: block; content: ''; position: absolute; top: 0; left: 0; width: 100%; height: 100%; opacity: 0; background-color: rgba(4, 0, 0, 0.3); transition: opacity 0.5s ease-in-out; }

.eyecatch-preview:hover { text-decoration: none; }

.eyecatch-preview:hover:after { opacity: 1; }

.nav-access { display: -ms-flexbox; display: flex; -ms-flex-pack: justify; justify-content: space-between; -ms-flex-wrap: wrap; flex-wrap: wrap; }

.nav-access-item { margin-bottom: 30px; }

@media screen and (max-width: 769px) { .nav-access-item { margin-bottom: 10px; width: 100%; } }

.content-access-list { margin-top: 110px; }

.content-access-list:nth-of-type(1) { margin-top: 0; }

.content-access-list:last-of-type { margin-top: 55px; }

.content-access-subtitle { font-size: 24px; font-family: "OpenSans bold"; color: #0f819b; margin-bottom: 55px; letter-spacing: 0.05em; }

.content-access-undertitle { font-size: 18px; color: #0f819b; font-family: "OpenSans bold"; letter-spacing: 0.05em; margin-bottom: 16px; }

.content-access-item { display: -ms-flexbox; display: flex; font-size: 0; letter-spacing: 0; margin-bottom: 10px; }

.content-access-item:last-of-type { margin-bottom: 0; }

.content-access-item-big { margin-bottom: 40px; }

.content-access-item-big .content-access-transportation { height: 90px; padding-top: 62px; }

.content-access-item-big .content-access-time { height: 90px; }

.content-access-item-big .content-access-destination { -webkit-transform: translate(0, 0); transform: translate(0, 0); position: static; padding-top: 23px; }

.content-access-item-big .content-access-destination span { margin-top: 10px; font-size: 14px; font-family: "OpenSans semibold"; letter-spacing: 0.07em; display: block; text-align: left; }

.content-access-wrapper { width: calc(100% - 250px); }

.content-access-container { display: -ms-flexbox; display: flex; margin-bottom: 10px; }

.content-access-container:last-of-type { margin-bottom: 0; }

.content-access-way { position: relative; width: calc(100% - 420px); }

.content-access-left { position: relative; background-color: #f2f2f2; width: 420px; text-align: center; }

.content-access-from { display: block; width: 100%; font-size: 17px; font-family: "OpenSans"; color: #040000; position: absolute; top: 50%; right: 50%; -webkit-transform: translate(50%, -50%); transform: translate(50%, -50%); letter-spacing: 0.09em; }

.content-access-transportation { font-size: 0; letter-spacing: 0; text-align: center; min-height: 40px; padding-top: 10px; border-bottom: 3px solid #87c0cd; }

.content-access-icon { vertical-align: top; width: 14px; display: inline-block; -webkit-transform: translateY(2px); transform: translateY(2px); margin-right: 7px; }

.content-access-icon-air { width: 35px; }

.content-access-line { display: inline-block; font-size: 14px; color: #040000; max-width: calc(100% - 30px); letter-spacing: 0.09em; }

.content-access-line span { margin-left: 10px; margin-right: 17px; }

.content-access-time { text-align: center; font-size: 14px; font-family: "OpenSans"; color: #0f819b; opacity: 0.9; letter-spacing: 0.09em; min-height: 40px; padding-top: 4px; }

.content-access-right { position: relative; text-align: center; background-color: #0f819b; width: 250px; }

.content-access-destination { display: inline-block; width: 100%; color: #fff; font-size: 20px; font-family: "OpenSans bold"; position: absolute; top: 50%; right: 50%; -webkit-transform: translate(50%, -50%); transform: translate(50%, -50%); padding: 0 20px; letter-spacing: 0.09em; line-height: 1.6; }

.about-card-img { width: 100%; }

@media screen and (max-width: 769px) { .about-card-img { object-fit: cover; width: calc(100% + 40px); height: 212px; margin-left: -20px; } }

.about-card-text { font-size: 18px; font-family: "OpenSans"; color: #040000; background-color: #fff; padding: 50px 70px; line-height: 1.9; letter-spacing: 0.03em; }

@media screen and (max-width: 769px) { .about-card-text { width: 100%; font-size: 15px; padding: 18px 20px 55px; letter-spacing: 0; } }

.privacy-content { font-size: 18px; letter-spacing: 0.03em; line-height: 1.9; }

@media screen and (max-width: 769px) { .privacy-content { font-size: 15px; letter-spacing: 0; line-height: 1.8; } }

.privacy-content p { margin-bottom: 22px; }

@media screen and (max-width: 769px) { .privacy-content p { margin-bottom: 18px; } }

.privacy-content-address { line-height: 2; margin-top: -22px; }

.privacy-content h2 { display: inline-block; margin-bottom: 12px; letter-spacing: 0.065em; }

@media screen and (max-width: 769px) { .privacy-content h2 { font-size: 14px; letter-spacing: 0.076em; line-height: 2; margin-bottom: 3px; } }

.privacy-content-title { padding-bottom: 22px; }

.privacy-content h3 { display: inline-block; margin-bottom: 12px; letter-spacing: 0.068em; }

@media screen and (max-width: 769px) { .privacy-content h3 { margin-bottom: 5px; } }

.privacy-content ul { list-style-type: none; margin-bottom: 25px; }

.privacy-content ul > li { position: relative; padding-left: 15px; margin-bottom: 20px; line-height: 1.6; }

@media screen and (max-width: 769px) { .privacy-content ul > li { margin-bottom: 10px; } }

.privacy-content ul > li:before { content: ''; position: absolute; top: 14px; left: 0; background-color: #0f819b; width: 4px; height: 4px; position: absolute; }

@media screen and (max-width: 769px) { .privacy-content ul > li:before { top: 11px; left: 0px; width: 5px; height: 5px; } }

.privacy-content ol { counter-reset: item; margin-bottom: 20px; }

.privacy-content ol ol ol { margin-top: 15px; }

.privacy-content ol > li { display: block; position: relative; padding-left: 30px; margin-bottom: 10px; }

.privacy-content ol > li:before { position: absolute; top: 0px; left: 0; font-weight: bold; content: counter(item) ". "; counter-increment: item; }

.page-404 { margin: 170px 0; }

@media screen and (max-width: 769px) { .page-404 { margin: 80px 0; padding: 0 20px; } }

.page-404-heading { font-size: 36px; color: #0f819b; font-weight: 200; text-align: center; letter-spacing: 0.01em; }

@media screen and (max-width: 769px) { .page-404-heading { font-size: 21px; letter-spacing: 0.01em; } }

.page-404-description { font-size: 30px; color: #040000; font-weight: 200; text-align: center; letter-spacing: 0.01em; margin-top: 40px; }

@media screen and (max-width: 769px) { .page-404-description { font-size: 21px; letter-spacing: 0.01em; margin-top: 30px; } }

.page-404-button { text-align: center; margin-top: 50px; }

@media screen and (max-width: 769px) { .page-404-button { margin-top: 40px; } }

.section-access { background-color: #fff; padding: 110px 80px 160px; }

@media screen and (max-width: 769px) { .section-access { padding: 40px 20px; } }

.section-access-title { margin-bottom: 100px; }

@media screen and (max-width: 769px) { .section-access-title { margin-bottom: 35px; } }

.access-sp-list { margin-top: 70px; }

.access-sp-list:nth-of-type(1) { margin-top: 0; }

.access-sp-list:last-of-type { margin-top: 55px; }

.access-sp-title { font-size: 13px; font-family: "OpenSans bold"; color: #0f819b; text-align: center; margin-bottom: 27px; letter-spacing: 0.05em; }

.access-sp-item { margin-bottom: 30px; }

.access-sp-wrapper-double { display: -ms-flexbox; display: flex; -ms-flex-pack: justify; justify-content: space-between; }

.access-sp-wrapper-double .access-sp-top { width: 47%; }

.access-sp-from { font-size: 11px; font-family: "OpenSans"; color: #040000; background-color: #f2f2f2; text-align: center; padding: 12px 0; letter-spacing: 0.03em; line-height: 1.4; }

.access-sp-way { margin-bottom: 5px; }

.access-sp-transportation { text-align: center; letter-spacing: 0; line-height: 0; }

.access-sp-transportation:before, .access-sp-transportation:after { display: block; content: ''; width: 2px; height: 20px; background-color: #87c0cd; margin: 0 auto; }

.access-sp-transportation:before { margin-bottom: 8px; }

.access-sp-transportation:after { margin-top: 4px; }

.access-sp-icon { width: 9px; display: inline-block; }

.access-sp-icon-air { width: 25px; }

.access-sp-line { display: inline-block; font-size: 9px; font-family: "OpenSans"; color: #040000; letter-spacing: 0.04em; line-height: 1.5; }

.access-sp-time { font-size: 9px; font-family: "OpenSans"; color: #0f819b; letter-spacing: 0.04em; line-height: 1; }

.access-sp-destination { font-size: 12px; color: #fff; font-family: "OpenSans bold"; background-color: #0f819b; text-align: center; padding: 12px 20px; letter-spacing: 0.03em; }

.access-sp-destination span { font-size: 9px; font-family: "YuGothic"; text-align: left; }

.access-sp-undertitle { font-size: 11px; font-family: "OpenSans semibold"; color: #0f819b; text-align: center; margin-bottom: 30px; letter-spacing: 0.05em; }

.l-grid-row { box-sizing: border-box; display: -ms-flexbox; display: flex; -ms-flex: 0 1 auto; flex: 0 1 auto; -ms-flex-direction: row; flex-direction: row; -ms-flex-wrap: wrap; flex-wrap: wrap; width: 100%; }

.l-grid-col-lg-1 { box-sizing: border-box; -ms-flex: 0 0 auto; flex: 0 0 auto; -ms-flex-preferred-size: 8.33333%; flex-basis: 8.33333%; max-width: 8.33333%; }

@media screen and (max-width: 1279px) { .l-grid-col-md-1 { box-sizing: border-box; -ms-flex: 0 0 auto; flex: 0 0 auto; -ms-flex-preferred-size: 8.33333%; flex-basis: 8.33333%; max-width: 8.33333%; } }

@media screen and (max-width: 769px) { .l-grid-col-sm-1 { box-sizing: border-box; -ms-flex: 0 0 auto; flex: 0 0 auto; -ms-flex-preferred-size: 8.33333%; flex-basis: 8.33333%; max-width: 8.33333%; } }

.l-grid-col-lg-2 { box-sizing: border-box; -ms-flex: 0 0 auto; flex: 0 0 auto; -ms-flex-preferred-size: 16.66667%; flex-basis: 16.66667%; max-width: 16.66667%; }

@media screen and (max-width: 1279px) { .l-grid-col-md-2 { box-sizing: border-box; -ms-flex: 0 0 auto; flex: 0 0 auto; -ms-flex-preferred-size: 16.66667%; flex-basis: 16.66667%; max-width: 16.66667%; } }

@media screen and (max-width: 769px) { .l-grid-col-sm-2 { box-sizing: border-box; -ms-flex: 0 0 auto; flex: 0 0 auto; -ms-flex-preferred-size: 16.66667%; flex-basis: 16.66667%; max-width: 16.66667%; } }

.l-grid-col-lg-3 { box-sizing: border-box; -ms-flex: 0 0 auto; flex: 0 0 auto; -ms-flex-preferred-size: 25%; flex-basis: 25%; max-width: 25%; }

@media screen and (max-width: 1279px) { .l-grid-col-md-3 { box-sizing: border-box; -ms-flex: 0 0 auto; flex: 0 0 auto; -ms-flex-preferred-size: 25%; flex-basis: 25%; max-width: 25%; } }

@media screen and (max-width: 769px) { .l-grid-col-sm-3 { box-sizing: border-box; -ms-flex: 0 0 auto; flex: 0 0 auto; -ms-flex-preferred-size: 25%; flex-basis: 25%; max-width: 25%; } }

.l-grid-col-lg-4 { box-sizing: border-box; -ms-flex: 0 0 auto; flex: 0 0 auto; -ms-flex-preferred-size: 33.33333%; flex-basis: 33.33333%; max-width: 33.33333%; }

@media screen and (max-width: 1279px) { .l-grid-col-md-4 { box-sizing: border-box; -ms-flex: 0 0 auto; flex: 0 0 auto; -ms-flex-preferred-size: 33.33333%; flex-basis: 33.33333%; max-width: 33.33333%; } }

@media screen and (max-width: 769px) { .l-grid-col-sm-4 { box-sizing: border-box; -ms-flex: 0 0 auto; flex: 0 0 auto; -ms-flex-preferred-size: 33.33333%; flex-basis: 33.33333%; max-width: 33.33333%; } }

.l-grid-col-lg-5 { box-sizing: border-box; -ms-flex: 0 0 auto; flex: 0 0 auto; -ms-flex-preferred-size: 41.66667%; flex-basis: 41.66667%; max-width: 41.66667%; }

@media screen and (max-width: 1279px) { .l-grid-col-md-5 { box-sizing: border-box; -ms-flex: 0 0 auto; flex: 0 0 auto; -ms-flex-preferred-size: 41.66667%; flex-basis: 41.66667%; max-width: 41.66667%; } }

@media screen and (max-width: 769px) { .l-grid-col-sm-5 { box-sizing: border-box; -ms-flex: 0 0 auto; flex: 0 0 auto; -ms-flex-preferred-size: 41.66667%; flex-basis: 41.66667%; max-width: 41.66667%; } }

.l-grid-col-lg-6 { box-sizing: border-box; -ms-flex: 0 0 auto; flex: 0 0 auto; -ms-flex-preferred-size: 50%; flex-basis: 50%; max-width: 50%; }

@media screen and (max-width: 1279px) { .l-grid-col-md-6 { box-sizing: border-box; -ms-flex: 0 0 auto; flex: 0 0 auto; -ms-flex-preferred-size: 50%; flex-basis: 50%; max-width: 50%; } }

@media screen and (max-width: 769px) { .l-grid-col-sm-6 { box-sizing: border-box; -ms-flex: 0 0 auto; flex: 0 0 auto; -ms-flex-preferred-size: 50%; flex-basis: 50%; max-width: 50%; } }

.l-grid-col-lg-7 { box-sizing: border-box; -ms-flex: 0 0 auto; flex: 0 0 auto; -ms-flex-preferred-size: 58.33333%; flex-basis: 58.33333%; max-width: 58.33333%; }

@media screen and (max-width: 1279px) { .l-grid-col-md-7 { box-sizing: border-box; -ms-flex: 0 0 auto; flex: 0 0 auto; -ms-flex-preferred-size: 58.33333%; flex-basis: 58.33333%; max-width: 58.33333%; } }

@media screen and (max-width: 769px) { .l-grid-col-sm-7 { box-sizing: border-box; -ms-flex: 0 0 auto; flex: 0 0 auto; -ms-flex-preferred-size: 58.33333%; flex-basis: 58.33333%; max-width: 58.33333%; } }

.l-grid-col-lg-8 { box-sizing: border-box; -ms-flex: 0 0 auto; flex: 0 0 auto; -ms-flex-preferred-size: 66.66667%; flex-basis: 66.66667%; max-width: 66.66667%; }

@media screen and (max-width: 1279px) { .l-grid-col-md-8 { box-sizing: border-box; -ms-flex: 0 0 auto; flex: 0 0 auto; -ms-flex-preferred-size: 66.66667%; flex-basis: 66.66667%; max-width: 66.66667%; } }

@media screen and (max-width: 769px) { .l-grid-col-sm-8 { box-sizing: border-box; -ms-flex: 0 0 auto; flex: 0 0 auto; -ms-flex-preferred-size: 66.66667%; flex-basis: 66.66667%; max-width: 66.66667%; } }

.l-grid-col-lg-9 { box-sizing: border-box; -ms-flex: 0 0 auto; flex: 0 0 auto; -ms-flex-preferred-size: 75%; flex-basis: 75%; max-width: 75%; }

@media screen and (max-width: 1279px) { .l-grid-col-md-9 { box-sizing: border-box; -ms-flex: 0 0 auto; flex: 0 0 auto; -ms-flex-preferred-size: 75%; flex-basis: 75%; max-width: 75%; } }

@media screen and (max-width: 769px) { .l-grid-col-sm-9 { box-sizing: border-box; -ms-flex: 0 0 auto; flex: 0 0 auto; -ms-flex-preferred-size: 75%; flex-basis: 75%; max-width: 75%; } }

.l-grid-col-lg-10 { box-sizing: border-box; -ms-flex: 0 0 auto; flex: 0 0 auto; -ms-flex-preferred-size: 83.33333%; flex-basis: 83.33333%; max-width: 83.33333%; }

@media screen and (max-width: 1279px) { .l-grid-col-md-10 { box-sizing: border-box; -ms-flex: 0 0 auto; flex: 0 0 auto; -ms-flex-preferred-size: 83.33333%; flex-basis: 83.33333%; max-width: 83.33333%; } }

@media screen and (max-width: 769px) { .l-grid-col-sm-10 { box-sizing: border-box; -ms-flex: 0 0 auto; flex: 0 0 auto; -ms-flex-preferred-size: 83.33333%; flex-basis: 83.33333%; max-width: 83.33333%; } }

.l-grid-col-lg-11 { box-sizing: border-box; -ms-flex: 0 0 auto; flex: 0 0 auto; -ms-flex-preferred-size: 91.66667%; flex-basis: 91.66667%; max-width: 91.66667%; }

@media screen and (max-width: 1279px) { .l-grid-col-md-11 { box-sizing: border-box; -ms-flex: 0 0 auto; flex: 0 0 auto; -ms-flex-preferred-size: 91.66667%; flex-basis: 91.66667%; max-width: 91.66667%; } }

@media screen and (max-width: 769px) { .l-grid-col-sm-11 { box-sizing: border-box; -ms-flex: 0 0 auto; flex: 0 0 auto; -ms-flex-preferred-size: 91.66667%; flex-basis: 91.66667%; max-width: 91.66667%; } }

.l-grid-col-lg-12 { box-sizing: border-box; -ms-flex: 0 0 auto; flex: 0 0 auto; -ms-flex-preferred-size: 100%; flex-basis: 100%; max-width: 100%; }

@media screen and (max-width: 1279px) { .l-grid-col-md-12 { box-sizing: border-box; -ms-flex: 0 0 auto; flex: 0 0 auto; -ms-flex-preferred-size: 100%; flex-basis: 100%; max-width: 100%; } }

@media screen and (max-width: 769px) { .l-grid-col-sm-12 { box-sizing: border-box; -ms-flex: 0 0 auto; flex: 0 0 auto; -ms-flex-preferred-size: 100%; flex-basis: 100%; max-width: 100%; } }

.l-header { position: relative; width: 100%; height: 95px; background-color: #fff; z-index: 2; }

@media screen and (max-width: 769px) { .l-header { height: 50px; } }

.l-header-logo { display: block; width: 190px; vertical-align: middle; position: absolute; top: 50%; -webkit-transform: translateY(-50%); transform: translateY(-50%); }

@media screen and (max-width: 769px) { .l-header-logo { width: 92px; left: 15px; } }

.l-header-icon { width: 100%; }

.l-header-search { position: absolute; top: 50%; -webkit-transform: translateY(-50%); transform: translateY(-50%); right: 90px; }

@media screen and (max-width: 769px) { .l-header-search { position: static; -webkit-transform: translateY(0); transform: translateY(0); background: #fff; height: 100%; padding: 8px 25px 18px; display: block; } }

.l-header-glass { background: url(../images/svg/icon-search.svg) no-repeat top center/cover; background-size: 100% 100%; position: absolute; top: 50%; -webkit-transform: translateY(-50%); transform: translateY(-50%); right: 15px; width: 18px; height: 18px; transition: background 0.25s ease-in-out; cursor: pointer; }

.l-header-wrapper { height: 0; width: 100%; overflow: hidden; }

.l-header.is-active .l-header-glass { background: url(../images/svg/sp-cancel.svg) no-repeat top center/cover; }

.l-header.is-active .l-header-wrapper { height: 100%; }

@media screen and (max-width: 769px) { .l-header.is-active .l-header-search { position: absolute; top: 100%; left: 0; width: 100%; -webkit-transform: translateY(0); transform: translateY(0); transition: 0.25s ease-in-out; } }

.l-footer { position: relative; background-color: #fff; padding: 90px 0 100px; }

.l-footer iframe { margin-bottom: 30px }

@media screen and (max-width: 769px) { .l-footer { padding: 35px 0; } }

.l-footer-inner { text-align: center; }

.l-footer-logo { display: block; width: 220px; margin: 0 auto; }

@media screen and (max-width: 769px) { .l-footer-logo { width: 129px; } }

.l-footer-icon { width: 100%; }

.l-footer-nav { margin-top: 45px; }

@media screen and (max-width: 769px) { .l-footer-nav { margin-top: 27px; } }

.l-footer-list { font-size: 0; letter-spacing: 0; }

.l-footer-item { display: inline-block; margin: 0 15px; }

@media screen and (max-width: 769px) { .l-footer-item { display: block; margin-bottom: 7px; } }

.l-footer-link { font-size: 13px; font-family: "OpenSans"; color: #040000; letter-spacing: 0.1em; transition: 0.25s ease-in-out; }

@media screen and (max-width: 769px) { .l-footer-link { font-size: 10px; } }

.l-footer-link:hover { color: #0f819b; }

.l-footer-arrow { position: absolute; right: 60px; top: 90px; }

@media screen and (max-width: 769px) { .l-footer-arrow { right: 20px; top: auto; bottom: 45px; } }

.l-footer-button { position: relative; display: block; width: 60px; height: 60px; border-radius: 50%; border: 1px solid #0f819b; background-color: #0f819b; transition: 0.25s ease-in-out; }

@media screen and (max-width: 769px) { .l-footer-button { width: 45px; height: 45px; } }

.l-footer-button svg { position: absolute; top: 50%; left: 50%; -webkit-transform: translate(-50%, -55%); transform: translate(-50%, -55%); height: 15px; width: 30px; fill: #fff; transition: fill 0.25s ease-in-out; }

@media screen and (max-width: 769px) { .l-footer-button svg { -webkit-transform: translate(-50%, -60%); transform: translate(-50%, -60%); height: 11px; width: 21px; } }

.l-footer-button:hover { background-color: #fff; }

.l-footer-button:hover svg { fill: #0f819b; }

.l-container { margin: 0 auto; position: relative; height: 100%; width: 1580px; padding: 0 90px; }

@media screen and (max-width: 1580px) { .l-container { width: 100%; } }

@media screen and (max-width: 769px) { .l-container { padding: 0 20px; } }

.l-index-text { font-size: 20px; font-family: "OpenSans semibold"; text-align: center; padding-top: 65px; padding-bottom: 90px; letter-spacing: 0.06em; line-height: 2.2; }

@media screen and (max-width: 769px) { .l-index-text { font-size: 13px; padding: 34px 20px 40px; line-height: 2; letter-spacing: 0; } }

.l-index-contents { max-width: 1600px; margin: 0 auto; height: 100%; margin-bottom: 120px; }

@media screen and (max-width: 769px) { .l-index-contents { margin-bottom: 30px; } }

.l-index-contents-last { margin-bottom: 120px; }

@media screen and (max-width: 769px) { .l-index-contents-last { margin-bottom: 45px; } }

.l-index-access { width: 100%; height: 778px; }

@media screen and (max-width: 769px) { .l-index-access { height: 535px; } }

.l-single { padding-top: 90px; }

@media screen and (max-width: 769px) { .l-single { padding-top: 30px; } }

.l-single-tag { letter-spacing: 0; font-size: 0; }

@media screen and (max-width: 769px) { .l-single-tag { margin-bottom: 15px; } }

.l-single-title { font-size: 60px; font-family: "OpenSans semibold"; color: #040000; letter-spacing: 0.03em; line-height: 1.6; margin-bottom: 65px; }

@media screen and (max-width: 769px) { .l-single-title { font-size: 27px; margin-bottom: 30px; } }

.l-single-img { max-width: 1600px; margin: 0 auto; height: 53vw; max-height: 850px; }

.l-single-img img { object-fit: cover; width: 100%; height: 100%; max-height: 850px; }

.l-single-img.compat-object-fit { background-size: cover; background-position: center center; }

.l-single-img.compat-object-fit img { opacity: 0; }

.l-single-content { background: #fff; max-width: 1600px; margin: 0 auto; height: 100%; padding-top: 100px; margin-bottom: 120px; }

@media screen and (max-width: 769px) { .l-single-content { margin-bottom: 45px; padding-top: 13px; } }

.l-archive { margin-top: 90px; }

@media screen and (max-width: 769px) { .l-archive { margin-top: 30px; } }

.l-archive-content { max-width: 1600px; margin: 0 auto; height: 100%; margin-bottom: 120px; }

@media screen and (max-width: 769px) { .l-archive-content { margin-bottom: 45px; } }

.l-contact { margin-bottom: 90px; }

@media screen and (max-width: 769px) { .l-contact { margin-bottom: 45px; } }

.l-contact-title { font-size: 60px; font-family: "OpenSans bold"; text-align: center; letter-spacing: 0.03em; margin: 120px 0; }

@media screen and (max-width: 769px) { .l-contact-title { font-size: 23px; margin: 37px 0; } }

.l-contact-content { background-color: #fff; width: 100%; max-width: 1600px; margin: 0 auto; padding: 110px 0 150px; }

@media screen and (max-width: 769px) { .l-contact-content { padding: 37px 20px 58px; } }

.l-search-result { margin-top: 80px; }

@media screen and (max-width: 769px) { .l-search-result { margin-top: 40px; } }

.l-search-result-heading, .l-search-result-list, .l-search-result-pager { min-width: 1280px; max-width: 1600px; margin: 0 auto; }

@media screen and (max-width: 769px) { .l-search-result-heading, .l-search-result-list, .l-search-result-pager { min-width: 100%; max-width: 100%; } }

.l-search-result-heading { padding-left: 80px; }

@media screen and (max-width: 769px) { .l-search-result-heading { padding-left: 20px; } }

.l-search-result-list { margin-top: 82px; }

@media screen and (max-width: 769px) { .l-search-result-list { margin-top: 40px; } }

.l-search-result-feature { margin-top: 120px; }

@media screen and (max-width: 769px) { .l-search-result-feature { margin-top: 46px; } }

.l-access-title { font-size: 60px; font-family: "OpenSans bold"; color: #040000; text-align: center; letter-spacing: 0.03em; margin: 96px 0 105px; }

@media screen and (max-width: 769px) { .l-access-title { font-size: 23px; letter-spacing: 0.01em; margin: 37px 0 42px; padding: 0 50px; } }

.l-access-inner { width: 100%; max-width: 1600px; margin: 0 auto; position: relative; padding: 85px 0 115px 90px; }

@media screen and (max-width: 769px) { .l-access-inner { padding: 40px 10px; } }

.l-access-top { width: 100%; height: 100%; background-size: cover; background: url(../images/bg/access.jpg) no-repeat top center/cover; }

@media screen and (max-width: 769px) { .l-access-top { background: url(../images/bg/access-sp.jpg) no-repeat center/cover; height: 100%; } }

.l-access-top-text { font-size: 20px; font-family: "OpenSans"; color: #fff; line-height: 2.2; letter-spacing: 0.05em; width: 38%; max-width: 580px; }

@media screen and (max-width: 769px) { .l-access-top-text { width: 100%; font-size: 12px; padding: 0 10px; letter-spacing: 0.03em; line-height: 1.9; margin-top: 20px; } }

.l-access-top-img { position: absolute; right: 0; max-width: 900px; top: -100px; z-index: 0; width: 57%; }

@media screen and (max-width: 1411px) { .l-access-top-img { top: 20px; } }

@media screen and (max-width: 769px) { .l-access-top-img { position: static; width: 100%; } }

.l-access-nav { padding: 88px 90px 62px; max-width: 1600px; margin: 0 auto; }

@media screen and (max-width: 769px) { .l-access-nav { padding: 30px 20px 27px; } }

.l-access-content { max-width: 1600px; margin: 0 auto 120px; }

@media screen and (max-width: 769px) { .l-access-content { margin: 0 auto 45px; } }

.l-about-title { font-size: 60px; font-family: "OpenSans bold"; text-align: center; letter-spacing: 0.03em; margin: 96px 0 105px; }

@media screen and (max-width: 769px) { .l-about-title { font-size: 23px; letter-spacing: 0.01em; margin: 37px 0 42px; } }

.l-about-wrapper { width: 100%; max-width: 1600px; padding: 0 80px; margin: 0 auto; position: relative; z-index: 2; }

@media screen and (max-width: 769px) { .l-about-wrapper { padding: 0; } }

.l-about-top { width: 100%; position: relative; }

.l-about-top:before { content: ""; display: block; padding-top: 55.55%; }

.l-about-top iframe { position: absolute; top: 0; left: 0; width: 100%; height: 100%; }

.l-about-content { position: relative; max-width: 1600px; margin: 0 auto; padding: 0 80px 100px; background-color: #fff; -webkit-transform: translateY(-200px); transform: translateY(-200px); }

@media screen and (max-width: 769px) { .l-about-content { padding: 0 20px; -webkit-transform: translateY(46px); transform: translateY(46px); }
  .l-about-content:after { display: block; position: absolute; bottom: 0; height: 116px; width: calc(100% + 40px); margin-left: -20px; background: #f2f2f2; z-index: -1; } }

.l-about-card { float: left; }

@media screen and (max-width: 769px) { .l-about-card { float: none; } }

.l-about-card:nth-of-type(1) { max-width: 800px; margin-left: 80px; padding-top: 320px; }

@media screen and (max-width: 769px) { .l-about-card:nth-of-type(1) { width: 100%; margin: 0; padding: 0; } }

.l-about-card:nth-of-type(2) { max-width: 850px; float: right; margin-top: -165px; }

@media screen and (max-width: 769px) { .l-about-card:nth-of-type(2) { float: none; position: relative; margin-top: -20px; } }

.l-about-card:nth-of-type(3) { width: 100%; margin-top: 65px; }

@media screen and (max-width: 769px) { .l-about-card:nth-of-type(3) { display: none; } }

.l-about-card:nth-of-type(4) { max-width: 800px; margin-top: -233px; float: right; margin-right: 80px; }

@media screen and (max-width: 769px) { .l-about-card:nth-of-type(4) { float: none; position: relative; margin: 0; } }

.l-about-card:nth-of-type(5) { max-width: 850px; margin-top: -70px; }

@media screen and (max-width: 769px) { .l-about-card:nth-of-type(5) { float: none; position: relative; margin-top: -20px; } }

.l-about-card:nth-of-type(6) { max-width: 800px; margin-top: 115px; }

@media screen and (max-width: 769px) { .l-about-card:nth-of-type(6) { float: none; position: relative; margin: 0; } }

.l-about-card:nth-of-type(7) { max-width: 840px; margin-top: -440px; margin-right: 10px; float: right; }

@media screen and (max-width: 769px) { .l-about-card:nth-of-type(7) { float: none; position: relative; margin-top: -20px; } }

.l-about-card:nth-of-type(8) { width: 100%; margin-top: 170px; }

@media screen and (max-width: 769px) { .l-about-card:nth-of-type(8) { float: none; position: relative; margin: 0; } }

.l-about-bottom { position: absolute; bottom: -160px; left: 50%; -webkit-transform: translateX(-50%); transform: translateX(-50%); width: 1000px; text-align: center; letter-spacing: 0.05em; line-height: 2; background-color: #fff; font-size: 24px; font-family: "OpenSans bold"; color: #040000; padding: 75px 100px 85px; }

@media screen and (max-width: 769px) { .l-about-bottom { position: relative; top: -20px; left: 0; bottom: 0; -webkit-transform: translateY(0); transform: translateY(0); padding: 24px 20px 35px; width: 100%; font-size: 15px; letter-spacing: 0; line-height: 1.8; } }

.l-about-bottom span { color: #0f819b; }

.l-about-bottom-text { margin-top: 30px; font-size: 18px; font-family: "OpenSans"; letter-spacing: 0.09em; }

@media screen and (max-width: 769px) { .l-about-bottom-text { font-size: 14px; letter-spacing: 0.03em; margin-top: 16px; line-height: 2; } }

.l-about-feature { margin-top: 80px; }

@media screen and (max-width: 769px) { .l-about-feature { margin-top: 71px; } }

.l-privacy-title { font-size: 60px; font-family: "OpenSans bold"; color: #040000; text-align: center; letter-spacing: 0.03em; margin: 96px 0 105px; }

@media screen and (max-width: 769px) { .l-privacy-title { font-size: 23px; letter-spacing: 0.01em; margin: 37px 0 42px; } }

.l-privacy-content { background: #fff; max-width: 1600px; margin: 0 auto 120px; padding: 115px 160px 92px; }

@media screen and (max-width: 769px) { .l-privacy-content { padding: 36px 20px 50px; margin-bottom: 46px; } }

/*
Utility

This means helper class like a snippet.
Utility should always have the prefix "u-".
And you should not feel free to add a new Utility class.
*/
.u-hidden { overflow: hidden; text-indent: 120%; white-space: nowrap; }

.u-clear { zoom: 1; }

.u-clear:before, .u-clear:after { content: ""; display: block; }

.u-clear:after { clear: both; }

@media screen and (max-width: 769px) { .u-hidden-sp { display: none; } }

@media screen and (min-width: 769px) { .u-hidden-pc { display: none; } }
/*# sourceMappingURL=maps/style.css.map */
