@charset "UTF-8";
/*--- import -------------------------------------*/
* { margin: 0; padding: 0; border: 0; outline: 0; font-size: 100%; word-break: break-word; -webkit-box-sizing: border-box; box-sizing: border-box; vertical-align: baseline; background: transparent; line-height: 1.6; }

html { overflow: auto; }

article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section, main { display: block; }

li { list-style-type: none; }

blockquote, q { quotes: none; }

blockquote::before, blockquote::after, q::before, q::after { content: ''; content: none; }

a { text-decoration: none; color: inherit; }

img, picture { vertical-align: middle; max-width: 100%; }

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

input, select { vertical-align: middle; }

br { line-height: 0; }

input, textarea, select, button { font: inherit; -webkit-appearance: none; -moz-appearance: none; appearance: none; border: none; outline: none; }

/* safariでのデフォルトスタイルをリセット */
input[type="submit"], input[type="button"] { border-radius: 0; -webkit-box-sizing: content-box; -webkit-appearance: button; -moz-appearance: button; appearance: button; border: none; -webkit-box-sizing: border-box; box-sizing: border-box; }

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

input[type="submit"]::focus, input[type="button"]::focus { outline-offset: -2px; }

a:focus, *:focus { outline: none; }

/*------------------------------------- import ---*/
body { -webkit-text-size-adjust: 100%; -moz-text-size-adjust: 100%; -ms-text-size-adjust: 100%; text-size-adjust: 100%; 　　-ms-text-size-adjust: 100%; /*EgdeMobile*/ 　　-moz-text-size-adjust: 100%; /*firefox*/ font-family: Roboto,Helvetica Neue,Arial; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; text-rendering: auto; text-align: center; -webkit-font-feature-settings: "palt" 1; font-feature-settings: "palt" 1; font-size: 1rem; background: #FFF; letter-spacing: 0.07em; position: relative; /* safariでのデフォルトスタイルをリセット */ }

body a { opacity: 1; -webkit-transition: opacity 0.3s; -o-transition: opacity 0.3s; transition: opacity 0.3s; }

@media screen and (min-width: 769px) { body a:hover { opacity: 0.7; } }

body .pc { display: block; }

body .pc._inline { display: inline; }

body .pc._inline-block { display: inline-block; }

@media screen and (max-width: 768px) { body .pc { display: none; } }

body .sp { display: none; }

@media screen and (max-width: 768px) { body .sp { display: block; }
  body .sp._inline { display: inline; }
  body .sp._inline-block { display: inline-block; } }

body article, body aside, body details, body figcaption, body figure, body footer, body header, body hgroup, body menu, body nav, body section, body main { display: block; }

body li { list-style-type: none; }

body blockquote, body q { quotes: none; }

body blockquote::before, body blockquote::after, body q::before, body q::after { content: ""; content: none; }

body a { text-decoration: none; color: inherit; }

body img, body picture { vertical-align: middle; max-width: 100%; }

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

body input, body select { vertical-align: middle; }

body br { line-height: 0; }

body input, body textarea, body select { font: inherit; }

body input[type="submit"], body input[type="button"] { border-radius: 0; -webkit-box-sizing: content-box; -webkit-appearance: button; -moz-appearance: button; appearance: button; border: none; -webkit-box-sizing: border-box; box-sizing: border-box; }

body input[type="submit"]::-webkit-search-decoration, body input[type="button"]::-webkit-search-decoration { display: none; }

body input[type="submit"]::focus, body input[type="button"]::focus { outline-offset: -2px; }

img { -webkit-touch-callout: none; -webkit-user-select: none; -moz-touch-callout: none; -moz-user-select: none; touch-callout: none; -ms-user-select: none; user-select: none; pointer-events: none; }

.coution { padding-left: 1em; text-indent: -1em; }

.coution::before { content: "※"; }

/*スクロールバー全体*/
::-webkit-scrollbar { width: 10px; }

/*スクロールバーの軌道*/
::-webkit-scrollbar-track { border-radius: 10px; -webkit-box-shadow: inset 0 0 6px rgba(0, 0, 0, 0.1); box-shadow: inset 0 0 6px rgba(0, 0, 0, 0.1); }

/*スクロールバーの動く部分*/
::-webkit-scrollbar-thumb { background-color: #e0e0e0; border-radius: 10px; -webkit-box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.3); box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.3); }

#wrapper { overflow: hidden; padding-top: 93px; }

@media screen and (max-width: 640px) { #wrapper { padding-top: 60px; } }

#wrapper .inview { opacity: 0; -webkit-transform: translateY(50px); -ms-transform: translateY(50px); transform: translateY(50px); -webkit-transition: all 1.2s cubic-bezier(0.25, 0.46, 0.45, 0.94); -o-transition: all 1.2s cubic-bezier(0.25, 0.46, 0.45, 0.94); transition: all 1.2s cubic-bezier(0.25, 0.46, 0.45, 0.94); }

#wrapper .inview._delay1 { -webkit-transition: all 1.2s 0.1s; -o-transition: all 1.2s 0.1s; transition: all 1.2s 0.1s; }

#wrapper .inview._delay2 { -webkit-transition: all 1.2s 0.2s; -o-transition: all 1.2s 0.2s; transition: all 1.2s 0.2s; }

#wrapper .inview._delay3 { -webkit-transition: all 1.2s 0.3s; -o-transition: all 1.2s 0.3s; transition: all 1.2s 0.3s; }

#wrapper .inview._delay4 { -webkit-transition: all 1.2s 0.4s; -o-transition: all 1.2s 0.4s; transition: all 1.2s 0.4s; }

#wrapper .inview._delay5 { -webkit-transition: all 1.2s 0.5s; -o-transition: all 1.2s 0.5s; transition: all 1.2s 0.5s; }

#wrapper .inview._fadeInleft { -webkit-transition: all 1.1s 0.2s; -o-transition: all 1.1s 0.2s; transition: all 1.1s 0.2s; -webkit-transform: translate(-50%, 0); -ms-transform: translate(-50%, 0); transform: translate(-50%, 0); }

#wrapper .inview._fadeInright { -webkit-transition: all 1.1s 0.2s; -o-transition: all 1.1s 0.2s; transition: all 1.1s 0.2s; -webkit-transform: translate(50%, 0); -ms-transform: translate(50%, 0); transform: translate(50%, 0); }

#wrapper .inview.on { opacity: 1; -webkit-transform: none; -ms-transform: none; transform: none; }

@media screen and (max-width: 768px) { #wrapper .inview._sp_delay0 { -webkit-transition: all 1.2s; -o-transition: all 1.2s; transition: all 1.2s; } }

section .inner { max-width: 1030px; width: 100%; margin: 0 auto; padding: 120px 0; }

@media screen and (max-width: 768px) { section .inner { padding: 6rem 0; } }

@media screen and (max-width: 768px) and (max-width: 640px) { section .inner { padding: 3rem 1.30208vw; } }

section .inner h2 { font-size: 2.5em; font-weight: bold; }

@media screen and (max-width: 768px) { section .inner h2 { font-size: 8.33333vw; } }

@media screen and (max-width: 768px) { section .inner.type_prl { padding: 25vw 6vw; }
  section .inner.type_prl h2 { width: 100%; } }

/*------------------------------------------------------------
	.header_top
------------------------------------------------------------*/
.header_top { width: 100%; position: fixed; top: 0; left: 0; z-index: 1000; background: #000000; height: 93px; }

@media screen and (max-width: 640px) { .header_top { height: 60px; } }

.header_top .logo { position: absolute; left: 2.34375vw; top: 0; bottom: 0; display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; }

@media screen and (max-width: 768px) { .header_top .logo { left: 5.20833vw; }
  .header_top .logo img { width: 8.85417vw; } }

.header_top .top_link { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; margin-left: 43px; }

@media screen and (max-width: 640px) { .header_top .top_link { margin-left: 4.94792vw; } }

.header_top .top_link li:nth-of-type(1) { margin-right: 35px; }

@media screen and (max-width: 768px) { .header_top .top_link li:nth-of-type(1) { margin-right: 4.55729vw; } }

.header_top .top_link li:nth-of-type(2) { margin-right: 35px; }

@media screen and (max-width: 768px) { .header_top .top_link li:nth-of-type(2) { margin-right: 4.55729vw; } }

.header_top .top_link li a { color: #FFF; font-size: 1.18em; letter-spacing: normal; }

@media screen and (max-width: 768px) { .header_top .top_link li a { font-size: 3.64583vw; } }

@media screen and (max-width: 640px) { .header_top .top_link li a { font-size: 3.38542vw; } }

@media screen and (max-width: 1000px) { .header_top .top_link li a { font-size: 1.95313vw; } }

.header_top nav { display: block; position: fixed; top: 0; right: -600px; bottom: 0; width: 680px; background: rgba(0, 0, 0, 0.8); overflow-x: hidden; overflow-y: auto; -webkit-overflow-scrolling: touch; -webkit-transition: all .5s; -o-transition: all .5s; transition: all .5s; z-index: 3; opacity: 0; }

@media screen and (max-width: 768px) { .header_top nav { width: 100%; right: -100%; } }

.header_top nav .inner { padding: 50px 60px; margin-top: 50px; text-align: left; }

@media screen and (max-width: 768px) { .header_top nav .inner { margin-top: 30px; padding: 7.8125vw 0 0; text-align: center; } }

.header_top nav .inner .head_link { margin-bottom: 45px; }

.header_top nav .inner .head_link li:nth-of-type(1) { margin-bottom: 20px; }

.header_top nav .inner .head_link li:last-child { margin-bottom: 0; }

.header_top nav .inner .head_link li a { font-size: 3.90625vw; padding: 18px; }

.header_top nav .inner .official { color: #fff; }

.header_top nav .inner ul { list-style: none; margin: 0; padding: 0; }

.header_top nav .inner ul li { position: relative; margin-bottom: 20px; }

@media screen and (max-width: 768px) { .header_top nav .inner ul li { margin-bottom: 4.55729vw; } }

.header_top nav .inner ul li a { display: inline-block; color: #ffffff; font-size: 1.4em; padding: 0em 0; text-decoration: none; font-weight: bold; letter-spacing: 0.08em; }

@media screen and (max-width: 768px) { .header_top nav .inner ul li a { font-size: 1.8em; line-height: 1.2; } }

@media screen and (max-width: 768px) and (max-width: 640px) { .header_top nav .inner ul li a { font-size: 1.5em; } }

@media screen and (min-width: 769px) { .header_top nav .inner ul li a::after { position: absolute; bottom: -2px; left: 0; content: ''; width: 100%; height: 1px; background: #ffffff; -webkit-transform: scale(0, 1); -ms-transform: scale(0, 1); transform: scale(0, 1); -webkit-transform-origin: left top; -ms-transform-origin: left top; transform-origin: left top; -webkit-transition: -webkit-transform .3s; transition: -webkit-transform .3s; -o-transition: transform .3s; transition: transform .3s; transition: transform .3s, -webkit-transform .3s; }
  .header_top nav .inner ul li a:hover { opacity: 1; }
  .header_top nav .inner ul li a:hover::after { -webkit-transform: scale(1, 1); -ms-transform: scale(1, 1); transform: scale(1, 1); } }

.header_top nav .inner ul li:last-of-type { margin-bottom: 45px; }

@media screen and (max-width: 320px) { .header_top nav .inner ul li:last-of-type { margin-bottom: 6.51042vw; } }

.header_top .open nav { right: 0; opacity: 1; }

.header_top .official { width: 450px; position: relative; border: 1px solid #ffffff; }

@media screen and (max-width: 768px) { .header_top .official { margin: 0 auto; } }

@media screen and (max-width: 768px) and (max-width: 768px) { .header_top .official { width: 80.72917vw; } }

@media screen and (max-width: 768px) and (max-width: 768px) and (max-width: 320px) { .header_top .official { width: 88.54167vw; } }

.header_top .official a { display: block; padding: 12px 20px; -webkit-box-sizing: border-box; box-sizing: border-box; font-size: 1.3em; font-weight: bold; letter-spacing: 0.07em; }

@media screen and (max-width: 640px) { .header_top .official a { font-size: 1.1em; padding: 12px 0; } }

.header_top .official a::after { content: ""; position: absolute; width: 0.9em; height: 0.9em; top: calc(50% - 0.45em); right: 40px; border-top: 2px solid #fff; border-right: 2px solid #fff; -webkit-transform: rotate(45deg); -ms-transform: rotate(45deg); transform: rotate(45deg); -webkit-transition: all 0.3s; -o-transition: all 0.3s; transition: all 0.3s; }

@media screen and (max-width: 768px) { .header_top .official a::after { width: 0.5em; height: 0.5em; top: calc(50% - 0.3em); right: 4.55729vw; } }

@media screen and (min-width: 769px) { .header_top .official a:hover { opacity: 0.7; }
  .header_top .official a:hover::after { right: 25px; } }

/*------------------------------------------------------------
	.toggle_btn
------------------------------------------------------------*/
.toggle_btn { display: block; position: absolute; top: 50%; right: 40px; width: 26px; height: 24px; -webkit-transform: translateY(-50%); -ms-transform: translateY(-50%); transform: translateY(-50%); -webkit-transition: all .5s; -o-transition: all .5s; transition: all .5s; cursor: pointer; z-index: 3; }

@media screen and (max-width: 768px) { .toggle_btn { right: 4.42708vw; } }

.toggle_btn span { display: block; position: absolute; left: 0; width: 26px; height: 1px; background-color: #ffffff; border-radius: 4px; -webkit-transition: all .5s; -o-transition: all .5s; transition: all .5s; }

@media all and (-ms-high-contrast: none) { .toggle_btn span { border-radius: 0; } }

.toggle_btn span:nth-child(1) { top: 4px; }

.toggle_btn span:nth-child(2) { top: 0; bottom: 0; margin: auto; }

.toggle_btn span:nth-child(3) { bottom: 4px; }

.open .toggle_btn span { background-color: #ffffff; }

.open .toggle_btn span:nth-child(1) { -webkit-transform: translateY(10px) rotate(-315deg); -ms-transform: translateY(10px) rotate(-315deg); transform: translateY(10px) rotate(-315deg); }

.open .toggle_btn span:nth-child(2) { opacity: 0; }

.open .toggle_btn span:nth-child(3) { -webkit-transform: translateY(-6px) rotate(315deg); -ms-transform: translateY(-6px) rotate(315deg); transform: translateY(-6px) rotate(315deg); }

#mask { display: none; -webkit-transition: all .5s; -o-transition: all .5s; transition: all .5s; }

.open #mask { display: block; position: fixed; top: 0; left: 0; width: 100%; height: 100%; background: transparent; opacity: .8; z-index: 2; cursor: pointer; }

/*------------------------------------------------------------
	footer
------------------------------------------------------------*/
footer small { padding: 1.2rem 0; display: block; font-size: 0.95em; letter-spacing: .06em; color: #ffffff; background: #000000; font-weight: 400; }

@media screen and (max-width: 768px) { footer small { font-size: 3.51563vw; } }

/*------------------------------------------------------------
	modal
------------------------------------------------------------*/
#modal { display: none; position: fixed; top: 0; left: 0; bottom: 0; right: 0; z-index: 100; }

#modal .modalMask { position: absolute; top: 0; left: 0; bottom: 0; right: 0; z-index: 10; width: 100%; height: 100%; background-color: rgba(0, 0, 0, 0.7); }

#modal .modalWrap { position: absolute; top: 50%; left: 50%; -webkit-transform: translate(-50%, -50%); -ms-transform: translate(-50%, -50%); transform: translate(-50%, -50%); width: 100%; max-width: 600px; z-index: 20; margin: auto; -webkit-box-sizing: border-box; box-sizing: border-box; /* 閉じるボタン */ }

@media screen and (max-width: 768px) { #modal .modalWrap { min-width: 93%; max-width: 93%; } }

#modal .modalWrap .modalCont { display: none; overflow: auto; }

#modal .modalWrap .modalCont p { padding: 10px 0 0; }

#modal .modalWrap .modalCont p a { color: #ffffff; border-bottom: 1px solid #ffffff; -webkit-box-sizing: border-box; box-sizing: border-box; }

@media screen and (max-width: 768px) { #modal .modalWrap .modalCont p a { font-size: 4.16667vw; } }

@media screen and (min-width: 769px) { #modal .modalWrap .modalCont p a:hover { border: none; } }

#modal .modalWrap .closeBtn { display: block; position: absolute; top: -20px; right: 0; z-index: 100; }

#modal .modalWrap .closeBtn .icnArea { display: block; position: absolute; top: 0; left: 0; right: 0; bottom: 0; margin: auto; width: 24px; height: 24px; }

#modal .modalWrap .closeBtn .icnArea::before, #modal .modalWrap .closeBtn .icnArea::after { content: ""; display: block; position: absolute; top: 0; left: 0; right: 0; bottom: 0; margin: auto; width: 100%; height: 2px; background-color: #ffffff; -webkit-transition: transform 0.3s ease; -webkit-transition: -webkit-transform 0.3s ease; transition: -webkit-transform 0.3s ease; -o-transition: transform 0.3s ease; transition: transform 0.3s ease; transition: transform 0.3s ease, -webkit-transform 0.3s ease; }

#modal .modalWrap .closeBtn .icnArea::before { -webkit-transform: rotate(45deg); -ms-transform: rotate(45deg); transform: rotate(45deg); top: 0; }

#modal .modalWrap .closeBtn .icnArea::after { -webkit-transform: rotate(-45deg); -ms-transform: rotate(-45deg); transform: rotate(-45deg); bottom: 0; }

/*------------------------------------------------------------
下層共通
------------------------------------------------------------*/
.low_mv { padding: 50px 0; background: #f8f8f7; }

@media screen and (max-width: 768px) { .low_mv { padding: 14.32292vw 0 10.41667vw; } }

@media screen and (max-width: 768px) { .low_mv img { width: 88.41146vw; } }

.low_section { position: relative; }

.low_section .con_ttl { text-align: left; }

.low_section .low_inner { padding-top: 200px; margin: 0 25px; }

@media screen and (max-width: 768px) { .low_section .low_inner { padding-top: 45px; } }

.bg { background-color: #000000; }

.bg_sub { background-color: #ffffff; }

.bg_urus { background-color: #16181b; }

button { cursor: pointer; }

#mv { position: relative; }

#mv img { width: 100%; }

@media screen and (max-width: 768px) { #mv .kv_list img { width: 100%; } }

#about .inner { max-width: 1450px !important; }

@media screen and (max-width: 1400px) { #about .inner { padding: 3rem 2.60417vw 11.71875vw; } }

#about .inner p { color: #000000; font-size: 1.2em; font-size: 20px; text-align: left; line-height: 2.0; }

@media screen and (max-width: 768px) { #about .inner p { font-size: 3.64583vw; } }

#about .inner p.mb { margin-bottom: 40px; }

@media screen and (max-width: 640px) { #about .inner p.mb { margin-bottom: 35px; } }

#about .inner p.indent { padding-left: 1em; text-indent: -1em; }

#about .inner p.small { font-size: 16px; }

@media screen and (max-width: 768px) { #about .inner p.small { font-size: 3.125vw; } }

#about .inner p.contest_end { text-align: center; font-weight: bold; }

#oubo .inner { padding: 0 0 120px 0 !important; }

@media screen and (max-width: 768px) { #oubo .inner { padding-bottom: 15.625vw !important; } }

#oubo .ttl { font-size: 32px; font-weight: bold; margin-bottom: 25px; }

@media screen and (max-width: 768px) { #oubo .ttl { font-size: 6.51042vw; margin-bottom: 15px; } }

#oubo .ttl span { font-size: 55px; }

@media screen and (max-width: 768px) { #oubo .ttl span { font-size: 10.41667vw; } }

#oubo .ttl_p { font-size: 20px; margin-bottom: 15px; }

@media screen and (max-width: 768px) { #oubo .ttl_p { font-size: 3.90625vw; line-height: 1.8; } }

#oubo .adress { font-size: 32px; font-weight: bold; letter-spacing: 2.5px; }

@media screen and (max-width: 768px) { #oubo .adress { font-size: 4.6875vw; letter-spacing: 1px; } }

#oubo .adress a { text-decoration: underline; }

#oubo .oubo_flex_area { margin-top: 100px; }

@media screen and (max-width: 768px) { #oubo .oubo_flex_area { margin-top: 15.625vw; } }

#oubo .oubo_flex_area .oubo_flex_ttl { font-size: 26px; font-weight: bold; margin-bottom: 20px; }

@media screen and (max-width: 768px) { #oubo .oubo_flex_area .oubo_flex_ttl { font-size: 5.20833vw; } }

#oubo .oubo_flex_area .oubo_bk { background: #f2f2f2; padding: 60px 70px; }

@media screen and (max-width: 768px) { #oubo .oubo_flex_area .oubo_bk { margin: 0 2.60417vw; padding: 5.20833vw; } }

#oubo .oubo_flex_area .oubo_bk .oubo_flex { display: -webkit-box; display: -ms-flexbox; display: flex; text-align: left; margin-bottom: 30px; }

@media screen and (max-width: 768px) { #oubo .oubo_flex_area .oubo_bk .oubo_flex { -webkit-box-orient: vertical; -webkit-box-direction: normal; -ms-flex-flow: column; flex-flow: column; } }

#oubo .oubo_flex_area .oubo_bk .oubo_flex .flex:nth-of-type(1) { margin-right: 30px; }

@media screen and (max-width: 768px) { #oubo .oubo_flex_area .oubo_bk .oubo_flex .flex:nth-of-type(1) { margin-bottom: 7.8125vw; margin-right: 0; } }

#oubo .oubo_flex_area .oubo_bk .oubo_flex .flex:nth-of-type(2) { margin-right: 80px; }

@media screen and (max-width: 768px) { #oubo .oubo_flex_area .oubo_bk .oubo_flex .flex:nth-of-type(2) { margin-bottom: 7.8125vw; margin-right: 0; } }

#oubo .oubo_flex_area .oubo_bk .oubo_flex .flex .flex_ttl { font-size: 1.25em; font-weight: bold; margin-bottom: 10px; }

@media screen and (max-width: 1030px) { #oubo .oubo_flex_area .oubo_bk .oubo_flex .flex .flex_ttl { font-size: 1.95313vw; margin-bottom: 1.95313vw; } }

@media screen and (max-width: 768px) { #oubo .oubo_flex_area .oubo_bk .oubo_flex .flex .flex_ttl { font-size: 3.125vw; } }

#oubo .oubo_flex_area .oubo_bk .oubo_flex .flex .flex_ttl span { font-size: 1.6em; }

#oubo .oubo_flex_area .oubo_bk .oubo_flex .flex .flex_ttl span.sm { font-size: 14px; font-weight: normal; }

@media screen and (max-width: 1030px) { #oubo .oubo_flex_area .oubo_bk .oubo_flex .flex .flex_ttl span.sm { font-size: 1.4974vw; } }

@media screen and (max-width: 768px) { #oubo .oubo_flex_area .oubo_bk .oubo_flex .flex .flex_ttl span.sm { font-size: 3.125vw; } }

#oubo .oubo_flex_area .oubo_bk .oubo_flex .flex ul li { margin-bottom: 10px; }

#oubo .oubo_flex_area .oubo_bk .oubo_flex .flex ul li:last-child { margin-bottom: 0; }

@media screen and (max-width: 1030px) { #oubo .oubo_flex_area .oubo_bk .oubo_flex .flex ul li { font-size: 1.4974vw; } }

@media screen and (max-width: 768px) { #oubo .oubo_flex_area .oubo_bk .oubo_flex .flex ul li { font-size: 3.125vw; } }

#oubo .oubo_flex_area .oubo_bk .oubo_flex .flex ul li .sm { font-size: 14px; }

@media screen and (max-width: 1030px) { #oubo .oubo_flex_area .oubo_bk .oubo_flex .flex ul li .sm { font-size: 1.4974vw; } }

@media screen and (max-width: 768px) { #oubo .oubo_flex_area .oubo_bk .oubo_flex .flex ul li .sm { font-size: 3.125vw; } }

#oubo .oubo_flex_area .oubo_bk .annotation { text-align: left; font-size: 14px; line-height: 1.8; padding-left: 1em; text-indent: -1em; }

@media screen and (max-width: 1030px) { #oubo .oubo_flex_area .oubo_bk .annotation { font-size: 1.4974vw; } }

@media screen and (max-width: 768px) { #oubo .oubo_flex_area .oubo_bk .annotation { font-size: 3.125vw; } }

#oubo .oubo_flex_area .oubo_bk .indent { padding-left: 1em; text-indent: -1em; }

#agree { background-color: #e0e0e0; }

#agree .inner { padding: 120px 0 60px; }

@media screen and (max-width: 768px) { #agree .inner { padding: 13.02083vw 0 11.71875vw; } }

#agree .inner h2 { margin-bottom: 50px; }

@media screen and (max-width: 768px) { #agree .inner h2 { font-size: 7.8125vw; margin-bottom: 3.90625vw; } }

#agree .inner .cont_wrap { padding: 50px 30px; background-color: #fff; text-align: left; margin-bottom: 90px; }

@media screen and (max-width: 768px) { #agree .inner .cont_wrap { width: 90%; margin: 0 auto 11.71875vw; padding: 2rem 1.5rem; } }

@media screen and (max-width: 768px) and (max-width: 768px) { #agree .inner .cont_wrap { padding: 2rem 1rem; margin: 0 auto 6.51042vw; } }

#agree .inner .cont_wrap .cont_inr { padding: 10px 30px; overflow: auto; height: 500px; }

@media screen and (max-width: 768px) { #agree .inner .cont_wrap .cont_inr { padding: 1.30208vw 5px; } }

@media screen and (max-width: 768px) { #agree .inner .cont_wrap .cont_inr { overflow-y: scroll; height: 104.16667vw; } }

#agree .inner .cont_wrap .cont_inr h3 { text-align: left; font-weight: normal; margin-bottom: 5px; letter-spacing: 0.07em; }

@media screen and (max-width: 768px) { #agree .inner .cont_wrap .cont_inr h3 { font-size: 3.125vw; } }

#agree .inner .cont_wrap .cont_inr .mb { margin-bottom: 35px; }

@media screen and (max-width: 768px) { #agree .inner .cont_wrap .cont_inr .mb { margin-bottom: 4.55729vw; } }

#agree .inner .cont_wrap .cont_inr p { line-height: 2; letter-spacing: 0.06em; margin-left: 5px; font-size: 0.95em; }

@media screen and (max-width: 768px) { #agree .inner .cont_wrap .cont_inr p { word-wrap: break-word; font-size: 3.125vw; } }

#agree .inner .cont_wrap .cont_inr p a { color: #a61f3c; text-decoration: underline; }

#agree .inner .cont_wrap .cont_inr p a:hover { text-decoration: none; opacity: 0.7; }

#agree .inner .cont_wrap .cont_inr ul li { list-style: none; font-size: 0.95em; padding-left: 1em; text-indent: -1em; }

@media screen and (max-width: 768px) { #agree .inner .cont_wrap .cont_inr ul li { font-size: 3.125vw; } }

#agree .inner .cont_wrap .cont_inr ul li span { text-indent: -1em; padding-left: 3em; display: block; }

#gallery { position: relative; }

#gallery .ttl { text-align: left; }

@media screen and (max-width: 768px) { #gallery .ttl img { width: 85.80729vw; } }

#gallery .inner { padding: 40px 0 0; }

@media screen and (max-width: 768px) { #gallery .inner { padding: 7.8125vw 0 0; } }

#gallery .inner h2 { color: #000000 !important; margin-bottom: 30px; letter-spacing: 0.07em; }

@media screen and (max-width: 768px) { #gallery .inner h2 { line-height: 1.3; font-size: 7.8125vw; } }

#gallery .inner .gallery_txt { font-size: 20px; margin-bottom: 50px; }

@media screen and (max-width: 768px) { #gallery .inner .gallery_txt { font-size: 3.90625vw; margin-bottom: 6.51042vw; } }

#gallery .inner .gallery_txt span { font-size: 16px; }

@media screen and (max-width: 768px) { #gallery .inner .gallery_txt span { font-size: 3.125vw; } }

#gallery .inner .bk_txt { background: #dfdfdf; padding: 20px; margin-bottom: 60px; }

@media screen and (max-width: 768px) { #gallery .inner .bk_txt { font-size: 3.90625vw; margin-bottom: 6.51042vw; margin: 0 20px; } }

#gallery .inner .box_area { margin-bottom: 60px; border: 2px solid #333; -webkit-box-sizing: border-box; box-sizing: border-box; padding: 70px 0; }

@media screen and (max-width: 768px) { #gallery .inner .box_area { margin: 0 5.20833vw 11.71875vw; padding: 7.8125vw 0.78125vw; } }

#gallery .inner .box_area h3 { font-size: 40px; }

@media screen and (max-width: 768px) { #gallery .inner .box_area h3 { font-size: 6.51042vw; } }

#gallery .inner .department_area_box { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: start; -ms-flex-pack: start; justify-content: flex-start; -ms-flex-wrap: wrap; flex-wrap: wrap; }

#gallery .inner .department_area_box .department_box { width: calc(100% / 4 - 15px); margin-right: 20px; }

@media screen and (min-width: 769px) { #gallery .inner .department_area_box .department_box { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-orient: vertical; -webkit-box-direction: normal; -ms-flex-direction: column; flex-direction: column; } }

@media screen and (max-width: 768px) { #gallery .inner .department_area_box .department_box { width: 100%; margin-right: 0; } }

#gallery .inner .department_area_box .department_box:nth-child(4n) { margin-right: 0; }

@media screen and (max-width: 768px) { #gallery .inner .department_area_box .department_box:nth-child(n+5) { margin-bottom: 0; } }

#gallery .inner .department_area_box .department_box .name_flex { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; }

#gallery .inner .department_area_box .department_box .name_flex .name_best { color: #fff; font-weight: bold; background: #ff0000; padding: 0 5px; }

@media screen and (min-width: 769px) and (max-width: 850px) { #gallery .inner .department_area_box .department_box .name_flex .name_best { font-size: 1.82292vw; padding: 0 0.5vw; display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; } }

#gallery .inner .department_area_box .department_box a { -webkit-box-flex: 1; -ms-flex-positive: 1; flex-grow: 1; }

@media all and (-ms-high-contrast: none) { #gallery .inner .department_area_box .department_box a { min-height: 1px; } }

@media screen and (max-width: 768px) { #gallery .inner .department_area_box .department_box a .winning_imgs { height: auto; } }

#gallery .inner .department_area_box .department_box .name { text-align: left; font-size: 16px; margin-bottom: 5px; }

#gallery .inner .department_area_box .department_box .name a { display: inline-block; padding-bottom: 1px; font-size: 1.2em; border-bottom: 1px solid #fff; }

@media screen and (max-width: 768px) { #gallery .inner .department_area_box .department_box .name a { font-size: 4.94792vw; } }

@media screen and (min-width: 769px) { #gallery .inner .department_area_box .department_box .name a:hover { border-bottom: 0px; } }

@media screen and (min-width: 768px) { #gallery .inner .department_area_box .department_box .min { min-height: 5em; } }

#gallery .inner .department_area_box .department_box .name_02 { font-size: 14px; margin-top: 5px; margin-bottom: 20px; }

@media screen and (max-width: 768px) { #gallery .inner .department_area_box .department_box .name_02 { margin-bottom: 40px; } }

#gallery .inner .department_area_box .department_box button { border-radius: 17px; width: 100px; padding: 5px 0; background: #000; color: #fff; letter-spacing: 0.5em; text-indent: 0.5em; font-size: 15px; text-align: center; margin-bottom: 10px; -webkit-transition: all 0.3s; -o-transition: all 0.3s; transition: all 0.3s; }

#gallery .inner .department_area_box .department_box button:hover { opacity: 0.7; }

#gallery .inner .department_area_box .department_box .posted { border-radius: 17px; width: 100px; margin: 0 auto; padding: 5px 0; font-size: 15px; background: #a6a6a6; color: #fff; letter-spacing: 0.5em; text-indent: 0.5em; text-align: center; }

#gallery .inner .department_area_box .department_box_02 { margin-bottom: 50px; width: calc(100% / 4 - 15px); margin-right: 20px; }

@media screen and (min-width: 769px) { #gallery .inner .department_area_box .department_box_02 { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-orient: vertical; -webkit-box-direction: normal; -ms-flex-direction: column; flex-direction: column; } }

@media screen and (max-width: 768px) { #gallery .inner .department_area_box .department_box_02 { width: 100%; margin-right: 0; } }

#gallery .inner .department_area_box .department_box_02:nth-child(4n) { margin-right: 0; }

@media screen and (max-width: 768px) { #gallery .inner .department_area_box .department_box_02 { width: 100%; } }

#gallery .inner .department_area_box .department_box_02 a { -webkit-box-flex: 1; -ms-flex-positive: 1; flex-grow: 1; }

@media all and (-ms-high-contrast: none) { #gallery .inner .department_area_box .department_box_02 a { min-height: 1px; } }

@media screen and (max-width: 768px) { #gallery .inner .department_area_box .department_box_02 a .winning_imgs { height: auto; } }

#gallery .inner .department_area_box .department_box_02 .name { text-align: left; font-size: 14px; margin-top: 5px; margin-bottom: 5px; }

#gallery .inner .department_area_box .department_box_02 .name a { display: inline-block; padding-bottom: 1px; font-size: 1.2em; border-bottom: 1px solid #fff; }

@media screen and (max-width: 768px) { #gallery .inner .department_area_box .department_box_02 .name a { font-size: 4.94792vw; } }

@media screen and (min-width: 769px) { #gallery .inner .department_area_box .department_box_02 .name a:hover { border-bottom: 0px; } }

@media screen and (min-width: 768px) { #gallery .inner .department_area_box .department_box_02 .min { min-height: 5em; } }

#gallery .inner .department_area_box .department_box_02 button { border-radius: 17px; width: 100px; padding: 5px 0; background: #000; color: #fff; letter-spacing: 0.5em; text-indent: 0.5em; font-size: 15px; text-align: center; margin-bottom: 10px; -webkit-transition: all 0.3s; -o-transition: all 0.3s; transition: all 0.3s; }

#gallery .inner .department_area_box .department_box_02 button:hover { opacity: 0.7; }

#gallery .inner .department_area_box .department_box_02 .posted { border-radius: 17px; width: 100px; margin: 0 auto; padding: 5px 0; font-size: 15px; background: #a6a6a6; color: #fff; letter-spacing: 0.5em; text-indent: 0.5em; text-align: center; }

#gallery .inner .list { -ms-flex-wrap: wrap; flex-wrap: wrap; margin: 40px 0; display: -webkit-box; display: -ms-flexbox; display: flex; }

@media screen and (max-width: 768px) { #gallery .inner .list { width: 90%; margin: 40px auto; } }

#gallery .inner .list-item { opacity: 1; height: auto; -webkit-transition: all .4s ease 0s; -o-transition: all .4s ease 0s; transition: all .4s ease 0s; overflow: hidden; }

#gallery .inner .is-hidden { display: none !important; opacity: 0; height: 0; margin: 0; padding: 0; }

#gallery .inner .more { text-align: center; display: inline-block; -webkit-transition: all 0.3s; -o-transition: all 0.3s; transition: all 0.3s; border: 1px solid #000; }

#gallery .inner .more:hover { border: 1px solid #000; }

@media screen and (max-width: 768px) { #gallery .inner .more { margin-bottom: 40px; } }

#gallery .inner .more_btn { background-color: #000; font-size: 14px; border: none; cursor: pointer; outline: none; color: #fff; padding: 0; line-height: 60px; width: 300px; -webkit-transition: all 0.3s; -o-transition: all 0.3s; transition: all 0.3s; }

#gallery .inner .more_btn:hover { background: #fff; color: #000; }

#gallery.update .ttl { text-align: right; }

@media screen and (max-width: 768px) { #gallery.update .ttl img { width: 66.53646vw; } }

#gallery.update h2.update_ttl { color: #000; }

#gallery.update .ugcPaging { background: #000000; color: #ffffff; }

#gallery .ttl { text-align: left; }

@media screen and (max-width: 768px) { #gallery .ttl img { width: 66.53646vw; } }

#gallery .inner { padding: 50px 0 90px; }

@media screen and (max-width: 768px) { #gallery .inner { padding: 7.8125vw 0 5.20833vw; } }

#gallery .inner h2 { letter-spacing: 0.09em; }

@media screen and (max-width: 768px) { #gallery .inner h2 { margin-bottom: 7.8125vw; } }

#operation { background-color: #e0e0e0; }

#operation .info h3 { font-size: 2.5em; margin-bottom: 2rem; color: #000; }

@media screen and (max-width: 768px) { #operation .info h3 { font-size: 7.8125vw; margin-bottom: 1rem; } }

#operation .info p.mail { font-weight: 600; font-size: 1.3em; }

@media screen and (max-width: 768px) { #operation .info p.mail { font-size: 4.16667vw; } }

#operation .info p.txt { font-weight: 600; font-size: 1.3em; }

@media screen and (max-width: 768px) { #operation .info p.txt { font-size: 3.64583vw; } }

#operation .info p + p { margin-top: 2rem; }

@media screen and (max-width: 768px) { #operation .info p + p { font-size: 3.125vw; margin-top: 5.20833vw; } }

#operation .info p a { color: #000; -webkit-transition: all 0.3s ease; -o-transition: all 0.3s ease; transition: all 0.3s ease; }

#operation .info p a:hover { text-decoration: underline; }

@media screen and (max-width: 768px) { #operation .info p a { text-decoration: underline; } }

.img { width: 100%; height: auto; -o-object-fit: cover; object-fit: cover; pointer-events: auto; }

@media screen and (max-width: 1366px) { .img { max-height: 500px; -o-object-fit: contain; object-fit: contain; } }

@media screen and (max-width: 768px) { .img { height: auto; } }

@media screen and (-ms-high-contrast: none) { .img { -o-object-fit: cover; object-fit: cover; font-family: 'object-fit: cover;'; } }

/*------------------------------------------------------------
modal
------------------------------------------------------------*/
#countach_modal { display: none; position: fixed; top: 0; left: 0; bottom: 0; right: 0; z-index: 100; }

#countach_modal p { color: #fff; }

#countach_modal .name { font-size: 16px; margin-bottom: 5px; }

#countach_modal .name_02 { font-size: 14px; margin-bottom: 0; margin-top: 5px; text-align: left; }

#countach_modal .name_03 { font-size: 14px; margin-bottom: 0; margin-top: 5px; text-align: left; }

#countach_modal .txt_area { overflow-y: scroll; overflow-x: hidden; height: 65vh; }

@media screen and (max-width: 768px) { #countach_modal .txt_area { height: 60vh; } }

#countach_modal .txt_area .appeal { font-size: 14px; text-align: left; padding: 0 !important; line-height: 1.2; }

#countach_modal .close_btn { position: absolute; bottom: 70px; right: 0; left: 0; border: 1px solid #fff; color: #fff; z-index: 100; width: 200px; margin: 0 auto; padding: 5px 0; }

@media screen and (max-width: 768px) { #countach_modal .close_btn { bottom: 40px; } }

#countach_modal .close_btn:hover { cursor: pointer; }

#countach_modal .modalMask { position: absolute; top: 0; left: 0; bottom: 0; right: 0; z-index: 10; width: 100%; height: 100%; background-color: rgba(0, 0, 0, 0.8); }

#countach_modal .modalWrap { position: absolute; top: 50%; left: 50%; -webkit-transform: translate(-50%, -50%); -ms-transform: translate(-50%, -50%); transform: translate(-50%, -50%); width: 100%; max-width: 600px; z-index: 20; margin: auto; -webkit-box-sizing: border-box; box-sizing: border-box; /* 閉じるボタン */ }

@media screen and (max-width: 1440px) { #countach_modal .modalWrap { max-width: 400px; } }

@media screen and (max-width: 768px) { #countach_modal .modalWrap { min-width: 93%; max-width: 93%; } }

#countach_modal .modalWrap .modalCont { display: none; overflow: auto; }

#countach_modal .modalWrap .modalCont p { padding: 10px 0 0; }

#countach_modal .modalWrap .modalCont p a { color: #ffffff; border-bottom: 1px solid #ffffff; -webkit-box-sizing: border-box; box-sizing: border-box; }

@media screen and (max-width: 768px) { #countach_modal .modalWrap .modalCont p a { font-size: 4.16667vw; } }

@media screen and (min-width: 769px) { #countach_modal .modalWrap .modalCont p a:hover { border: none; } }

#countach_modal .modalWrap .closeBtn { display: block; position: absolute; top: -20px; right: 0; z-index: 100; }

#countach_modal .modalWrap .closeBtn .icnArea { display: block; position: absolute; top: 0; left: 0; right: 0; bottom: 0; margin: auto; width: 24px; height: 24px; }

#countach_modal .modalWrap .closeBtn .icnArea::before, #countach_modal .modalWrap .closeBtn .icnArea::after { content: ""; display: block; position: absolute; top: 0; left: 0; right: 0; bottom: 0; margin: auto; width: 100%; height: 2px; background-color: #ffffff; -webkit-transition: transform 0.3s ease; -webkit-transition: -webkit-transform 0.3s ease; transition: -webkit-transform 0.3s ease; -o-transition: transform 0.3s ease; transition: transform 0.3s ease; transition: transform 0.3s ease, -webkit-transform 0.3s ease; }

#countach_modal .modalWrap .closeBtn .icnArea::before { -webkit-transform: rotate(45deg); -ms-transform: rotate(45deg); transform: rotate(45deg); top: 0; }

#countach_modal .modalWrap .closeBtn .icnArea::after { -webkit-transform: rotate(-45deg); -ms-transform: rotate(-45deg); transform: rotate(-45deg); bottom: 0; }
