@charset "UTF-8";
/*================================================================================

media query mixin

================================================================================*/
/* common color
----------------------------------------------------------------------------*/
/*    google font on web
--------------------------------------------------------------------------------*/
@import url("https://fonts.googleapis.com/css2?family=Marcellus&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Roboto:wght@300&display=swap");
/*    google font on server
--------------------------------------------------------------------------------*/
/*    icomoon
--------------------------------------------------------------------------------*/
/*    custom
--------------------------------------------------------------------------------*/
@media screen and (max-width: 1260px) { /* 1260px以上*/ }
@media screen and (max-width: 1024px) { /* 1024px以下*/ }
@media screen and (max-width: 768px) { /* 768px以下*/ }
@media screen and (max-width: 480px) { /* 480px以下*/ }
@media screen and (max-width: 320px) { /* 320px以下*/ }
body { font-family: "ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","メイリオ",Meiryo,"ＭＳ Ｐゴシック",sans-serif; }

/*================================================================================

reset & default & font

================================================================================*/
/*!
 * ress.css • v1.2.2
 * MIT License
 * github.com/filipelinhares/ress
 */
/* # ================================================================= # Global selectors # ================================================================= */
html { -webkit-box-sizing: border-box; box-sizing: border-box; overflow-y: scroll; /* All browsers without overlaying scrollbars */ -webkit-text-size-adjust: 100%; /* iOS 8+ */ }

*, ::before, ::after { background-repeat: no-repeat; /* Set `background-repeat: no-repeat` to all elements and pseudo elements */ -webkit-box-sizing: inherit; box-sizing: inherit; }

::before, ::after { text-decoration: inherit; /* Inherit text-decoration and vertical align to ::before and ::after pseudo elements */ vertical-align: inherit; }

* { padding: 0; /* Reset `padding` and `margin` of all elements */ margin: 0; }

/* # ================================================================= # General elements # ================================================================= */
/* Add the correct display in iOS 4-7.*/
audio:not([controls]) { display: none; height: 0; }

hr { overflow: visible; /* Show the overflow in Edge and IE */ }

/*
* Correct `block` display not defined for any HTML5 element in IE 8/9
* Correct `block` display not defined for `details` or `summary` in IE 10/11
* and Firefox
* Correct `block` display not defined for `main` in IE 11
*/
article, aside, details, figcaption, figure, footer, header, main, menu, nav, section, summary { display: block; }

summary { display: list-item; /* Add the correct display in all browsers */ }

small { font-size: 80%; /* Set font-size to 80% in `small` elements */ }

[hidden], template { display: none; /* Add the correct display in IE */ }

abbr[title] { border-bottom: 1px dotted; /* Add a bordered underline effect in all browsers */ text-decoration: none; /* Remove text decoration in Firefox 40+ */ }

a { background-color: transparent; /* Remove the gray background on active links in IE 10 */ -webkit-text-decoration-skip: objects; /* Remove gaps in links underline in iOS 8+ and Safari 8+ */ }

a:active, a:hover { outline-width: 0; /* Remove the outline when hovering in all browsers */ }

code, kbd, pre, samp { font-family: monospace, monospace; /* Specify the font family of code elements */ }

b, strong { font-weight: bolder; /* Correct style set to `bold` in Edge 12+, Safari 6.2+, and Chrome 18+ */ }

dfn { font-style: italic; /* Address styling not present in Safari and Chrome */ }

