@charset "utf-8";

/* =============================================================================
	Reset style
========================================================================== */
/*
html5doctor.com Reset Stylesheet
v1.6.1
Last Updated: 2010-09-17
Author: Richard Clark - http://richclarkdesign.com
Twitter: @rich_clark
*/
html, body, div, span, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, abbr, address, cite, code, del, dfn, em, img, ins, kbd, q, samp, small, strong, sub, sup, var, b, i, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, figcaption, figure, footer, header, hgroup, menu, nav, section, summary, time, mark, audio, video { margin: 0; padding: 0; border: 0; outline: 0; font-size: 100%; vertical-align: baseline; background: transparent }
body { line-height: 1 }
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section { display: block }
nav ul { list-style: none }
blockquote, q { quotes: none }
blockquote:before, blockquote:after, q:before, q:after { content: ''; content: none }
a { margin: 0; padding: 0; font-size: 100%; vertical-align: baseline; background: transparent }
ins { background-color: #ff9; color: #000; text-decoration: none }
mark { background-color: #ff9; color: #000; font-style: italic; font-weight: bold }
del { text-decoration: line-through }
abbr[title], dfn[title] { border-bottom: 1px dotted; cursor: help }
table { border-collapse: collapse; border-spacing: 0 }
hr { display: block; height: 1px; border: 0; border-top: 1px solid #cccccc; margin: 1em 0; padding: 0 }


/* =============================================================================
	General
========================================================================== */
* { -webkit-box-sizing: border-box; box-sizing: border-box; }
img { max-width: 100%; width: 100%; vertical-align: bottom; }
ul, ol, li { list-style: none; }
em,i { font-style: normal; }


/* =============================================================================
	Basic style
========================================================================== */
/*** html InitialStyle ***/
html { overflow-x: hidden; }

/*** body InitialStyle ***/
body { background: #fff; }

/***  Wrapper InitialStyle ***/
#wrapper { position: relative; margin: 0 auto; overflow: hidden; background: #fff; }

/*** Inner InitialStyle ***/
.inner { margin: 0 auto; padding: 0 1rem; }

/*** Accordion toggle ***/
.js-toggle { position: relative; }

/**** Image center ***/
.img-center { display:block; margin:0 auto; }


/* =============================================================================
Typography
========================================================================== */
html { opacity: 0; font-size: 2.666666666666667vw; }
html[data-load=active] { opacity: 1; -webkit-animation: fadeIn 1.2s ease-in-out forwards; animation: fadeIn 1.2s ease-in-out forwards; }
body { color: #333; letter-spacing: 0; font-family: 'Noto Serif JP', serif; -webkit-text-size-adjust: 100%; }
p { line-height: 1.6; text-align: left; }
dt, dd { line-height: 1.6; }
.gothic { font-family: 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ Pro W3', 'メイリオ', 'Meiryo', 'ＭＳ Ｐゴシック', 'MS PGothic', Helvetica, Arial, sans-serif; }
.gothic2 { font-family: 'Hiragino Kaku Gothic Pro', 'ヒラギノ角ゴ Pro W6', 'メイリオ', Meiryo, 'MS P Gothic', 'ＭＳ Ｐゴシック', Osaka, Arial, Helvetica, sans-serif; }
.minchou { font-family: 'ヒラギノ明朝 ProN W6', 'HiraMinProN-W6', 'HG明朝E', 'ＭＳ Ｐ明朝', 'MS PMincho', 'MS 明朝', serif; }
.yugothic { font-family: '游ゴシック', 'Yu Gothic', '游ゴシック体', 'YuGothic'; }
.yuminchou { font-family: '游明朝', 'Yu Mincho', '游明朝体', 'YuMincho', 'ヒラギノ明朝 Pro W3', 'Hiragino Mincho Pro', 'MS Mincho','HiraMinProN-W3', serif; }
.arial { font-family: Arial, Helvetica, sans-serif; }
h1,h2,h3,h4,h5,h6 { font-weight: bold; line-height: 1.6; }
a { color:#1eb9ef; text-decoration: underline; -webkit-tap-highlight-color: rgba(0,0,0,0); tap-highlight-color: rgba(0,0,0,0); }
table { font-size:inherit; font: 100%;}
pre, code, kbd, samp, tt { font-family: monospace; *font-size: 100%; font: 115% monospace; line-height: 150%; }
input,textarea,select { font-family: inherit; font-size: inherit; font-weight: inherit;}
input,textarea,select { *font-size: 100%; }
/*input[type="text"],input[type="button"],input[type="submit"] { -webkit-appearance: none; border-radius: 0; }*/
input,button,textarea,select  { -webkit-appearance: none; -moz-appearance: none; appearance: none; border-radius: 0; }
button { background-color: white; border: none; padding: 0; }
small { font-size: 90%; /*font-size: small;*/ }

/*** convenient styles ***/
.ta-c { text-align: center; }
.ta-l { text-align: left; }
.ta-r { text-align: right; }
.bold { font-weight: bold; }
.normal { font-weight: normal; }
.ttl-style { text-align: center; font-weight: bold; }

/*** color ***/
.white { color: #fff; }
.black { color: #000; }
.red { color: #ff0000; }
.orange { color: #ff5400; }
.yellow { color: #fcff00; }

/*** yellow-marker ***/
.marker { background: #ffdf06; padding: .3rem .1rem; }

/*** letter-spacing ***/
.xs-spacing { letter-spacing: .05rem; }
.s-spacing { letter-spacing: .1rem; }
.m-spacing { letter-spacing: .15rem; }
.l-spacing  { letter-spacing: .2rem; }

/*** line-height ***/
.line16 { line-height: 1.6; }
.line17 { line-height: 1.7; }
.line18 { line-height: 1.8; }
.line19 { line-height: 1.9; }
.line20 { line-height: 2; }

/*** font size ***/
.fs-16 { font-size: .8rem; }
.fs-18 { font-size: .9rem; }
.fs-20 { font-size: 1rem; }
.fs-22 { font-size: 1.1rem; }
.fs-24 { font-size: 1.2rem; }
.fs-26 { font-size: 1.3rem; }
.fs-28 { font-size: 1.4rem; }
.fs-30 { font-size: 1.5rem; }
.fs-32 { font-size: 1.6rem; }
.fs-34 { font-size: 1.7rem; }
.fs-36 { font-size: 1.8rem; }
.fs-37 { font-size: 1.85rem; }
.fs-38 { font-size: 1.9rem; }
.fs-40 { font-size: 2rem; }
.fs-42 { font-size: 2.1rem; }
.fs-44 { font-size: 2.2rem; }
.fs-46 { font-size: 2.3rem; }
.fs-48 { font-size: 2.4rem; }
.fs-50 { font-size: 2.5rem; }
.fs-60 { font-size: 3rem; }


/* =============================================================================
	Layout style
========================================================================== */
/*** Header ***/
#header { width: 100%; }

/*** Footer ***/
#footer { width: 100%; }

/*** Container ***/
#container { width: 100%; }

/*** display ***/
.block { display: block; }
.inline { display: inline; }
.inline-block { display: inline-block; }
.va-t { display: inline-block; vertical-align: text-top; }
.ds-none { display: none; }

/*** float ***/
.fl-left { float: left; }
.fl-right { float: right; }

/*** position ***/
.relative { position: relative; }
.absolute { position: absolute; }
.front-position { position: relative; z-index: 1; }

/*** absolute-center ***/
.ab-center { position: absolute; left: 0; right: 0; margin: auto; }

/*** background ***/
.bg-cover { -webkit-background-size: cover !important; background-size: cover !important;}
.bg-flex { background-size: 100% auto; }
.bg-white { background: #fff; }
.bg-black { background: #000; }

/*** gradient ***/
.grad-blue { background: #1d6aaf; background: -webkit-linear-gradient(to bottom, #2a83ca 50%, #1d6aaf); background: -moz-linear-gradient(to bottom, #2a83ca 50%, #1d6aaf); background: linear-gradient(to bottom, #2a83ca 50%, #1d6aaf); }
.grad-lightblue { background: #1eb9ef; background: -webkit-linear-gradient(to left, #8ad0f5 50%, #1eb9ef); background: -moz-linear-gradient(to left, #8ad0f5 50%, #1eb9ef); background: linear-gradient(to left, #8ad0f5 50%, #1eb9ef); }
.grad-lightgreen { background: #05aa72; background: -webkit-linear-gradient(to left, #50c39c 50%, #05aa72); background: -moz-linear-gradient(to left, #50c39c 50%, #05aa72); background: linear-gradient(to left, #50c39c 50%, #05aa72); }
.grad-pink { background: #ed4373; background: -webkit-linear-gradient(to bottom, #f76992 50%, #ed4373); background: -moz-linear-gradient(to bottom, #f76992 50%, #ed4373); background: linear-gradient(to bottom, #f76992 50%, #ed4373); }
.grad-gray { background: #9b9b9b; background: -webkit-linear-gradient(to bottom, #b1b1b1 50%, #9b9b9b); background: -moz-linear-gradient(to bottom, #b1b1b1 50%, #9b9b9b); background: linear-gradient(to bottom, #b1b1b1 50%, #9b9b9b); }
.grad-hawkesblue { background: #dfe1e7; background: -webkit-linear-gradient(to bottom, #fff 50%, #dfe1e7); background: -moz-linear-gradient(to bottom, #fff 50%, #dfe1e7); background: linear-gradient(to bottom, #fff 50%, #dfe1e7); }

/*** flex box ***/
.flex { display: -webkit-box; display: -ms-flexbox; display: flex; }
.flex-wrap { -webkit-flex-wrap: wrap; -ms-flex-wrap: wrap; -moz-flex-wrap: wrap; flex-wrap: wrap; }
.flex-between { -webkit-box-pack: justify; -ms-flex-pack: justify; -webkit-justify-content: space-between; justify-content: space-between; }
.flex-around { -webkit-flex-pack: distribute; -ms-flex-pack: distribute; -webkit-justify-content: space-around; justify-content: space-around; }
.flex-center { -webkit-box-pack: center; -ms-flex-pack: center; -webkit-justify-content: center; justify-content: center; }
.flex-ai-center { -webkit-align-items: center; -ms-flex-align: center; align-items: center; }
.flex-ai-stretch { -webkit-align-items: stretch; -ms-flex-align: stretch; align-items: stretch; }
.flex-list { display: -webkit-flex; display: flex; -webkit-flex-wrap: wrap; -ms-flex-wrap: wrap; -moz-flex-wrap: wrap; flex-wrap: wrap; -webkit-box-pack: justify; -ms-flex-pack: justify; -webkit-justify-content: space-between; justify-content: space-between; }


/* =============================================================================
	Others
========================================================================== */
/*** Header fix ***/
.fixed { position: fixed; left: 0; top: 0; z-index: 99999; width: 100%; }

/*** clearfix ***/
.clearfix::after { content: ''; display: block; height: 0; clear: both; visibility: hidden; }

/*** button ***/
.u-btn { position: relative; display: inline-block; padding: .5em 1em; color: #fff; font-size: 1.3rem; line-height: 1; letter-spacing: .1em; cursor: pointer; -webkit-border-radius: .25rem; border-radius: .25rem; -webkit-transition: all .3s; transition: all .3s; }
.u-btn:hover { background-color: transparent; }
.u-btn.border { background-color: transparent; }
.u-btn.border:hover { color: #fff; }
.u-btn.basic { background-color: #05aa72;  border: 1px solid #05aa72; color: #fff; }
.u-btn.basic:hover { background-color: transparent; color: #05aa72; }
.u-btn.basic.border { border: 1px solid #05aa72; background-color: transparent; color: #05aa72; }
.u-btn.basic.border:hover { border: 1px solid #05aa72; background-color: #05aa72; color: #fff; }
.u-btn.light { background-color: #b5b5b5; border: 1px solid #b5b5b5; }
.u-btn.light:hover { border: 1px solid #b5b5b5; background-color: transparent; color: #b5b5b5; }
.u-btn.light.border { border: 1px solid #b5b5b5; background-color: transparent; color: #b5b5b5; }
.u-btn.light.border:hover { border: 1px solid #b5b5b5; background-color: #b5b5b5; color: #fff; }
.u-btn.dark { background-color: #443f3f; border: 1px solid #443f3f; }
.u-btn.dark:hover { border: 1px solid #443f3f; background-color: transparent; color: #443f3f; }
.u-btn.dark.border { border: 1px solid #443f3f; background-color: transparent; color: #443f3f; }
.u-btn.dark.border:hover { border: 1px solid #443f3f; background-color: #443f3f; color: #fff; }
.u-btn.blue { background-color: #0066FF;  border: 1px solid #0066FF; color: #fff; }
.u-btn.blue:hover { background-color: transparent; color: #0066FF; }
.u-btn.blue.border { border: 1px solid #0066FF; background-color: transparent; color: #0066FF; }
.u-btn.blue.border:hover { border: 1px solid #0066FF; background-color: #0066FF; color: #fff; }

/*** arrow ***/
.u-arrow { position: relative; display: inline-block; padding: 0; vertical-align: middle; text-decoration: none; }
.u-arrow::after { content: ''; position: absolute; top: 0; bottom: 0; margin: auto; vertical-align: middle; }

/*** hover effect ***/
.u-target { transition: opacity .3s; }
.u-target:hover { opacity: .8; filter: alpha(opacity=80); -ms-filter: "alpha(opacity=80)"; }

/*** hidden ***/
.show-pc { display: none; }
.show-sp { display: inline; }
.brlf::before { content: '\A'; white-space: pre; }



/*----------------------------------------------------------
	Mediaquery Mobile
----------------------------------------------------------*/
@media (min-width: 640px) and (max-width : 768px) {
}
/*----------------------------------------------------------
	Mediaquary Tablet PC
----------------------------------------------------------*/
@media (min-width: 769px) {
	html { font-size: 20px; /*font-size: 125%; /* sets the base font to 20px for easier math */}
	.inner { width: 1000px; padding: 0 4px; }

	/*** button ***/
	.u-btn { font-size: 16px; -webkit-border-radius: 5px; border-radius: 5px; }

	/*** hidden ***/
	.show-pc { display: inline; }
	.show-sp { display: none; }
}



/* =============================================================================
Animation Keyframe
============================================================================= */
.anim__target { opacity: 0; }

.anim__duration-1s { -webkit-animation-duration: 1s; animation-duration: 1s; }
.anim__duration-2s { -webkit-animation-duration: 2s; animation-duration: 2s; }
.anim__duration-3s { -webkit-animation-duration: 3s; animation-duration: 3s; }
.anim__duration-4s { -webkit-animation-duration: 4s; animation-duration: 4s; }
.anim__duration-5s { -webkit-animation-duration: 5s; animation-duration: 5s; }

.anim__delay-1s { -webkit-animation-delay: 1s; animation-delay: 1s; }
.anim__delay-2s { -webkit-animation-delay: 2s; animation-delay: 2s; }
.anim__delay-3s { -webkit-animation-delay: 3s; animation-delay: 3s; }
.anim__delay-4s { -webkit-animation-delay: 4s; animation-delay: 4s; }
.anim__delay-5s { -webkit-animation-delay: 5s; animation-delay: 5s; }

@-webkit-keyframes fadeIn {
	from { opacity: 0; }
	to { opacity: 1; }
}
@keyframes fadeIn {
	from { opacity: 0; }
	to { opacity: 1; }
}
.fadeIn { -webkit-animation-name: fadeIn; animation-name: fadeIn; }

@-webkit-keyframes fadeInUp {
	from { opacity: 0; -webkit-transform: translate3d(0, 50%, 0); transform: translate3d(0, 50%, 0); }
	to { opacity: 1; -webkit-transform: translate3d(0, 0, 0); transform: translate3d(0, 0, 0); }
}
@keyframes fadeInUp {
	from { opacity: 0; -webkit-transform: translate3d(0, 50%, 0); transform: translate3d(0, 50%, 0); }
	to { opacity: 1; -webkit-transform: translate3d(0, 0, 0); transform: translate3d(0, 0, 0); }
}
.fadeInUp { -webkit-animation-name: fadeInUp; animation-name: fadeInUp; }

@-webkit-keyframes fadeInUpMin {
	from { opacity: 0; -webkit-transform: translateY(20px); transform: translateY(20px); }
	to { opacity: 1; -webkit-transform: translateY(0); transform: translateY(0); }
}
@keyframes fadeInUpMin {
	from { opacity: 0; -webkit-transform: translateY(20px); transform: translateY(20px); }
	to { opacity: 1; -webkit-transform: translateY(0); transform: translateY(0); }
}
.fadeInUpMin { -webkit-animation-name: fadeInUpMin; animation-name: fadeInUpMin; }

@-webkit-keyframes fadeInLeft {
	from { opacity: 0; -webkit-transform: translate3d(-100%, 0, 0); transform: translate3d(-100%, 0, 0); }
	to { opacity: 1; -webkit-transform: translate3d(0, 0, 0); transform: translate3d(0, 0, 0); }
}
@keyframes fadeInLeft {
	from { opacity: 0; -webkit-transform: translate3d(-100%, 0, 0); transform: translate3d(-100%, 0, 0); }
	to { opacity: 1; -webkit-transform: translate3d(0, 0, 0); transform: translate3d(0, 0, 0); }
}
.fadeInLeft { -webkit-animation-name: fadeInLeft; animation-name: fadeInLeft; }

@-webkit-keyframes fadeInLeftMin {
	from { opacity: 0; -webkit-transform: translateX(-20px); transform: translateX(-20px); }
	to { opacity: 1; -webkit-transform: translateX(0); transform: translateX(0); }
}
@keyframes fadeInLeftMin {
	from { opacity: 0; -webkit-transform: translateX(-20px); transform: translateX(-20px); }
	to { opacity: 1; -webkit-transform: translateX(0); transform: translateX(0); }
}
.fadeInLeftMin { -webkit-animation-name: fadeInLeftMin; animation-name: fadeInLeftMin; }


/* =============================================================================
Component
============================================================================= */

/* BxSlider
----------------------------------------------------------*/
.bx-wrapper { position: relative; margin: 0 auto 0; padding: 0; *zoom: 1; }
.bx-wrapper img { max-width: 100%; display: block; }
.bx-wrapper .bx-viewport { z-index: 1; }
.bx-wrapper .bx-pager, .bx-wrapper .bx-controls-auto { position: absolute; bottom: 0; width: 100%; }
.bx-wrapper .bx-loading { min-height: 50px; background: url(images/bx_loader.gif) center center no-repeat #fff; height: 100%; width: 100%; position: absolute; top: 0; left: 0; z-index: 2000; }
/* PAGER */
.bx-wrapper .bx-pager { text-align: center; font-size: .85em; font-family: Arial; font-weight: bold; color: #666; padding-top: 0; font-size: 0; line-height: 0; }
.bx-wrapper .bx-pager .bx-pager-item, .bx-wrapper .bx-controls-auto .bx-controls-auto-item { display: inline-block; *zoom: 1; *display: inline; }
.bx-wrapper .bx-pager.bx-default-pager a { background: #666; text-indent: -9999px; display: block; width: 10px; height: 10px; margin: 0 5px; outline: 0; -moz-border-radius: 5px; -webkit-border-radius: 5px; border-radius: 5px; }
/*.bx-wrapper .bx-pager.bx-default-pager a:hover,*/ .bx-wrapper .bx-pager.bx-default-pager a.active { background: #000; }
/* DIRECTION CONTROLS (NEXT / PREV) */
.bx-wrapper .bx-prev { left: 10px; background: url(images/controls.png) no-repeat 0 -32px; }
.bx-wrapper .bx-next { right: 10px; background: url(images/controls.png) no-repeat -43px -32px; }
.bx-wrapper .bx-prev:hover { background-position: 0 0; }
.bx-wrapper .bx-next:hover { background-position: -43px 0; }
.bx-wrapper .bx-controls { position: relative; z-index: 2; }
.bx-wrapper .bx-controls-direction a { position: absolute; top: 50%; margin-top: -16px; outline: 0; width: 32px; height: 32px; text-indent: -9999px; z-index: 9999; }
.bx-wrapper .bx-controls-direction a.disabled { display: none; }


/* =============================================================================
common Style
============================================================================= */
.txt-edge { position: relative; z-index: 0; background: transparent; }
.txt-edge::before { content: attr(title); position: absolute; z-index: -1; left: 0; -webkit-text-stroke: .2em #cb3e55; text-stroke: .2em #cb3e55; }
.txt-num { font-family: 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ Pro W6', Osaka, Arial, sans-serif; }
.txt-shadow { text-shadow: 1px 1px 1px rgba(0,0,0,0.6); }
.num-counter { counter-reset: number 0; }
.num-counter li { position: relative; padding-left: 2.75rem; }
.num-counter li::before { counter-increment: number 1; content: counter(number) '. '; position: absolute; top: 0; left: 0; }
.num-counter2 { counter-reset: number 0; margin-left: -.5em; }
.num-counter2 li { position: relative; padding-left: 3.75rem; }
.num-counter2 li::before { counter-increment: number 1; content: '（' counter(number) '） '; position: absolute; top: 0; left: 0; }

/* .page-panel
----------------------------------------------------------*/
.page-panel { position: relative; overflow: hidden; }
.page-panel__bg { position: relative; display: -webkit-box; display: flex; -webkit-justify-content: center; justify-content: center; -webkit-align-items: center; align-items: center; backface-visibility: hidden; background-position: center center; background-repeat: no-repeat; -webkit-background-size: cover; background-size: cover; height: 15rem; }
.page-panel__bg::before { content: ''; position: absolute; top: 2.5rem; bottom: 0; left: 0; right: 0; background: -webkit-linear-gradient(to top,rgba(0,0,0,0) 0%,rgba(0,0,0,.3) 100%); background: -webkit-gradient(linear,left top,left bottom,from(rgba(0,0,0,0)),to(rgba(0,0,0,.3))); background: -webkit-linear-gradient(to top,rgba(0,0,0,0) 0%,rgba(0,0,0,.3) 100%); background: linear-gradient(to bottom,rgba(0,0,0,0) 0%,rgba(0,0,0,.3) 100%); filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#00000000",endColorstr="#4d000000",GradientType=0); }
.page-panel__ttl { position: relative; width: 100%; padding: 1.5rem 0; color: #fff; font-size: 1.8rem; text-align: center; letter-spacing: .06em; background: rgba(5,170,114,0.5); }
.page-panel__ttl::before { content: ''; position: absolute; top: 0; left: 0; right: 0; width: 25%; margin: auto; border-top: 2px solid #fff; }
.page-panel__ttl::after { content: ''; position: absolute; bottom: 0; left: 0; right: 0; width: 25%; margin: auto; border-bottom: 2px solid #fff; }
.page-panel__content { position: relative; padding: 3.5rem 0; }

.entry-head { margin: 0 0 1.5rem; }
.entry-ttl { padding: .5rem 1rem; color: #fff; font-size: 1.8rem; letter-spacing: .06em; }
.entry-content { padding: 0 1rem; }
.entry-content h3 { margin: 0 0 .5rem; font-size: 1.6rem; letter-spacing: .06em; }
.entry-content h4 { margin: 0 0 .5rem; font-size: 1.5rem; letter-spacing: .06em; }
.entry-content p { margin: 0 0 1.5rem; font-size: 1.4rem; letter-spacing: .06em; }
.entry-content .mini { font-size: 90%; }
.entry-content .mb0 { margin-bottom: 0; }
.entry-content .mb30 { margin-bottom: 1.5rem; }
.entry-content .note { margin: 0 0 2rem; }
.entry-content .u-target:hover { color: #000; text-decoration: none; }
.desc-list { font-size: 1.4rem; }
.desc-list dt { font-size: 110%; font-weight: bold; letter-spacing: .06em; }
.desc-list dd { margin: 0 0 1rem; }
.desc-list dd:last-of-type { margin: 0; }
.desc-list dd .num { display: inline-block; width: 1.8rem; }
.links-list li { margin: .5em 0 0 0; font-size: 1.4rem; line-height: 1.6; letter-spacing: .06em; }
.links-list li:nth-child(1) { margin: 0; }
.member-block { padding: 1rem 1.5rem 2rem; }
.member-box { margin: 0 0 1.5rem; padding: 1em; box-shadow: 1px 1px 5px 1px #ddd; }
.member-box:last-child { margin: 0; }
.member-box p { margin: 0; }
.download-btn { display: inline-block; margin: 0 0 1rem; text-align: center; }
.download-btn .u-btn { width: 20rem; padding: 1em 2em; }

/* .breadcrumb
----------------------------------------------------------*/
.breadcrumb { width: 100%; padding: 1.75rem 0 2.5rem; }
.breadcrumb__item { float: left; color: #555; font-size: 1.2rem; white-space: nowrap; }
.breadcrumb__item::before { content: '　>　'; display: inline-block; }
.breadcrumb__item:first-child::before { content: ''; }
.breadcrumb__item a { color: #555; }
.breadcrumb__item a:hover { text-decoration: none; }

/* .toc
----------------------------------------------------------*/
.toc { padding: 0 0 2.5rem; }
.toc__container { position: relative; padding: 2.2rem 1rem 2.2rem 6.5rem; border: 1px solid #cbc9c9; }
.toc__ttl { position: absolute; top: 1.5rem; left: 1rem; color: #000; font-size: 2rem; font-weight: bold; letter-spacing: .06em; }
.toc__list {  }
.toc__list li + li { margin: 1.8rem 0 0; }
.toc__list a { color: #000; font-size: 1.5rem; font-weight: bold; letter-spacing: .06em; }
.toc__list a:hover { text-decoration: none; }

/* .pagetop
----------------------------------------------------------*/
.pagetop { display: none; margin: 0; padding: 0; z-index: 9000; }
.pagetop p { position: relative; }
.backtotop { position: absolute; z-index: 9000; top: -3rem; right: 1rem; width: 5.6rem; height: 5.6rem; background: url(../img/ico_back-to-top.png) center center no-repeat; background-size: contain; transition: all .3s; text-indent: 100%; white-space: nowrap; overflow: hidden; }


/*==============================================================================
.header style
============================================================================= */
.header { /*position: absolute;*/ position: relative; top: 0; left: 0; width: 100%; z-index: 9999; background: #fff; }
.header .page-panel__bg { height: 75vh; }
.header__media-logo { width: 50%; }
.header__main { background: rgba(255,255,255,0.8); }
.header__logo { line-height: 0; }
.header__logo span { display: block; width: 11.335rem; padding: .75rem 0; }
.header__logo a { display: block; }

/* .menu-btn
----------------------------------------------------------*/
.menu-btn { position: absolute; top: 0; right: 0; width: 5.35rem; height: 4.8rem; margin: auto; }
.menu-btn i { display: block; position: absolute; left: 0; right: 0; top: 1.6rem; margin: auto; width: 3.35rem; height: .25rem; background: #003594; transition: background .5s; }
.menu-btn i:first-child { transform: translateX(0); -webkit-transform: translateX(0); transition: transform 0.5s, opacity 1.5s; }
.menu-btn i:nth-child(2) { content: ""; position: absolute; transform: rotate(0deg); -webkit-transform: rotate(0deg); transition: all 0.5s !important; transform: translateY(.65rem); -webkit-transform: translateY(.65rem); }
.menu-btn i:nth-child(3) { content: ""; position: absolute; transform: rotate(0deg); -webkit-transform: rotate(0deg); transition: all 0.5s !important; transform: translateY(-.65rem); -webkit-transform: translateY(-.65rem); }
.menu-btn__txt { display: block; position: absolute; bottom: .85rem; left: 0; right: 0; width: 100%; margin: auto; color: #003594; font-size: 1rem; font-weight: bold; line-height: 1; text-align: center; transition: all 0.5s; }
.is-open .menu-btn i { top: 2.3rem; }
.is-open .menu-btn i:first-child { transform: translateX(80px); -webkit-transform: translateX(80px); opacity: 0; display: none; }
.is-open .menu-btn i:nth-child(2) { transform: translateY(0px) rotate(-45deg); -webkit-transform: translateY(0px) rotate(-45deg); }
.is-open .menu-btn i:nth-child(3) { transform: translateY(0px) rotate(45deg); -webkit-transform: translateY(0px) rotate(45deg); }
.is-open .menu-btn__txt { opacity: 0; }

.header-nav { display: none; position: absolute; z-index: 99999; top: 4.8rem; right: 0; width: 100%; }
.header-nav__item { position: relative; border-bottom: 1px solid #fff; color: #fff; font-weight: bold; font-size: 1.3rem; }
.header-nav__item:last-of-type { border-bottom: none; }
.header-nav__item span { display: block; position: relative; }
.header-nav__item a { display: block; padding: 1.875rem 1rem; background: rgba(0,53,148,0.95); color: #fff; font-weight: bold; font-size: 1.6rem; line-height: 1.45; text-align: center; text-decoration: none; }
.header-nav__item a span { font-size: 1.5rem; }
.header-nav__item .item-bnr a { padding: 2.5rem 5.125rem; }


/*==============================================================================
.footer style
============================================================================= */
.footer { padding: 1px 0 0; border-top: 2px solid #1eb9ef; }
.footer-nav { padding: 1rem 0; background: rgba(30,185,239,0.8); }
.footer-nav__list { display: -webkit-box; display: flex; -webkit-flex-wrap: wrap; flex-wrap: wrap; }
.footer-nav__item { }
.footer-nav__item:last-of-type { }
.footer-nav__item a { color: #fff; line-height: 1; text-decoration: none; }
.footer-copyright { padding: 1.65rem 0; background: #1eb9ef; }
.footer-copyright__txt { display: block; color: #fff; font-size: 1rem; line-height: 1.5; letter-spacing: .06em; text-align: center; }


/*==============================================================================
main style
============================================================================= */

/* .p-top
----------------------------------------------------------*/
.main-area { }
.welcome { position: relative; }


/* .subpage
----------------------------------------------------------*/
#article { position: relative; margin: 0 0 6.2rem; }
#container { position: relative; }
.subpage .page-panel__content { padding: 0; }

/*** .subpage-fv ***/
.subpage-fv { /*background: #05aa72;*/ }
.subpage-fv__container { position: relative;  }
.subpage-fv-pic__sliderbox { height: 23.5rem; overflow: hidden; }
.subpage-fv-pic__sliderbox .pic-slide { height: 23.5rem; }
.subpage-fv-pic .bx-wrapper .bx-pager { bottom: 1.75rem; }
.subpage-fv-pic .bx-wrapper .bx-pager.bx-default-pager a { width: .7rem; height: .7rem; margin: 0 .5rem; background: #fff; border: 1px solid #fff; -webkit-border-radius: .35rem; border-radius: .35rem; }
/*.subpage-fv-pic .bx-wrapper .bx-pager.bx-default-pager a:hover,*/ .subpage-fv-pic .bx-wrapper .bx-pager.bx-default-pager a.active { background: #003594; }

.subpage-fv-content { position: relative; /*background: url(../img/) center top no-repeat; background-size: contain;*/ }
.subpage-fv__ttl { padding: .75rem 1rem; color: #fff; font-size: 2.2rem; font-weight: bold; line-height: 1.25; text-align: center; }
.subpage-fv__ttl .txt-type01 { font-size: 3rem; }
.subpage-fv__ttl .txt-type02 { font-size: 3.8rem; }
.subpage-fv__ttl .txt-type03 { font-size: 2.3rem; }
.subpage-fv__txt { padding: 0 0 1.3rem 6.5rem; color: #fff; font-size: 2rem; font-weight: bold; line-height: 1.425; letter-spacing: -.02em; }

/*** section common ***/
.container__contents .desc-list { margin: 0 0 1rem; }
.container__contents .desc-list:last-of-type { margin: 0; }

.section { padding: 0 0 3.5rem; }

/*** .backtotop__btn ***/
.backtotop__btn { margin: 0; text-align: center; }
.backtotop__btn a { display: inline-block; width: 28.15rem; height: 3.75rem; color: #fff; font-size: 1.3rem; line-height: 3.75rem; text-decoration: none; background: #003594; border-radius: 1.875rem; }


/* .subpage.p-terms
----------------------------------------------------------*/
.p-terms .subpage-fv-pic__sliderbox .pic-slide:nth-of-type(1) { background: url(../img/subpage-fv03.jpg) center center no-repeat; background-size: cover; }
.p-terms .subpage-fv-pic__sliderbox .pic-slide:nth-of-type(2) { background: url(../img/subpage-fv04.jpg) center center no-repeat; background-size: cover; }


/* .subpage.p-contact
----------------------------------------------------------*/
.p-contact .subpage-fv-pic__sliderbox .pic-slide:nth-of-type(1) { background: url(../img/subpage-fv01.jpg) center center no-repeat; background-size: cover; }
.p-contact .subpage-fv-pic__sliderbox .pic-slide:nth-of-type(2) { background: url(../img/subpage-fv02.jpg) center center no-repeat; background-size: cover; }

/*** form common ***/
.form-flow__list { width: 100%; margin: 2rem 0; }
.form-flow__item { position: relative; width: 32%; height: 3rem; padding: 0 .5em 0 0; line-height: 3rem; background: #a5a5a5; border-color: #a5a5a5; color: #fff; font-size: 1.2rem; font-weight: bold; text-align: center; }
.form-flow__item::after { content: ''; position: absolute; top: 0; right: 0; width: 0; height: 0; border-style: solid; border-width: 1.5rem 0 1.5rem 1.3rem; border-color: #fff #a5a5a5 #fff #fff; border-left-color: inherit; }
.form-flow__item.active { background: #1eb9ef; border-color: #1eb9ef; }

.form__container { margin: 2rem 0 0; padding: 1.5rem 1rem 3.5rem; background: #f3f5f9; }
.form-box,
.form-box__mt,
.form-box__bb,
.confirm-box,
.confirm-box__mt,
.confirm-box__bb { display: block; padding: 1.5rem 0; line-height: 0; border-bottom: 1px dashed #a5a5a5; }
.form-box__mt { margin-top: 0; }
.form-box__bb { border-bottom: none; }
.form-item,
.form-item__norequired,
.confirm-item,
.confirm-item__norequired { position: relative; display: inline-block; width: auto; font-size: 1.3rem; font-weight: bold; }
.form-item::after { content: '必須'; box-sizing: border-box; display: inline-block; position: absolute; top: .15rem; right: -4rem; width: 3rem; height: 1.8rem; padding: 0; color: #fff; font-size: 1.1rem; line-height: 1.8rem; text-align: center; background-color: #ff6347; }
.form-item__norequired::after { display: none; }
.form-type,
.form-type__arrow { position: relative; width: 100%; padding-left: 0; line-height: 0; }
.form-type p { margin: 0; font-size: 1.2rem; }
.form-type__text { width: 100%; height: 2.8rem; margin: .5rem 0 0; padding-left: .5rem; font-size: 1.2rem; border: 1px solid #bbb; }
.form-type__arrow::before { content: ""; position: absolute; top: 1.2rem; left: 13.5rem; width: 0; height: 0; border-style: solid; border-width: 0 .25rem .5rem .25rem; border-color: transparent transparent #00000f transparent; pointer-events: none; }
.form-type__arrow::after { content: ""; position: absolute; top: 2.1rem; left: 13.5rem; width: 0; height: 0; border-style: solid; border-width: .5rem .25rem 0 .25rem; border-color: #00000f transparent transparent transparent; }
.form-type__select { width: 15rem; height: 2.8rem; margin: .5rem 0 0; padding-left: .5rem; border: 1px solid #bbb; font-size: 1.2rem; border-radius: .3rem; background: linear-gradient(to bottom, #fff, #e9e9e9); }
.form-type__tel { width: 20rem; height: 2.8rem; margin: .5rem 0 0; padding-left: .5rem; font-size: 1.2rem; border: 1px solid #bbb; }
.form-type__note { position: absolute; top: .85rem; left: 21rem; }
p.form-type__note02 { margin: .5rem 0 0 0; letter-spacing: .02em; }
.form-type__email { width: 100%; height: 2.8rem; margin: .5rem 0 0; padding-left: .5rem; font-size: 1.2rem; border: 1px solid #bbb; }
.form-type__area { width: 100%; min-width: 100%; min-height: 10rem; padding: .5rem .7rem; margin: .5em 0 0; font-size: 1.2rem; border: 1px solid #bbb; }
.form-accept { margin-top: .5rem; line-height: 0; }
.form-accept label { display: inline-block; height: 2.2rem; padding-left: 3rem; background: url(../img/form_ico01.png) no-repeat left top/2.2rem; font-size: 1.2rem; line-height: 1.6; }
.form-accept input[type="checkbox"]:checked + label { background-position: left bottom; }
.form-btn { margin: 3rem auto 0; text-align: center; }
.form-btn .u-btn { width: 15rem; padding: 1em 2em; }
.form-btn button:disabled .u-btn { background-color: #ccc;  border: 1px solid #ccc; cursor: default; }
.form-btn button:disabled .u-btn:hover { color: #fff; }

/*** form validation ***/
.contact-form .error { background: #ffe8e8; }
.contact-form .error-msg-balloon { position: static !important; margin: .7rem 0 0; padding: .5rem 1rem; background: #ff8080; color: #fff; font-size: 1.2rem; letter-spacing: normal; }
.contact-form .errmsg-box { margin: 0 0 .5rem; padding: .5rem .5rem; color: #ff3e3e; font-size:  1.2rem; line-height: 1.35; background: #ffe8f7; }

/*** form confirm ***/
.contact-confirm .form-type,
.contact-confirm .form-type__arrow { margin: .5rem 0 0; font-size: 1.3rem; line-height: 1.6; overflow-wrap: break-word; word-wrap: break-word; }

/*** form thanks ***/
.contact-thanks h3 { margin: 0 -.3rem 1.5rem; text-align: left; }
.contact-thanks p { text-align: left; }


/*==============================================================================
	Mediaquary
========================================================================== */
@media (max-width: 769px) {
	/*==============================================================================
	.footer style
	============================================================================= */
	.footer-nav { padding: 0; }
	.footer-nav .inner { padding: 0; }
	.footer-nav__item { width: 100%; border-bottom: 1px solid #fff; }
	.footer-nav__item:last-of-type { border: none; }
	.footer-nav__item a { display: block; padding: 1.875rem 1rem; color: #fff; font-size: 1.4rem; line-height: 1.45; text-decoration: none; }
}

@media (min-width: 640px) {
}

@media (min-width: 769px) {
	/* =============================================================================
		General
	========================================================================== */
	img { max-width: none; }


	/* =============================================================================
		Basic style
	========================================================================== */
	html { height: 100%; }
	body { min-width: 1000px; }
	/*
	body { display: flex; flex-direction: column; min-width: 1000px; height: 100vh; }
	main { flex: 1 0 auto; }
	.footer { flex-shrink: 0; }*/


	/* =============================================================================
	common Style
	============================================================================= */
	.num-counter li { padding-left: 30px; }
	.num-counter2 li { padding-left: 45px; }

	/* .page-panel
	----------------------------------------------------------*/
	.page-panel__bg { background-attachment: fixed; height: 100vh; max-height: 1200px; }
	.page-panel__bg::before { top: 100px; }
	.page-panel__ttl { padding: 150px 0; font-size: 32px; }
	.page-panel__content { padding: 70px 0; }

	.entry-head { margin: 0 0 30px; }
	.entry-ttl { padding: 10px 20px; font-size: 24px; }
	.entry-content { padding: 0 20px; }
	.entry-content h3 { margin: 0 0 10px; font-size: 20px; }
	.entry-content h4 { margin: 0 0 10px; font-size: 18px; }
	.entry-content p { margin: 0 0 30px; font-size: 16px; }
	.entry-content .mb30 { margin-bottom: 30px; }
	.entry-content .note { margin: 0 0 40px; }
	.desc-list { font-size: 16px; }
	.desc-list dd { margin: 0 0 20px; }
	.desc-list dd .num { width: 36px; }
	.links-list li { font-size: 16px; }
	.member-block { padding: 20px 20px 40px; }
	.member-block:nth-child(1) { padding: 0 0 40px; }
	.member-box { margin: 0 0 30px; }
	.member-box:last-child { margin: 0; }
	.member-box p { margin: 0; }
	.download-btn { margin: 0 0 30px; }
	.download-btn .u-btn { width: 300px; }

	/* .breadcrumb
	----------------------------------------------------------*/
	.breadcrumb { padding: 18px 0 40px; }
	.breadcrumb__item { font-size: 14px; }

	/* .toc
	----------------------------------------------------------*/
	.toc { padding: 0 0 60px; }
	.toc__container { padding: 15px 15px 15px 80px; }
	.toc__ttl { top: 8px; left: 15px; font-size: 24px; }
	.toc__list li + li { margin: 3px 0 0; }
	.toc__list a { font-size: 18px; }

	/* .pagetop
	----------------------------------------------------------*/
	.backtotop { display: block; position: fixed; top: initial; bottom: 40px; right: 0; width: 61px; height: 61px; /*width: 81px; height: 81px;*/ cursor: pointer; }


	/*==============================================================================
	.header style
	============================================================================= */
	.header__media-logo { width: 35%; }
	.header .page-panel__bg { height: 100vh; }
	.header__main { position: absolute; z-index: 99999; bottom: 0; width: 100%; -webkit-transition: all 0.3s ease-out; transition: all 0.3s ease-out; }
	.header__main .inner { display: -webkit-flex; display: flex; -webkit-flex-wrap: wrap; flex-wrap: wrap; -webkit-box-pack: justify; -ms-flex-pack: justify; -webkit-justify-content: space-between; justify-content: space-between; }
	.header__logo { display: -webkit-box; display: flex; -webkit-align-items: center; align-items: center; }
	.header__logo span { width: 151px; padding: 10px 0; }

	/* .menu-btn
	----------------------------------------------------------*/
	.menu-btn { display: none; }
	.header-nav { display: block !important; position: static; width: 500px; }
	.header-nav__list { width: 500px; padding: 0 4px; display: -webkit-flex; display: flex; -webkit-flex-wrap: wrap; flex-wrap: wrap; -webkit-box-pack: justify; -ms-flex-pack: justify; -webkit-justify-content: space-between; justify-content: space-between; }
	.header-nav__item { position: relative; border-bottom: none; color: #000; font-weight: bold; font-size: 16px; }
	.header-nav__item span { margin: 20px 0; }
	.header-nav__item a { position: relative; padding: 10px 20px; color: #000; font-weight: bold; font-size: 16px; line-height: 1.45; background: transparent; }
	.header-nav__item a::after { content: ''; position: absolute; left: 0; bottom: 0; width: 0; height: 2px; background: #1eb9ef; transition: 0.6s cubic-bezier(0.67, 0.02, 0.2, 0.97); }
	.header-nav__item a:hover { color: #1eb9ef; }
	.header-nav__item a:hover:after { width: 100%; }

	/* .header__main.fixed
	----------------------------------------------------------*/
	.header__main.fixed { position: fixed; top: 0; height: 63px; }
	.header__main.fixed .header__logo span { padding: 8px 0; }
	.header__main.fixed .header-nav__item span { margin: 10px 0; }


	/*==============================================================================
	.footer style
	============================================================================= */
	.footer-nav__item { margin: 0 1rem 0 0; line-height: 0; }
	.footer-nav__item:last-of-type { margin: 0; }
	.footer-nav__item a { position: relative; padding: 5px 10px; font-size: 14px; line-height: 1.45; background: transparent; }
	.footer-nav__item a::after { content: ''; position: absolute; left: 0; bottom: 0; width: 0; height: 1px; background: #000; transition: 0.6s cubic-bezier(0.67, 0.02, 0.2, 0.97); }
	.footer-nav__item a:hover { color: #000; }
	.footer-nav__item a:hover::after { width: 100%; }
	.footer-copyright { padding: 20px 0; }
	.footer-copyright__txt { font-size: 12px; }


	/*==============================================================================
	main style
	============================================================================= */

	/* .p-top
	----------------------------------------------------------*/
	.main-area { }
	.welcome { position: relative; }


	/* .subpage
	----------------------------------------------------------*/
	#article { margin: 83px 0 60px; }

	/*** .subpage-fv ***/
	.subpage-fv-pic { padding-left: 50%; }
	.subpage-fv-pic__sliderbox { height: 300px; overflow: hidden; }
	.subpage-fv-pic__sliderbox .pic-slide { height: 300px; }

	.subpage-fv-pic .bx-wrapper .bx-pager { bottom: 33px; left: 160px; width: auto; }
	.subpage-fv-pic .bx-wrapper .bx-pager.bx-default-pager a { width: 12px; height: 12px; margin: 0 9px; border: 1px solid #fff; -webkit-border-radius: 6px; border-radius: 6px; }

	.subpage-fv-content { position: absolute; top: 0; left: 50%; width: 500px; height: 300px; margin-left: -500px; background: none; }
	.subpage-fv__header { height: 100%; display: -webkit-box; display: flex; -webkit-justify-content: center; justify-content: center; -webkit-align-items: center; align-items: center; }
	.subpage-fv__ttl { font-size: 30px; line-height: 1.6; text-align: left; }
	.subpage-fv__ttl .txt-type01 { font-size: 40px; }
	.subpage-fv__ttl .txt-type02 { font-size: 50px; }
	.subpage-fv__ttl .txt-type03 { font-size: 28px; }
	.subpage-fv__txt { padding: 0 0 21px; font-size: 32px; line-height: 1.33; }

	/*** section common ***/
	.container__inner { width: 1000px; margin: auto; }
	.container__contents { }
	/*.container__contents .inner { width: auto; padding: 0; }*/

	.section { padding: 0 0 60px; }

	/*** .backtotop__btn ***/
	.backtotop__btn a { width: 400px; height: 44px; font-size: 18px; line-height: 44px; border-radius: 22px; }

	/* .subpage.p-terms
	----------------------------------------------------------*/

	/* .subpage.p-contact
	----------------------------------------------------------*/
	/*** form common ***/
	.form-flow__list { margin: 40px 0; }
	.form-flow__item { position: relative; width: 300px; height: 46px; padding: 0; line-height: 46px; font-size: 18px; letter-spacing: .1em; }
	.form-flow__item::after { content: ''; position: absolute; top: 0; right: 0; width: 0; height: 0; border-style: solid; border-width: 30px 0 30px 25px; border-width: 23px 0 23px 18px; border-color: #fff #a5a5a5 #fff #fff; border-left-color: inherit; }

	.form__container { margin: 50px 0 0; padding: 30px 25px 50px; }
	.form-box,
	.form-box__mt,
	.form-box__bb { display: flex; padding: 18px 0; }
	.form-box__mt { margin-top: 25px; }
	.form-box__bb { border-bottom: none; }
	.form-item,
	.form-item__norequired,
	.confirm-item,
	.confirm-item__norequired { font-size: 16px; }
	.form-item,
	.form-item__norequired { width: 246px; }
	.form-item::after { top: 0; right: 0; width: 52px; height: 26px; padding: 3px 0; font-size: 12px; line-height: 1.6; }
	.form-type,
	.form-type__arrow { width: calc(100% - 246px); padding-left: 46px; }
	.form-type p { margin: 0; }
	.form-type__text { width: 394px; height: 32px; margin: 0; padding-left: 1em; font-size: 16px; }
	.form-type__arrow::before { content: ""; position: absolute; top: 8px; left: 270px; width: 0; height: 0; border-style: solid; border-width: 0 3px 6px 3px; border-color: transparent transparent #00000f transparent; pointer-events: none; }
	.form-type__arrow::after { content: ""; position: absolute; top: 18px; left: 270px; width: 0; height: 0; border-style: solid; border-width: 6px 3px 0 3px; border-color: #00000f transparent transparent transparent; }
	.form-type__select { width: 243px; height: 32px; margin: 0; padding-left: 1em; font-size: 16px; border-radius: 5px; background: linear-gradient(to bottom, #fff, #e9e9e9); }
	.form-type__select::-ms-expand { display: none; }
	.form-type__tel { width: 245px; height: 32px; margin: 0; padding-left: 1em; font-size: 16px; }
	.form-type__note { top: 2px; left: 308px; font-size: 16px; }
	p.form-type__note02 { margin: 5px 0 0 0; letter-spacing: .06em; }
	.form-type__email { width: 394px; height: 32px; margin: 0; padding-left: 1em; font-size: 16px; }
	.form-type__area { width: 593px; min-width: 593px; min-height: 126px; margin: 0; padding: 8px 12px; font-size: 16px; resize: vertical; }
	.form-accept { margin-top: 30px; text-align: center; }
	.form-accept label { display: inline-block; height: 22px; padding-left: 33px; font-size: 16px; line-height: 22px; background: url(../img/form_ico01.png) no-repeat left top/22px; cursor: pointer; }
	.form-btn { margin: 30px auto 0; }
	.form-btn .u-btn { width: 300px; }

	/*** form validation ***/
/*
.contact-form .error-msg-balloon { position: static !important; margin: .7rem 0 0; padding: .5rem 1rem; background: #ff8080; color: #fff; font-size: 1.2rem; letter-spacing: normal; }
.contact-form .errmsg-box { margin: 0 0 .5rem; padding: .5rem .5rem; color: #ff3e3e; font-size:  1.2rem; line-height: 1.35; background: #ffe8f7; }
*/
.contact-form .error-msg-balloon {
	position: absolute !important;
	z-index: 10;
	margin: 0;
	padding: 0;
	font-size: 16px;
}
.contact-form .error-msg-balloon span {
	display: inline-block;
	position: relative;
	padding: 0.25em 0.5em;
	font-size: 14px;
}
.contact-form .error-msg-balloon span:after {
	top: 100%;
	left: 50%;
	border: solid transparent;
	content: "";
	height: 0;
	width: 0;
	position: absolute;
	pointer-events: none;
	border-color: rgba(51, 51, 51, 0);
	border-top-color: #ff8080;
	border-width: 10px;
	margin-left: -10px;
}
.contact-form .errmsg-box {
	margin: 0 0 2em;
	padding: 1em;
	font-size: 16px;
	line-height: 1.15;
}

	/*** form confirm ***/
	.contact-confirm .form-type,
	.contact-confirm .form-type__arrow { margin: 0; font-size: 16px; }
	.contact-confirm .form-btn { width: 650px; }

	/*** form thanks ***/
	.contact-thanks h3 { margin: 0 0 30px; text-align: center; }
	.contact-thanks p { text-align: center; }
}

@media (min-width: 2000px) {
	/* top
	----------------------------------------------------------*/
	.main-area { background-size: cover; }
}

@media (max-width: 768px) {
}