/* Address styling not present in IE 8/9 */
mark { background-color: #ff0; color: #000; }

/* https://gist.github.com/unruthless/413930 */
sub, sup { font-size: 75%; line-height: 0; position: relative; vertical-align: baseline; }

sub { bottom: -0.25em; }

sup { top: -0.5em; }

/* # ================================================================= # Forms # ================================================================= */
input { border-radius: 0; }

/* Apply cursor pointer to button elements */
button, [type="button"], [type="reset"], [type="submit"], [role="button"] { cursor: pointer; }

/* Replace pointer cursor in disabled elements */
[disabled] { cursor: default; }

[type="number"] { width: auto; /* Firefox 36+ */ }

[type="search"] { -webkit-appearance: textfield; /* Safari 8+ */ }

[type="search"]::-webkit-search-cancel-button, [type="search"]::-webkit-search-decoration { -webkit-appearance: none; /* Safari 8 */ }

textarea { overflow: auto; /* Internet Explorer 11+ */ resize: vertical; /* Specify textarea resizability */ }

button, input, optgroup, select, textarea { font: inherit; /* Specify font inheritance of form elements */ }

optgroup { font-weight: bold; /* Restore the font weight unset by the previous rule. */ }

button { overflow: visible; /* Address `overflow` set to `hidden` in IE 8/9/10/11 */ }

/* Remove inner padding and border in Firefox 4+ */
button::-moz-focus-inner, [type="button"]::-moz-focus-inner, [type="reset"]::-moz-focus-inner, [type="submit"]::-moz-focus-inner { border-style: 0; padding: 0; }

/* Replace focus style removed in the border reset above */
button:-moz-focusring, [type="button"]::-moz-focus-inner, [type="reset"]::-moz-focus-inner, [type="submit"]::-moz-focus-inner { outline: 1px dotted ButtonText; }

button, html [type="button"], [type="reset"], [type="submit"] { -webkit-appearance: button; /* Correct the inability to style clickable types in iOS */ }

button, select { text-transform: none; /* Firefox 40+, Internet Explorer 11- */ }

/* Remove the default button styling in all browsers */
button, input, select, textarea { background-color: transparent; border-style: none; color: inherit; }

/* Style select like a standard input */
select { -moz-appearance: none; /* Firefox 36+ */ -webkit-appearance: none; /* Chrome 41+ */ }

select::-ms-expand { display: none; /* Internet Explorer 11+ */ }

select::-ms-value { color: currentColor; /* Internet Explorer 11+ */ }

legend { border: 0; /* Correct `color` not being inherited in IE 8/9/10/11 */ color: inherit; /* Correct the color inheritance from `fieldset` elements in IE */ display: table; /* Correct the text wrapping in Edge and IE */ max-width: 100%; /* Correct the text wrapping in Edge and IE */ white-space: normal; /* Correct the text wrapping in Edge and IE */ }

::-webkit-file-upload-button { -webkit-appearance: button; /* Correct the inability to style clickable types in iOS and Safari */ font: inherit; /* Change font properties to `inherit` in Chrome and Safari */ }

[type="search"] { -webkit-appearance: textfield; /* Correct the odd appearance in Chrome and Safari */ outline-offset: -2px; /* Correct the outline style in Safari */ }

/* # ================================================================= # Specify media element style # ================================================================= */
img { border-style: none; /* Remove border when inside `a` element in IE 8/9/10 */ }

/* Add the correct vertical alignment in Chrome, Firefox, and Opera */
progress { vertical-align: baseline; }

svg:not(:root) { overflow: hidden; /* Internet Explorer 11- */ }

audio, canvas, progress, video { display: inline-block; /* Internet Explorer 11+, Windows Phone 8.1+ */ }

/* # ================================================================= # Accessibility # ================================================================= */
/* Hide content from screens but not screenreaders */
@media screen { [hidden~="screen"] { display: inherit; }
  [hidden~="screen"]:not(:active):not(:focus):not(:target) { position: absolute !important; clip: rect(0 0 0 0) !important; } }
/* Specify the progress cursor of updating elements */
[aria-busy="true"] { cursor: progress; }

/* Specify the pointer cursor of trigger elements */
[aria-controls] { cursor: pointer; }

/* Specify the unstyled cursor of disabled, not-editable, or otherwise inoperable elements */
[aria-disabled] { cursor: default; }

/* # ================================================================= # Selection # ================================================================= */
/* Specify text selection background color and omit drop shadow */
::-moz-selection { background-color: #b3d4fc; /* Required when declaring ::selection */ color: #000; text-shadow: none; }

::selection { background-color: #b3d4fc; /* Required when declaring ::selection */ color: #000; text-shadow: none; }

/*======================================================================

Defaults Styles

======================================================================*/
html { font-size: 62.5%; }

body { margin: 0; padding: 0; color: #1a1a1a; font-family: 'Noto Sans JP', sans-serif; line-height: 1.6; font-size: 16px; font-size: 1.6rem; font-weight: 400; -webkit-text-size-adjust: 100%; -webkit-font-smoothing: antialiased; }
@media screen and (max-width: 768px) { body { font-size: 14px; font-size: 1.4rem; } }

* { margin: 0; padding: 0; }

/*selection*/
::-moz-selection { background-color: #b3d4fc; color: #1a1a1a; text-shadow: none; }

::selection { background-color: #b3d4fc; color: #1a1a1a; text-shadow: none; }

/*placeholder*/
::-webkit-input-placeholder-shown { color: #1a1a1a; }
:-ms-input-placeholder-shown { color: #1a1a1a; }
::-ms-input-placeholder-shown { color: #1a1a1a; }
::placeholder-shown { color: #1a1a1a; }

/* Google Chrome, Safari, Opera 15+, Android, iOS */
::-webkit-input-placeholder { color: #1a1a1a; }

/* Firefox 18- */
::-moz-placeholder { color: #1a1a1a; opacity: 1; }

/* Firefox 19+ */
::-moz-placeholder { color: #1a1a1a; opacity: 1; }

/* IE 10+ */
::-ms-input-placeholder { color: #1a1a1a; }

img, svg { border: 0; border-style: none; vertical-align: top; font-size: 0; line-height: 0; max-width: 100%; height: auto; -ms-interpolation-mode: bicubic; }

ul, dl, ol { list-style-type: none; }

/*    Link
--------------------------------------------------------------------------------*/
a { -webkit-transition: .3s; transition: .3s; }

a:link { color: #1a1a1a; text-decoration: none; }

a:visited { color: #1a1a1a; text-decoration: none; }

a:hover { opacity: .6; text-decoration: none; -webkit-transition: .3s; transition: .3s; cursor: pointer; }

a:active { color: #1a1a1a; text-decoration: none; }

*:focus { outline: none; }

/*    Base Styles
--------------------------------------------------------------------------------*/
/*  margin */
.mg0a { margin: 0 auto; }

.mgt0 { margin-top: 0 !important; }

.mgt1 { margin-top: 1px !important; }

.mgt2 { margin-top: 2px !important; }

.mgt3 { margin-top: 3px !important; }

.mgt4 { margin-top: 4px !important; }

.mgt5 { margin-top: 5px !important; }

.mgt6 { margin-top: 6px !important; }

.mgt7 { margin-top: 7px !important; }

.mgt8 { margin-top: 8px !important; }

.mgt9 { margin-top: 9px !important; }

.mgt10 { margin-top: 10px !important; }

.mgt15 { margin-top: 15px !important; }

.mgt20 { margin-top: 20px !important; }

.mgt25 { margin-top: 25px !important; }

.mgt30 { margin-top: 30px !important; }

.mgt35 { margin-top: 35px !important; }

.mgt40 { margin-top: 40px !important; }

.mgt45 { margin-top: 45px !important; }

.mgt50 { margin-top: 50px !important; }

.mgt55 { margin-top: 55px !important; }

.mgt60 { margin-top: 60px !important; }

.mgl0 { margin-left: 0 !important; }

.mgl5 { margin-left: 5px !important; }

.mgl10 { margin-left: 10px !important; }

.mgl15 { margin-left: 15px !important; }

.mgl20 { margin-left: 20px !important; }

.mgl25 { margin-left: 25px !important; }

.mgl30 { margin-left: 30px !important; }

.mgl35 { margin-left: 35px !important; }

.mgl40 { margin-left: 40px !important; }

.mgl45 { margin-left: 45px !important; }

.mgl50 { margin-left: 50px !important; }

.mgl55 { margin-left: 55px !important; }

.mgl60 { margin-left: 60px !important; }

.mgr0 { margin-right: 0 !important; }

.mgr5 { margin-right: 5px !important; }

.mgr10 { margin-right: 10px !important; }

.mgr15 { margin-right: 15px !important; }

.mgr20 { margin-right: 20px !important; }

.mgr25 { margin-right: 25px !important; }

.mgr30 { margin-right: 30px !important; }

.mgr35 { margin-right: 35px !important; }

.mgr40 { margin-right: 40px !important; }

.mgr45 { margin-right: 45px !important; }

.mgr50 { margin-right: 50px !important; }

.mgr55 { margin-right: 55px !important; }

.mgr60 { margin-right: 60px !important; }

/* padding */
.pdt0 { padding-top: 0 !important; }

.pdt1 { padding-top: 1px !important; }

.pdt2 { padding-top: 2px !important; }

.pdt3 { padding-top: 3px !important; }

.pdt4 { padding-top: 4px !important; }

.pdt5 { padding-top: 5px !important; }

.pdt6 { padding-top: 6px !important; }

.pdt7 { padding-top: 7px !important; }

.pdt8 { padding-top: 8px !important; }

.pdt9 { padding-top: 9px !important; }

.pdt10 { padding-top: 10px !important; }

.pdt15 { padding-top: 15px !important; }

.pdt20 { padding-top: 20px !important; }

.pdt25 { padding-top: 25px !important; }

.pdt30 { padding-top: 30px !important; }

.pdt35 { padding-top: 35px !important; }

.pdt40 { padding-top: 40px !important; }

.pdt45 { padding-top: 45px !important; }

.pdt50 { padding-top: 50px !important; }

.pdt55 { padding-top: 55px !important; }

.pdt60 { padding-top: 60px !important; }

.pdl0 { padding-left: 0 !important; }

.pdl5 { padding-left: 5px !important; }

.pdl10 { padding-left: 10px !important; }

.pdl15 { padding-left: 15px !important; }

.pdl20 { padding-left: 20px !important; }

.pdl25 { padding-left: 25px !important; }

.pdl30 { padding-left: 30px !important; }

.pdl35 { padding-left: 35px !important; }

.pdl40 { padding-left: 40px !important; }

.pdl45 { padding-left: 45px !important; }

.pdl50 { padding-left: 50px !important; }

.pdl55 { padding-left: 55px !important; }

.pdl60 { padding-left: 60px !important; }

.pdr0 { padding-right: 0 !important; }

.pdr5 { padding-right: 5px !important; }

.pdr10 { padding-right: 10px !important; }

.pdr15 { padding-right: 15px !important; }

.pdr20 { padding-right: 20px !important; }

.pdr25 { padding-right: 25px !important; }

.pdr30 { padding-right: 30px !important; }

.pdr35 { padding-right: 35px !important; }

.pdr40 { padding-right: 40px !important; }

.pdr45 { padding-right: 45px !important; }

.pdr50 { padding-right: 50px !important; }

.pdr55 { padding-right: 55px !important; }

.pdr60 { padding-right: 60px !important; }

.floatL { float: left; }

.floatR { float: right; }

.alL { text-align: left; }

.alC { text-align: center; }

.alR { text-align: right; }

.vaT { vertical-align: top; }

.vaM { vertical-align: middle; }

.vaB { vertical-align: bottom; }

.disnon { display: none; }

.nowrap { white-space: nowrap; }

.w100per { width: 100%; height: auto; }

/*clear*/
.clearfix { clear: both; background: transparent; height: 1px; font-size: 1px; }

/* clearfix micro */
.cf:before, .cf:after { content: ""; display: table; }

.cf:after { clear: both; }

/*IE6,7対策 （haslayout対策）*/
.cf { *zoom: 1; }

/*================================================================================

common parts

================================================================================*/
.pcOnly { display: block; }
@media screen and (max-width: 768px) { .pcOnly { display: none; } }

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

.c-title { margin-bottom: 20px; }
@media screen and (max-width: 768px) { .c-title { text-align: center; margin-bottom: 15px; } }
.c-title span, .c-title .-jp { color: #5FAED7; font-size: 42px; font-weight: 600; margin-bottom: 40px; border-bottom: 5px solid #5FAED7; padding-bottom: 5px; }
@media screen and (max-width: 768px) { .c-title span, .c-title .-jp { font-size: 30px; border-bottom: 4px solid #5FAED7; padding-bottom: 3px; } }
.c-title .-en { color: rgba(95, 174, 215, 0.4); font-size: 24px; display: block; margin-top: 20px; letter-spacing: 5px; }
@media screen and (max-width: 768px) { .c-title .-en { font-size: 16px; margin-top: 15px; letter-spacing: 3px; } }

.c-stitle { color: #fff; font-size: 30px; margin: 0 0 20px; }
@media screen and (max-width: 768px) { .c-stitle { font-size: 22px; margin: 0 0 20px; line-height: 1.4; } }

.c-stitle01 { color: #5FAED7; font-size: 30px; background: rgba(95, 174, 215, 0.2); padding: 5px 20px; margin-bottom: 30px; }
@media screen and (max-width: 768px) { .c-stitle01 { font-size: 24px; padding: 5px 15px; margin-bottom: 15px; } }

.c-stitle02 { color: #1F247C; font-size: 24px; margin-bottom: 20px; position: relative; padding-left: 30px; clear: both; }
@media screen and (max-width: 768px) { .c-stitle02 { font-size: 20px; margin-bottom: 10px; padding-left: 25px; } }
.c-stitle02::before { content: ""; position: absolute; width: 20px; height: 20px; background: #1F247C; border-radius: 20px; top: 9px; left: 0; }
@media screen and (max-width: 768px) { .c-stitle02::before { width: 18px; height: 18px; top: 7px; } }

.c-btn a { color: #fff; background: #e5322d; font-size: 20px; font-weight: 600; display: block; position: relative; width: 320px; padding: 20px 0; text-align: center; }
@media screen and (max-width: 768px) { .c-btn a { width: 100%; font-size: 18px; padding: 15px 0; } }
.c-btn a::before, .c-btn a::after { content: ""; position: absolute; top: 50%; }
.c-btn a::before { width: 30px; height: 2px; right: 20px; background: #fff; }
.c-btn a::after { right: 20px; width: 10px; height: 2px; background: #fff; -webkit-transform: rotate(45deg); transform: rotate(45deg); margin-top: -4px; }

.contactArea { background: #1F247C; padding: 60px 0; margin-top: 20px; clear: both; }
@media screen and (max-width: 768px) { .contactArea { padding: 40px 0; } }
.contactArea .c-title { text-align: center; }
.contactArea .c-title span { color: #fff; border-color: #fff; }
.contactArea .c-stitle { text-align: center; margin: 0 0 10px; }
.contactArea .text { color: #fff; text-align: center; }
.contactArea .contactList { overflow: hidden; margin-top: 30px; }
.contactArea .contactList .contactList_item { color: #fff; width: 320px; height: 150px; display: block; border: 1px solid #fff; float: left; margin-right: 40px; text-align: center; }
@media screen and (max-width: 768px) { .contactArea .contactList .contactList_item { width: 100%; height: 125px; float: none; margin-right: 0; margin-bottom: 15px; } }
.contactArea .contactList .contactList_item:nth-child(2) { padding: 35px 0; }
@media screen and (max-width: 768px) { .contactArea .contactList .contactList_item:nth-child(2) { padding: 30px 0; } }
.contactArea .contactList .contactList_item:last-child { margin-right: 0; padding: 25px 0; }
@media screen and (max-width: 768px) { .contactArea .contactList .contactList_item:last-child { padding: 18px 0; } }
.contactArea .contactList .contactList_item a { color: #fff; }
.contactArea .contactList .contactList_item a:hover { cursor: pointer; }
.contactArea .contactList .contactList_item .form { display: block; width: 100%; height: 100%; font-size: 22px; font-weight: bold; position: relative; padding: 40px 0; }
@media screen and (max-width: 768px) { .contactArea .contactList .contactList_item .form { padding: 30px 0; } }
.contactArea .contactList .contactList_item .form::before, .contactArea .contactList .contactList_item .form::after { content: ""; position: absolute; top: 95px; }
@media screen and (max-width: 768px) { .contactArea .contactList .contactList_item .form::before, .contactArea .contactList .contactList_item .form::after { top: 85px; } }
.contactArea .contactList .contactList_item .form::before { width: 30px; height: 2px; left: 50%; margin-left: -15px; background: #fff; }
.contactArea .contactList .contactList_item .form::after { left: 50%; margin-left: 5px; width: 10px; height: 2px; background: #fff; -webkit-transform: rotate(45deg); transform: rotate(45deg); margin-top: -4px; }
.contactArea .contactList .contactList_item .num { font-size: 18px; font-weight: bold; display: block; }
@media screen and (max-width: 768px) { .contactArea .contactList .contactList_item .num { font-size: 16px; } }
.contactArea .contactList .contactList_item .num a, .contactArea .contactList .contactList_item .num span { font-size: 30px; }
@media screen and (max-width: 768px) { .contactArea .contactList .contactList_item .num a, .contactArea .contactList .contactList_item .num span { font-size: 26px; } }
.contactArea .contactList .contactList_item .num a { pointer-events: none; }
@media screen and (max-width: 768px) { .contactArea .contactList .contactList_item .num a { pointer-events: auto; } }
.contactArea .contactList .contactList_item .note { font-size: 14px; font-weight: bold; color: rgba(255, 255, 255, 0.5); display: block; }

/*================================================================================

container

================================================================================*/
/*    div.container
--------------------------------------------------------------------------------*/
/*    header
--------------------------------------------------------------------------------*/
.header { width: 1260px; height: 120px; background: #fff; margin: 0 auto; padding: 0 100px; }
@media screen and (max-width: 768px) { .header { position: fixed; top: 0; left: 0; z-index: 100; width: 100%; height: 70px; padding: 0; } }
.header .header_logo { width: 240px; float: left; margin: 20px 0; }
@media screen and (max-width: 768px) { .header .header_logo { width: 135px; margin: 10px 20px; } }
.header .header_logo a { color: #1a1a1a; display: inline-block; line-height: 1.2; }
.header .header_logo a .en { font-size: 26px; font-family: 'Marcellus', serif; letter-spacing: .8px; }
@media screen and (max-width: 768px) { .header .header_logo a .en { font-size: 16px; margin: 6px 0 2px; } }
.header .header_logo a .jp { font-size: 12px; letter-spacing: -.8px; }
@media screen and (max-width: 768px) { .header .header_logo a .jp { font-size: 10px; letter-spacing: normal; } }
.header .header_links_pc { float: right; }
@media screen and (max-width: 768px) { .header .header_links_pc { display: none; } }
.header .header_links_pc .contactBtn { float: right; margin-bottom: 20px; }
.header .header_links_pc .contactBtn a { text-align: left; padding: 10px 20px; width: 240px; }
.header .header_links_pc .header_items { clear: both; margin-bottom: 20px; }
.header .header_links_pc li { display: inline-block; }
.header .header_links_pc .header_items ul li { padding: 0 30px; }
.header .header_links_pc .header_items ul li:last-child { padding-right: 0; }
.header .header_links_pc .header_items ul li a { font-size: 24px; font-weight: bold; letter-spacing: 2px; }
.header .header_links_sp { display: none; }
@media screen and (max-width: 768px) { .header .header_links_sp { display: block; position: relative; }
  .header .header_links_sp .contactBtn a { position: absolute; background: #000; width: 70px; height: 70px; top: 0; right: 70px; background: #5FAED7; z-index: 10; }
  .header .header_links_sp .contactBtn a img { width: 35px; margin: 23px 18px; }
  .header .header_links_sp .humburger { position: absolute; width: 70px; height: 70px; top: 0; right: 0; background: #1F247C; z-index: 10; }
  .header .header_links_sp .humburger .burger-lines { position: relative; }
  .header .header_links_sp .humburger .burger-lines span { position: absolute; width: 35px; height: 2px; background: #fff; right: 15px; -webkit-transition: .5s; transition: .5s; }
  .header .header_links_sp .humburger .burger-lines span:first-child { top: 20px; }
  .header .header_links_sp .humburger .burger-lines span:nth-child(2) { top: 33px; }
  .header .header_links_sp .humburger .burger-lines span:nth-child(3) { top: 46px; }
  .header .header_links_sp .spNav { display: block; width: 0; height: 100vh; -webkit-transition: .5s; transition: .5s; position: absolute; top: 70px; right: 0; -webkit-box-sizing: border-box; box-sizing: border-box; }
  .header .header_links_sp.-active { -webkit-transition: .5s; transition: .5s; right: 0; }
  .header .header_links_sp.-active .burger-lines span { background: #fff; -webkit-transition: .5s; transition: .5s; }
  .header .header_links_sp.-active .burger-lines span:first-child { -webkit-transform: rotate(135deg); transform: rotate(135deg); top: 32px; }
  .header .header_links_sp.-active .burger-lines span:nth-child(2) { display: none; }
  .header .header_links_sp.-active .burger-lines span:last-child { -webkit-transform: rotate(-135deg); transform: rotate(-135deg); top: 32px; }
  .header .header_links_sp.-active .spNav { display: block; background: rgba(31, 36, 124, 0.9); width: 80%; height: 100vh; position: absolute; top: 70px; right: 0; padding: 30px 40px; }
  .header .header_links_sp.-active .spNav .spNav_items li { margin-bottom: 40px; }
  .header .header_links_sp.-active .spNav .spNav_items li.top { margin-top: 60px; }
  .header .header_links_sp.-active .spNav .spNav_items li a { font-size: 20px; color: #fff; letter-spacing: 1px; }
  .header .header_links_sp.-active .spNav .search { position: relative; }
  .header .header_links_sp.-active .spNav .search .search-submit { position: absolute; width: 20px; height: 20px; top: 3px; right: 0; }
  .header .header_links_sp.-active .spNav .search .search-submit::before { position: absolute; content: ''; width: 7px; height: 7px; top: 3px; left: 3px; border-radius: 50%; -webkit-box-shadow: 0 0 0 3px #000; box-shadow: 0 0 0 3px #000; }
  .header .header_links_sp.-active .spNav .search .search-submit::after { position: absolute; content: ''; width: 8px; height: 13px; top: 10px; left: 5px; border-top: solid 3px #000; -webkit-transform: rotate(45deg); transform: rotate(45deg); }
  .header .header_links_sp.-active .spNav .searchBoxSp .gsc-control-cse { padding: 0; background: none; border: none; }
  .header .header_links_sp.-active .spNav .searchBoxSp .gsc-search-box { position: relative; }
  .header .header_links_sp.-active .spNav .searchBoxSp .gsc-input-box { border-radius: 30px; padding: 0; }
  .header .header_links_sp.-active .spNav .searchBoxSp .gsc-search-button-v2 { height: auto; width: auto; border-radius: 0; padding: 0; background: none; border: none; border-radius: 0; margin-left: 10px; top: 7px; right: 10px; }
  .header .header_links_sp.-active .spNav .searchBoxSp .gsc-search-button-v2 svg { fill: #000000; width: 20px; height: 20px; display: block; max-width: initial; }
  .header .header_links_sp.-active .spNav .searchBoxSp .gsc-results-wrapper-overlay { left: 50%; -webkit-transform: translateX(-50%); transform: translateX(-50%); } }

/*    div.contents
--------------------------------------------------------------------------------*/
/*    main
--------------------------------------------------------------------------------*/
.sec .inner { width: 1040px; margin: 0 auto; }
@media screen and (max-width: 768px) { .sec .inner { width: 100%; padding: 0 30px; } }
.sec .inner- { width: 100%; }

/*    aside
----------------------------------------------------------------------------*/
/*    article & section
----------------------------------------------------------------------------*/
/*    footer
----------------------------------------------------------------------------*/
.footer { overflow: hidden; background: #EFEFEF; }
.footer .inner { width: 1040px; margin: 0 auto; }
@media screen and (max-width: 768px) { .footer .inner { width: auto; padding: 0 30px; } }
.footer .footerBox-01 { padding: 60px 0 40px; overflow: hidden; }
@media screen and (max-width: 768px) { .footer .footerBox-01 { padding: 40px 0 30px; } }
.footer .footerBox-01 .block { float: left; width: 500px; margin-right: 40px; }
@media screen and (max-width: 768px) { .footer .footerBox-01 .block { float: none; width: auto; margin-right: 0; } }
.footer .footerBox-01 .block:last-child { margin-right: 0; }
.footer .footerBox-01 .name { font-size: 30px; font-weight: bold; margin-bottom: 15px; }
@media screen and (max-width: 768px) { .footer .footerBox-01 .name { font-size: 24px; margin-bottom: 10px; } }
.footer .footerBox-01 .text { margin-bottom: 20px; }
.footer .footerBox-01 .access .tit { font-weight: normal; border: 1px solid #000; padding: 5px; display: block; width: 170px; text-align: center; margin-bottom: 10px; }
.footer .footerBox-01 .access .txt + .tit { margin-top: 20px; }
@media screen and (max-width: 768px) { .footer .footerBox-01 .map { margin-top: 20px; } }
.footer .footerBox-01 .map iframe { width: 100%; height: 350px; }
@media screen and (max-width: 768px) { .footer .footerBox-01 .map iframe { height: 240px; } }
.footer .footerBox-02 { padding: 40px 0 60px; border-top: 1px solid #C4C4C4; overflow: hidden; }
@media screen and (max-width: 768px) { .footer .footerBox-02 { padding: 30px 0 40px; } }
.footer .footerBox-02 .footer_logo { width: 220px; display: block; float: left; }
@media screen and (max-width: 768px) { .footer .footerBox-02 .footer_logo { width: 160px; margin: 0 auto 20px; float: none; } }
.footer .footerBox-02 .footerLink { float: right; }
@media screen and (max-width: 768px) { .footer .footerBox-02 .footerLink { float: none; } }
.footer .footerBox-02 .footerLink .footerLink_item { float: left; margin-right: 60px; }
@media screen and (max-width: 768px) { .footer .footerBox-02 .footerLink .footerLink_item { width: 50%; margin-right: 30px; }
  .footer .footerBox-02 .footerLink .footerLink_item:nth-child(2n) { margin-right: -30px; }
  .footer .footerBox-02 .footerLink .footerLink_item:nth-child(n+3) { margin-top: 15px; } }
.footer .footerBox-02 .footerLink .footerLink_item:last-child { margin-right: 0; }
@media screen and (max-width: 768px) { .footer .footerBox-02 .footerLink .footerLink_item:last-child { margin-right: -30px; } }
.footer .footerBox-02 .footerLink .footerLink_item dt { font-size: 20px; font-weight: bold; margin-bottom: 10px; }
@media screen and (max-width: 768px) { .footer .footerBox-02 .footerLink .footerLink_item dt { font-size: 18px; } }
.footer .footerBox-02 .footerLink .footerLink_item dd + dd { margin-top: 10px; }
.footer .copyArea { background: #000; }
.footer .copyArea .copyright { color: #fff; font-size: 16px; padding: 20px 0; text-align: center; }
@media screen and (max-width: 768px) { .footer .copyArea .copyright { padding: 15px 0; } }
.footer .copyArea .copyright a { color: #fff; }

.pageTop { position: fixed; right: 20px; bottom: 20px; z-index: 500; -webkit-transition: .3s; transition: .3s; }
.pageTop a { display: block; width: 40px; height: 40px; position: relative; font-size: 1px; background: #e5322d; -webkit-transition: .3s; transition: .3s; font-weight: bold; }
.pageTop a::before { content: ''; position: absolute; left: 50%; top: 22px; -webkit-transform: translate(-50%, -50%) rotate(45deg); transform: translate(-50%, -50%) rotate(45deg); width: 10px; height: 10px; border-left: 2px solid #fff; border-top: 2px solid #fff; -webkit-transition: .3s; transition: .3s; }
.pageTop a:hover::before { margin-top: -5px; }
.pageTop.-active { position: absolute; top: -30px; bottom: auto; -webkit-transition: .3s; transition: .3s; }

/*# sourceMappingURL=style.css.map */