@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP&family=Noto+Serif+JP:wght@400;700&display=swap");
/*! normalize.css v1.1.1 | MIT License | git.io/normalize */
/* ========================================================================== HTML5 display definitions ========================================================================== */
/** Correct `block` display not defined in IE 6/7/8/9 and Firefox 3. */
article, aside, details, figcaption, figure, footer, header, hgroup, main, nav, section, summary {
    display: block;
}

/** Correct `inline-block` display not defined in IE 6/7/8/9 and Firefox 3. */
audio, canvas, video {
    display: inline-block;
    *display: inline;
    *zoom: 1;
}

/** Prevent modern browsers from displaying `audio` without controls. Remove excess height in iOS 5 devices. */
audio:not([controls]) {
    display: none;
    height: 0;
}

/** Address styling not present in IE 7/8/9, Firefox 3, and Safari 4. Known issue: no IE 6 support. */
[hidden] {
    display: none;
}

/* ========================================================================== Base ========================================================================== */
/** 1. Prevent system color scheme's background color being used in Firefox, IE, and Opera. 2. Prevent system color scheme's text color being used in Firefox, IE, and Opera. 3. Correct text resizing oddly in IE 6/7 when body `font-size` is set using `em` units. 4. Prevent iOS text size adjust after orientation change, without disabling user zoom. */
html {
    background: #fff; /* 1 */
    color: #000; /* 2 */
    font-size: 100%; /* 3 */
    -webkit-text-size-adjust: 100%; /* 4 */
    -ms-text-size-adjust: 100%; /* 4 */
}

/** Address `font-family` inconsistency between `textarea` and other form elements. */
html, button, input, select, textarea {
    font-family: sans-serif;
}

/** Address margins handled incorrectly in IE 6/7. */
body {
    margin: 0;
}

/* ========================================================================== Links ========================================================================== */
/** Address `outline` inconsistency between Chrome and other browsers. */
a:focus {
    outline: thin dotted;
}

/** Improve readability when focused and also mouse hovered in all browsers. */
a:active, a:hover {
    outline: 0;
}

/* ========================================================================== Typography ========================================================================== */
/** Address font sizes and margins set differently in IE 6/7. Address font sizes within `section` and `article` in Firefox 4+, Safari 5, and Chrome. */
h1 {
    font-size: 2em;
    margin: 0.67em 0;
}

h11 {
    font-size: 2.1em; /* margin: 0.67em 0; */
    font-family: "游ゴシック", sans-serif; /* font-weight: 500; */
}

h2 {
    font-size: 1.5em;
    margin: 0.83em 0;
}

h3 {
    font-size: 1.17em;
    margin: 1em 0;
}

h4 {
    font-size: 1em;
    margin: 1.33em 0;
}

h5 {
    font-size: 0.83em;
    margin: 1.67em 0;
}

h6 {
    font-size: 0.67em;
    margin: 2.33em 0;
}

/** Address styling not present in IE 7/8/9, Safari 5, and Chrome. */
abbr[title] {
    border-bottom: 1px dotted;
}

/** Address style set to `bolder` in Firefox 3+, Safari 4/5, and Chrome. */
b, strong {
    font-weight: bold;
}

blockquote {
    margin: 1em 40px;
}

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

/** Address differences between Firefox and other browsers. Known issue: no IE 6/7 normalization. */
hr {
    -moz-box-sizing: content-box;
    box-sizing: content-box;
    height: 0;
}

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

/** Address margins set differently in IE 6/7. */
p, pre {
    margin: 0;
}

/** Correct font family set oddly in IE 6, Safari 4/5, and Chrome. */
code, kbd, pre, samp {
    font-family: monospace, serif;
    _font-family: 'courier new', monospace;
    font-size: 1em;
}

/** Improve readability of pre-formatted text in all browsers. */
pre {
    white-space: pre;
    white-space: pre-wrap;
    word-wrap: break-word;
}

/** Address CSS quotes not supported in IE 6/7. */
q {
    quotes: none;
}

/** Address `quotes` property not supported in Safari 4. */
q:before, q:after {
    content: '';
    content: none;
}

/** Address inconsistent and variable font size in all browsers. */
small {
    font-size: 80%;
}

/** Prevent `sub` and `sup` affecting `line-height` in all browsers. */
sub, sup {
    font-size: 75%;
    line-height: 0;
    position: relative;
    vertical-align: baseline;
}

sup {
    top: -0.5em;
}

sub {
    bottom: -0.25em;
}

/* ========================================================================== Lists ========================================================================== */
/** Address margins set differently in IE 6/7. */
dl, menu, ol, ul {
    margin: 0;
}

dd {
    margin: 0 0 0 0px;
}

/** Address paddings set differently in IE 6/7. */
menu, ol, ul {
    padding: 0 0 0 0px;
}

/** Correct list images handled incorrectly in IE 7. */
nav ul, nav ol {
    list-style: none;
    list-style-image: none;
}

/* ========================================================================== Embedded content ========================================================================== */
/** 1. Remove border when inside `a` element in IE 6/7/8/9 and Firefox 3. 2. Improve image quality when scaled in IE 7. */
img {
    border: 0; /* 1 */
    -ms-interpolation-mode: bicubic; /* 2 */
}

/** Correct overflow displayed oddly in IE 9. */
svg:not(:root) {
    overflow: hidden;
}

/* ========================================================================== Figures ========================================================================== */
/** Address margin not present in IE 6/7/8/9, Safari 5, and Opera 11. */
figure {
    margin: 0;
}

/* ========================================================================== Forms ========================================================================== */
/** Correct margin displayed oddly in IE 6/7. */
form {
    margin: 0;
}

/** Define consistent border, margin, and padding. */
fieldset {
    border: 1px solid #c0c0c0;
    margin: 0 2px;
    padding: 0.35em 0.625em 0.75em;
}

/** 1. Correct color not being inherited in IE 6/7/8/9. 2. Correct text not wrapping in Firefox 3. 3. Correct alignment displayed oddly in IE 6/7. */
legend {
    border: 0; /* 1 */
    padding: 0;
    white-space: normal; /* 2 */
    *margin-left: -7px; /* 3 */
}

/** 1. Correct font size not being inherited in all browsers. 2. Address margins set differently in IE 6/7, Firefox 3+, Safari 5, and Chrome. 3. Improve appearance and consistency in all browsers. */
button, input, select, textarea {
    font-size: 100%; /* 1 */
    margin: 0; /* 2 */
    vertical-align: baseline; /* 3 */
    *vertical-align: middle; /* 3 */
}

/** Address Firefox 3+ setting `line-height` on `input` using `!important` in the UA stylesheet. */
button, input {
    line-height: normal;
}

/** Address inconsistent `text-transform` inheritance for `button` and `select`. All other form control elements do not inherit `text-transform` values. Correct `button` style inheritance in Chrome, Safari 5+, and IE 6+. Correct `select` style inheritance in Firefox 4+ and Obutton,
select { text-transform: none;
}

/** 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio` and `video` controls. 2. Correct inability to style clickable `input` types in iOS. 3. Improve usability and consistency of cursor style between image-type `input` and others. 4. Remove inner spacing in IE 7 without affecting normal text inputs. Known issue: inner spacing remains in IE 6. */
button, html input[type="button"], input[type="reset"], input[type="submit"] {
    -webkit-appearance: button; /* 2 */
    cursor: pointer; /* 3 */
    *overflow: visible; /* 4 */
}

/** Re-set default cursor for disabled elements. */
button[disabled], html input[disabled] {
    cursor: default;
}

/** 1. Address box sizing set to content-box in IE 8/9. 2. Remove excess padding in IE 8/9. 3. Remove excess padding in IE 7. Known issue: excess padding remains in IE 6. */
input[type="checkbox"], input[type="radio"] {
    box-sizing: border-box; /* 1 */
    padding: 0; /* 2 */
    *height: 13px; /* 3 */
    *width: 13px; /* 3 */
}

/** 1. Address `appearance` set to `searchfield` in Safari 5 and Chrome. 2. Address `box-sizing` set to `border-box` in Safari 5 and Chrome (include `-moz` to future-proof). */
input[type="search"] {
    -webkit-appearance: textfield; /* 1 */
    -moz-box-sizing: content-box;
    -webkit-box-sizing: content-box; /* 2 */
    box-sizing: content-box;
}

/** Remove inner padding and search cancel button in Safari 5 and Chrome on OS X. */
input[type="search"]::-webkit-search-cancel-button, input[type="search"]::-webkit-search-decoration {
    -webkit-appearance: none;
}

/** Remove inner padding and border in Firefox 3+. */
button::-moz-focus-inner, input::-moz-focus-inner {
    border: 0;
    padding: 0;
}

/** 1. Remove default vertical scrollbar in IE 6/7/8/9. 2. Improve readability and alignment in all browsers. */
textarea {
    overflow: auto; /* 1 */
    vertical-align: top; /* 2 */
}

/* ========================================================================== Tables ========================================================================== */
/** Remove most spacing between table cells. */
table {
    border-collapse: collapse;
    border-spacing: 0;
}

/* HTML5 Boilerplate  What follows is the result of much research on cross-browser styling. Credit left inline and big thanks to Nicolas Gallagher, Jonathan Neal, Kroc Camen, and the H5BP dev community and team. */
/* ========================================================================== Base styles: opinionated defaults ========================================================================== */
html, button, input, select, textarea {
    color: #222;
}

body {
    font-size: 1em;
    line-height: 1.4;
}

/* Remove text-shadow in selection highlight: h5bp.com/i These selection rule sets have to be separate. Customize the background color to match your design. */
/* A better looking default horizontal rule */
hr {
    display: block;
    height: 1px;
    border: 0;
    border-top: 1px solid #ccc;
    margin: 1em 0;
    padding: 0;
}

/* Remove the gap between images and the bottom of their containers: h5bp.com/i/440 */
img { /* vertical-align: middle;*/
}

/* Remove default fieldset styles. */
fieldset {
    border: 0;
    margin: 0;
    padding: 0;
}

/* Allow only vertical resizing of textareas. */
textarea {
    resize: vertical;
}

/* ========================================================================== Chrome Frame prompt ========================================================================== */
.chromeframe {
    margin: 0.2em 0;
    background: #ccc;
    color: #000;
    padding: 0.2em 0;
}

/* ========================================================================== Author's custom styles ========================================================================== */
/* ========================================================================== Helper classes ========================================================================== */
/* Image replacement */
.ir {
    background-color: transparent;
    border: 0;
    overflow: hidden; /* IE 6/7 fallback */
    *text-indent: -9999px;
}

.ir:before {
    content: "";
    display: block;
    width: 0;
    height: 150%;
}

/* Hide from both screenreaders and browsers: h5bp.com/u */
.hidden {
    display: none !important;
    visibility: hidden;
}

/* Hide only visually, but have it available for screenreaders: h5bp.com/v */
.visuallyhidden {
    border: 0;
    clip: rect(0 0 0 0);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    width: 1px;
}

/* Extends the .visuallyhidden class to allow the element to be focusable when navigated to via the keyboard: h5bp.com/p */
.visuallyhidden.focusable:active, .visuallyhidden.focusable:focus {
    clip: auto;
    height: auto;
    margin: 0;
    overflow: visible;
    position: static;
    width: auto;
}

/* Hide visually and from screenreaders, but maintain layout */
.invisible {
    visibility: hidden;
}

/* Clearfix: contain floats  For modern browsers 1. The space content is one way to avoid an Opera bug when the `contenteditable` attribute is included anywhere else in the document. Otherwise it causes space to appear at the top and bottom of elements that receive the `clearfix` class. 2. The use of `table` rather than `block` is only necessary if using `:before` to contain the top-margins of child elements. */
.clearfix:before, .clearfix:after {
    content: " "; /* 1 */
    display: table; /* 2 */
}

.clearfix:after {
    clear: both;
}

/* For IE 6/7 only Include this rule to trigger hasLayout and contain floats. */
.clearfix {
    *zoom: 1;
}

/* ========================================================================== EXAMPLE Media Queries for Responsive Design. These examples override the primary ('mobile first') styles. Modify as content requires. ========================================================================== */
@media only screen and (min-width: 35em) {
    /* Style adjustments for viewports that meet the condition */
}

@media print, (-o-min-device-pixel-ratio: 5 / 4), (-webkit-min-device-pixel-ratio: 1.25), (min-resolution: 120dpi) {
    /* Style adjustments for high resolution devices */
}

/* ========================================================================== Print styles. Inlined to avoid required HTTP connection: h5bp.com/r ========================================================================== */
@media print {
    /*  * { background: transparent !important; color: #000 !important; box-shadow: none !important; text-shadow: none !important; }
a, a:visited { text-decoration: underline; }
a[href]:after { content: " (" attr(href) ")"; }
abbr[title]:after { content: " (" attr(title) ")"; }
/* Don't show links for images, or javascript/internal links */
    /*   .ir a:after, a[href^="javascript:"]:after, a[href^="#"]:after { content: ""; } pre, blockquote { border: 1px solid #999; page-break-inside: avoid; } thead { display: table-header-group; /* h5bp.com/t */
    /*    }  tr, img { page-break-inside: avoid; }  img { max-width: 100% !important; }  @page { margin: 0.5cm; }  p, h2, h3 { orphans: 3; widows: 3; }  h2, h3 { page-break-after: avoid; }*/
}

._sp, ._sp960, ._sp360, ._sp460, ._sp560, ._sp680, ._sp760, ._sp860 {
    display: none !important;
}

.clear {
    clear: both;
    height: 0;
    overflow: hidden;
    line-height: 0px;
    font-size: 0px;
    width: auto;
}

.cf:before, .cf:after {
    content: "";
    display: table;
}

.cf:after {
    clear: both;
}

ul {
    margin: 0px;
    padding: 0px;
}

/*margin*/
.mreset {
    margin: 0 0 0 0;
}

.mt1 {
    margin-top: 1px;
}

.mt2 {
    margin-top: 2px;
}

.mt3 {
    margin-top: 3px;
}

.mt4 {
    margin-top: 4px;
}

.mt5 {
    margin-top: 5px;
}

.mt6 {
    margin-top: 6px;
}

.mt7 {
    margin-top: 7px;
}

.mt8 {
    margin-top: 8px;
}

.mt9 {
    margin-top: 9px;
}

.mt10 {
    margin-top: 10px;
}

.mt15 {
    margin-top: 15px;
}

.mt20 {
    margin-top: 20px;
}

.mt25 {
    margin-top: 25px;
}

.mt30 {
    margin-top: 30px;
}

.mt35 {
    margin-top: 35px;
}

.mt40 {
    margin-top: 40px;
}

.mt45 {
    margin-top: 45px;
}

.mt50 {
    margin-top: 50px;
}

.mt55 {
    margin-top: 55px;
}

.mt60 {
    margin-top: 60px;
}

.mt65 {
    margin-top: 65px;
}

.mt70 {
    margin-top: 70px;
}

.mt75 {
    margin-top: 75px;
}

.mt80 {
    margin-top: 80px;
}

.mt85 {
    margin-top: 85px;
}

.mt90 {
    margin-top: 90px;
}

.mt95 {
    margin-top: 95px;
}

.mt100 {
    margin-top: 100px;
}

.mr1 {
    margin-right: 1px;
}

.mr2 {
    margin-right: 2px;
}

.mr3 {
    margin-right: 3px;
}

.mr4 {
    margin-right: 4px;
}

.mr5 {
    margin-right: 5px;
}

.mr6 {
    margin-right: 6px;
}

.mr7 {
    margin-right: 7px;
}

.mr8 {
    margin-right: 8px;
}

.mr9 {
    margin-right: 9px;
}

.mr10 {
    margin-right: 10px;
}

.mr15 {
    margin-right: 15px;
}

.mr20 {
    margin-right: 20px;
}

.mr25 {
    margin-right: 25px;
}

.mr30 {
    margin-right: 30px;
}

.mr35 {
    margin-right: 35px;
}

.mr40 {
    margin-right: 40px;
}

.mr45 {
    margin-right: 45px;
}

.mr50 {
    margin-right: 50px;
}

.mr55 {
    margin-right: 55px;
}

.mr60 {
    margin-right: 60px;
}

.mr65 {
    margin-right: 65px;
}

.mr70 {
    margin-right: 70px;
}

.mr75 {
    margin-right: 75px;
}

.mr80 {
    margin-right: 80px;
}

.mr85 {
    margin-right: 85px;
}

.mr90 {
    margin-right: 90px;
}

.mr95 {
    margin-right: 95px;
}

.mr100 {
    margin-right: 100px;
}

.mb1 {
    margin-bottom: 1px;
}

.mb2 {
    margin-bottom: 2px;
}

.mb3 {
    margin-bottom: 3px;
}

.mb4 {
    margin-bottom: 4px;
}

.mb5 {
    margin-bottom: 5px;
}

.mb6 {
    margin-bottom: 6px;
}

.mb7 {
    margin-bottom: 7px;
}

.mb8 {
    margin-bottom: 8px;
}

.mb9 {
    margin-bottom: 9px;
}

.mb10 {
    margin-bottom: 10px;
}

.mb15 {
    margin-bottom: 15px;
}

.mb20 {
    margin-bottom: 20px;
}

.mb25 {
    margin-bottom: 25px;
}

.mb30 {
    margin-bottom: 30px;
}

.mb35 {
    margin-bottom: 35px;
}

.mb40 {
    margin-bottom: 40px;
}

.mb45 {
    margin-bottom: 45px;
}

.mb50 {
    margin-bottom: 50px;
}

.mb55 {
    margin-bottom: 55px;
}

.mb60 {
    margin-bottom: 60px;
}

.mb65 {
    margin-bottom: 65px;
}

.mb70 {
    margin-bottom: 70px;
}

.mb75 {
    margin-bottom: 75px;
}

.mb80 {
    margin-bottom: 80px;
}

.mb85 {
    margin-bottom: 85px;
}

.mb90 {
    margin-bottom: 90px;
}

.mb95 {
    margin-bottom: 95px;
}

.mb100 {
    margin-bottom: 100px;
}

.ml1 {
    margin-left: 1px;
}

.ml2 {
    margin-left: 2px;
}

.ml3 {
    margin-left: 3px;
}

.ml4 {
    margin-left: 4px;
}

.ml5 {
    margin-left: 5px;
}

.ml6 {
    margin-left: 6px;
}

.ml7 {
    margin-left: 7px;
}

.ml8 {
    margin-left: 8px;
}

.ml9 {
    margin-left: 9px;
}

.ml5 {
    margin-left: 5px;
}

.ml10 {
    margin-left: 10px;
}

.ml15 {
    margin-left: 15px;
}

.ml20 {
    margin-left: 20px;
}

.ml25 {
    margin-left: 25px;
}

.ml30 {
    margin-left: 30px;
}

.ml35 {
    margin-left: 35px;
}

.ml40 {
    margin-left: 40px;
}

.ml45 {
    margin-left: 45px;
}

.ml50 {
    margin-left: 50px;
}

.ml55 {
    margin-left: 55px;
}

.ml60 {
    margin-left: 60px;
}

.ml65 {
    margin-left: 65px;
}

.ml70 {
    margin-left: 70px;
}

.ml75 {
    margin-left: 75px;
}

.ml80 {
    margin-left: 80px;
}

.ml85 {
    margin-left: 85px;
}

.ml90 {
    margin-left: 90px;
}

.ml95 {
    margin-left: 95px;
}

.ml100 {
    margin-left: 100px;
}

/*padding*/
.pt1 {
    padding-top: 1px;
}

.pt2 {
    padding-top: 2px;
}

.pt3 {
    padding-top: 3px;
}

.pt4 {
    padding-top: 4px;
}

.pt5 {
    padding-top: 5px;
}

.pt6 {
    padding-top: 6px;
}

.pt7 {
    padding-top: 7px;
}

.pt8 {
    padding-top: 8px;
}

.pt9 {
    padding-top: 9px;
}

.pt10 {
    padding-top: 10px;
}

.pt15 {
    padding-top: 15px;
}

.pt20 {
    padding-top: 20px;
}

.pt25 {
    padding-top: 25px;
}

.pt30 {
    padding-top: 30px;
}

.pt35 {
    padding-top: 35px;
}

.pt40 {
    padding-top: 40px;
}

.pt45 {
    padding-top: 45px;
}

.pt50 {
    padding-top: 50px;
}

.pt55 {
    padding-top: 55px;
}

.pt60 {
    padding-top: 60px;
}

.pt65 {
    padding-top: 65px;
}

.pt70 {
    padding-top: 70px;
}

.pt75 {
    padding-top: 75px;
}

.pt80 {
    margin-top: 80px;
}

.pt85 {
    padding-top: 85px;
}

.pt90 {
    padding-top: 90px;
}

.pt95 {
    padding-top: 95px;
}

.pt100 {
    padding-top: 100px;
}

.pt230 {
    padding-top: 230px;
}

.pt420 {
    padding-top: 420px;
}

.pr1 {
    padding-right: 1px;
}

.pr2 {
    padding-right: 2px;
}

.pr3 {
    padding-right: 3px;
}

.pr4 {
    padding-right: 4px;
}

.pr5 {
    padding-right: 5px;
}

.pr6 {
    padding-right: 6px;
}

.pr7 {
    padding-right: 7px;
}

.pr8 {
    padding-right: 8px;
}

.pr9 {
    padding-right: 9px;
}

.pr10 {
    padding-right: 10px;
}

.pr12 {
    padding-right: 12px;
}

.pr15 {
    padding-right: 15px;
}

.pr20 {
    padding-right: 20px;
}

.pr25 {
    padding-right: 25px;
}

.pr27 {
    padding-right: 27px;
}

.pr30 {
    padding-right: 30px;
}

.pr35 {
    padding-right: 35px;
}

.pr40 {
    padding-right: 40px;
}

.pr45 {
    padding-right: 45px;
}

.pr50 {
    padding-right: 50px;
}

.pr55 {
    padding-right: 55px;
}

.pr60 {
    padding-right: 60px;
}

.pr65 {
    padding-right: 65px;
}

.pr70 {
    padding-right: 70px;
}

.pr75 {
    padding-right: 75px;
}

.pr80 {
    padding-right: 80px;
}

.pr85 {
    padding-right: 85px;
}

.pr90 {
    padding-right: 90px;
}

.pr95 {
    padding-right: 95px;
}

.pr100 {
    padding-right: 100px;
}

.pb1 {
    padding-bottom: 1px;
}

.pb2 {
    padding-bottom: 2px;
}

.pb3 {
    padding-bottom: 3px;
}

.pb4 {
    padding-bottom: 4px;
}

.pb5 {
    padding-bottom: 5px;
}

.pb6 {
    padding-bottom: 6px;
}

.pb7 {
    padding-bottom: 7px;
}

.pb8 {
    padding-bottom: 8px;
}

.pb9 {
    padding-bottom: 9px;
}

.pb10 {
    padding-bottom: 10px;
}

.pb15 {
    padding-bottom: 15px;
}

.pb20 {
    padding-bottom: 20px;
}

.pb25 {
    padding-bottom: 25px;
}

.pb30 {
    padding-bottom: 30px;
}

.pb35 {
    padding-bottom: 35px;
}

.pb40 {
    padding-bottom: 40px;
}

.pb45 {
    padding-bottom: 45px;
}

.pb50 {
    padding-bottom: 50px;
}

.pb55 {
    padding-bottom: 55px;
}

.pb60 {
    padding-bottom: 60px;
}

.pb65 {
    padding-bottom: 65px;
}

.pb70 {
    padding-bottom: 70px;
}

.pb75 {
    padding-bottom: 75px;
}

.pb80 {
    padding-bottom: 80px;
}

.pb85 {
    padding-bottom: 85px;
}

.pb90 {
    padding-bottom: 90px;
}

.pb95 {
    padding-bottom: 95px;
}

.pb100 {
    padding-bottom: 100px;
}

.pb150 {
    padding-bottom: 150px;
}

.pb200 {
    padding-bottom: 200px;
}

.pb230 {
    padding-bottom: 230px;
}

.pl1 {
    padding-left: 1px;
}

.pl2 {
    padding-left: 2px;
}

.pl3 {
    padding-left: 3px;
}

.pl4 {
    padding-left: 4px;
}

.pl5 {
    padding-left: 5px;
}

.pl6 {
    padding-left: 6px;
}

.pl7 {
    padding-left: 7px;
}

.pl8 {
    padding-left: 8px;
}

.pl9 {
    padding-left: 9px;
}

.pl10 {
    padding-left: 10px;
}

.pl15 {
    padding-left: 15px;
}

.pl20 {
    padding-left: 20px;
}

.pl25 {
    padding-left: 25px;
}

.pl30 {
    padding-left: 30px;
}

.pl35 {
    padding-left: 35px;
}

.pl40 {
    padding-left: 40px;
}

.pl45 {
    padding-left: 45px;
}

.pl50 {
    padding-left: 50px;
}

.pl55 {
    padding-left: 55px;
}

.pl60 {
    padding-left: 60px;
}

.pl65 {
    padding-left: 65px;
}

.pl70 {
    padding-left: 70px;
}

.pl75 {
    padding-left: 75px;
}

.pl80 {
    padding-left: 80px;
}

.pl85 {
    padding-left: 85px;
}

.pl90 {
    padding-left: 90px;
}

.pl95 {
    padding-left: 95px;
}

.pl100 {
    padding-left: 100px;
}

.pl150 {
    padding-left: 150px;
}

.fleft {
    float: left;
}

.fright {
    float: right;
}

.cf:before, .cf:after {
    content: "";
    display: table;
}

.cf:after {
    clear: both;
}

.tleft {
    text-align: left;
}

.tright {
    text-align: right;
}

.center {
    text-align: center;
}

.relative {
    position: relative;
}

.absolute {
    position: absolute;
}

.em1 {
    padding: 0 0 0 1.1em;
}

.em2 {
    padding: 0 0 0 2.2em;
}

span.supT {
    font-size: 10px;
    vertical-align: top;
    position: relative;
    top: -5px;
    font-feature-settings: "pwid";
    letter-spacing: 0px;
}

img {
    -ms-interpolation-mode: bicubic;
}

li {
    list-style-type: none;
}

* {
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}

.t-left {
    text-align: left;
}

.t-center {
    text-align: center;
}

.t-right {
    text-align: right;
}

.f-left {
    float: left;
}

.f-right {
    float: right;
}

ul, ul li {
    margin: 0;
    padding: 0;
}

.ancb {
    position: relative;
}

.ancb a {
    position: absolute;
    left: 0;
    top: -60px;
}

p.note {
    font-size: 12px;
    line-height: 1.7em;
    font-family: "游ゴシック", "YuGothic", "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", "Hiragino Kaku Gothic ProN", Meiryo, "ＭＳ ゴシック", sans-serif;
}

p.note2 {
    font-size: 12px;
    line-height: 1.7em;
    font-family: "游ゴシック", "YuGothic", "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", "Hiragino Kaku Gothic ProN", Meiryo, "ＭＳ ゴシック", sans-serif;
    color: white;
    margin-bottom: 35px;
    padding-left: 25px;
    padding-right: 25px;
}

p.note.abs {
    position: absolute;
    right: 5px;
    bottom: 5px;
}

p.note.absl {
    position: absolute;
    left: 5px;
    bottom: 5px;
}

p.note.colw {
    color: #000;
}

p.note.colw.shdw {
    text-shadow: 1px 1px 1px black, -1px -1px 1px black, 1px -1px 1px black, -1px 1px 1px black, 0px 0px 3px black;
    -moz-text-shadow: 1px 1px 1px black, -1px -1px 1px black, 1px -1px 1px black, -1px 1px 1px black, 0px 0px 3px black;
    -webkit-text-shadow: 1px 1px 1px black, -1px -1px 1px black, 1px -1px 1px black, -1px 1px 1px black, 0px 0px 3px black;
}

p.note.shdw {
    text-shadow: 1px 1px 1px black, -1px -1px 1px black, 1px -1px 1px black, -1px 1px 1px black, 0px 0px 3px black;
    -moz-text-shadow: 1px 1px 1px black, -1px -1px 1px black, 1px -1px 1px black, -1px 1px 1px black, 0px 0px 3px black;
    -webkit-text-shadow: 1px 1px 1px black, -1px -1px 1px black, 1px -1px 1px black, -1px 1px 1px black, 0px 0px 3px black;
}

p.note.right {
    text-align: right;
}

p.note.center {
    text-align: center;
}

figure span.note, .fig span.note, .fig1 span.note, .fig2 span.note, .fig3 span.note, .fig4 span.note, .fig5 span.note, .fig6 span.note, .fig7 span.note, .fig8 span.note, .fig9 span.note {
    position: absolute;
    right: 5px;
    bottom: 5px;
    text-shadow: 0 0 2px rgba(0, 0, 0, 0.9);
}

span.note.colw {
    color: #000;
}

figure, .fig {
    width: 100%;
    margin-left: auto;
    margin-right: auto;
    position: relative;
}

.fig1 {
    width: 100%;
    max-width: 1000px;
    margin-left: auto;
    margin-right: auto;
    position: relative;
}

.fig2 {
    width: 100%;
    max-width: 240px;
    margin-left: auto;
    margin-right: auto;
    position: relative;
}

.fig3 {
    width: 100%;
    max-width: 360px;
    margin-left: auto;
    margin-right: auto;
    position: relative;
}

.fig3.left {
    margin-left: unset;
}

.fig4 {
    width: 100%;
    max-width: 460px;
    margin-left: auto;
    margin-right: auto;
    position: relative;
}

.fig5 {
    width: 100%;
    max-width: 500px;
    margin-left: auto;
    margin-right: auto;
    position: relative;
}

.fig6 {
    width: 100%;
    max-width: 640px;
    margin-left: auto;
    margin-right: auto;
    position: relative;
}

.fig7 {
    width: 100%;
    max-width: 700px;
    margin-left: auto;
    margin-right: auto;
    position: relative;
}

.fig8 {
    width: 100%;
    max-width: 860px;
    margin-left: auto;
    margin-right: auto;
    position: relative;
}

.fig9 {
    width: 100%;
    max-width: 960px;
    margin-left: auto;
    margin-right: auto;
    position: relative;
}

figure img, .fig img, .fig1 img, .fig2 img, .fig3 img, .fig4 img, .fig5 img, .fig6 img, .fig7 img, .fig8 img, .fig9 img {
    width: 100%;
}

.cttbl {
    width: 50%;
    position: relative;
    box-sizing: border-box;
    float: left;
}

.cttbr {
    width: 50%;
    position: relative;
    box-sizing: border-box;
    float: right;
}

.cttbl.w28, .cttbr.w28 {
    width: 28%;
}

.cttbl.w30, .cttbr.w30 {
    width: 30%;
}

.cttbl.w32, .cttbr.w32 {
    width: 32%;
}

.cttbl.w33, .cttbr.w33 {
    width: 33.33%;
}

.cttbl.w40, .cttbr.w40 {
    width: 40%;
}

.cttbl.w48, .cttbr.w48 {
    width: 48%;
}

.cttbl.w49, .cttbr.w49 {
    width: 49%;
}

.cttbl.w51, .cttbr.w51 {
    width: 51%;
}

.cttbl.w52, .cttbr.w52 {
    width: 52%;
}

.cttbl.w58, .cttbr.w58 {
    width: 58%;
}

.cttbl.w60, .cttbr.w60 {
    width: 60%;
}

.cttbl.w66, .cttbr.w66 {
    width: 66.66%;
}

.cttbl.w70, .cttbr.w70 {
    width: 70%;
}

.cttbl.w96, .cttbr.w96 {
    width: 96%;
}

.cttbl.w285, .cttbr.w285 {
    width: 285px;
}

.secin p.lead {
    font-size: 20px;
    line-height: 34px;
    margin-bottom: 20px;
}

@media screen and (max-width: 584px) {
    .secin p.lead {
        font-size: 4vw;
        line-height: 1.8em;
    }
}

.secin p.lead span.col1 {
    color: #B28247;
}

.secin p.lead2 {
    font-size: 14px;
    line-height: 22px;
}

@media screen and (max-width: 584px) {
    .secin p.lead2 {
        font-size: 3.5vw;
        line-height: 1.8em;
    }
}

.secin p.lead2.center, .secin p.lead.center {
    text-align: center;
}

.secin p.lead2.left, .secin p.lead.left {
    text-align: left;
}

.secin p.lead2.right, .secin p.lead.right {
    text-align: right;
}

@media screen and (max-width: 584px) {
    .cttbl, .cttbr {
        width: 100%;
        float: none;
    }

    .cttbl.w60, .cttbr.w60 {
        width: 100%;
        float: none;
    }

    .cttbl.w51, .cttbr.w51 {
        width: 100%;
        float: none;
    }

    .cttbl.w58, .cttbr.w58 {
        width: 100%;
        float: none;
    }

    .cttbl.w96, .cttbr.w96 {
        width: 100%;
        float: none;
    }

    .cttbl.w52, .cttbr.w52 {
        width: 100%;
        float: none;
    }

    .cttbl.w33, .cttbr.w33 {
        width: 100%;
        float: none;
    }

    .cttbl.w66, .cttbr.w66 {
        width: 100%;
        float: none;
    }

    .cttbl.w48, .cttbr.w48 {
        width: 100%;
        float: none;
    }

    .cttbl.w49, .cttbr.w49 {
        width: 100%;
        float: none;
    }

    .cttbl.w40, .cttbr.w40 {
        width: 100%;
        float: none;
    }

    .cttbl.w30, .cttbr.w30 {
        width: 100%;
        float: none;
    }

    .cttbl.w70, .cttbr.w70 {
        width: 100%;
        float: none;
    }

    .cttbl.w285, .cttbr.w285 {
        width: 100%;
        float: none;
    }

    .cttbl.w32, .cttbr.w32 {
        width: 100%;
        float: none;
    }

    .cttbl.w66, .cttbr.w66 {
        width: 100%;
        float: none;
    }
}

.thimi, .thimi2, .thimi4, .thimi3 {
    opacity: 0;
    transform: scale(1.1) translate(0, 100px) skew(0deg, -5deg);
}

.thimi.ani1 {
    opacity: 1;
    -webkit-transition: all 0.8s 0.25s cubic-bezier(0.22, 0.61, 0.36, 1);
    transition: all 0.8s 0.25s cubic-bezier(0.22, 0.61, 0.36, 1);
    transform: scale(1) translate(0, 0) skew(0deg, 0deg);
}

.thimi2.ani1 {
    opacity: 1;
    -webkit-transition: all 0.8s 0.3s cubic-bezier(0.22, 0.61, 0.36, 1);
    transition: all 0.8s 0.3s cubic-bezier(0.22, 0.61, 0.36, 1);
    transform: scale(1) translate(0, 0) skew(0deg, 0deg);
}

.thimi3.ani1 {
    opacity: 1;
    -webkit-transition: all 0.8s 0.35s cubic-bezier(0.22, 0.61, 0.36, 1);
    transition: all 0.8s 0.35s cubic-bezier(0.22, 0.61, 0.36, 1);
    transform: scale(1) translate(0, 0) skew(0deg, 0deg);
}

.thimi4.ani1 {
    opacity: 1;
    -webkit-transition: all 0.8s 0.4s cubic-bezier(0.22, 0.61, 0.36, 1);
    transition: all 0.8s 0.4s cubic-bezier(0.22, 0.61, 0.36, 1);
    transform: scale(1) translate(0, 0) skew(0deg, 0deg);
}

.thim.ani1.ani1fin, .thim2.ani1.ani1fin, .thim4.ani1.ani1fin, .thim3.ani1.ani1fin {
    opacity: 1;
    -webkit-transition: all 0s 0s cubic-bezier(0.22, 0.61, 0.36, 1);
    transition: all 0s 0s cubic-bezier(0.22, 0.61, 0.36, 1);
}

.thim, .thim2, .thim4, .thim3 {
    opacity: 0;
    -webkit-transform: translateY(5%);
    -moz-transform: translateY(5%);
    -ms-transform: translateY(5%);
    transform: translateY(5%);
}

.thim.thimu, .thim2.thimu, .thim4.thimu, .thim3.thimu {
    opacity: 0;
    -webkit-transform: translateY(-5%);
    -moz-transform: translateY(-5%);
    -ms-transform: translateY(-5%);
    transform: translateY(-5%);
}

.thim.ani1 {
    opacity: 1;
    -webkit-transition: all 0.8s 0.25s cubic-bezier(0.22, 0.61, 0.36, 1);
    transition: all 0.8s 0.25s cubic-bezier(0.22, 0.61, 0.36, 1);
    -webkit-transform: translateY(0%);
    -moz-transform: translateY(0%);
    -ms-transform: translateY(0%);
    transform: translateY(0%);
}

.thim2.ani1 {
    opacity: 1;
    -webkit-transition: all 0.8s 0.3s cubic-bezier(0.22, 0.61, 0.36, 1);
    transition: all 0.8s 0.3s cubic-bezier(0.22, 0.61, 0.36, 1);
    -webkit-transform: translateY(0%);
    -moz-transform: translateY(0%);
    -ms-transform: translateY(0%);
    transform: translateY(0%);
}

.thim3.ani1 {
    opacity: 1;
    -webkit-transition: all 0.8s 0.35s cubic-bezier(0.22, 0.61, 0.36, 1);
    transition: all 0.8s 0.35s cubic-bezier(0.22, 0.61, 0.36, 1);
    -webkit-transform: translateY(0%);
    -moz-transform: translateY(0%);
    -ms-transform: translateY(0%);
    transform: translateY(0%);
}

.thim4.ani1 {
    opacity: 1;
    -webkit-transition: all 0.8s 0.4s cubic-bezier(0.22, 0.61, 0.36, 1);
    transition: all 0.8s 0.4s cubic-bezier(0.22, 0.61, 0.36, 1);
    -webkit-transform: translateX(0%);
    -moz-transform: translateX(0%);
    -ms-transform: translateX(0%);
    transform: translateX(0%);
}

.thim.ani1.ani1fin, .thim2.ani1.ani1fin, .thim4.ani1.ani1fin, .thim3.ani1.ani1fin {
    opacity: 1;
    -webkit-transition: all 0s 0s cubic-bezier(0.22, 0.61, 0.36, 1);
    transition: all 0s 0s cubic-bezier(0.22, 0.61, 0.36, 1);
}

.sup {
    font-size: 10px !important;
    font-weight: 400;
    vertical-align: super;
    display: inline-block;
}

@media screen and (max-width: 768px) {
    ._sp760 {
        display: block !important;
    }

    ._pc760 {
        display: none !important;
    }
}

@media screen and (max-width: 640px) {
    ._sp640 {
        display: block;
    }

    ._pc640 {
        display: none;
    }
}

@media screen and (max-width: 584px) {
    .mb100 {
        margin-bottom: 50px;
    }

    ._sp, ._sp560 {
        display: block !important;
    }

    ._pc, ._pc560 {
        display: none !important;
    }
}

@media screen and (max-width: 468px) {
    ._sp460 {
        display: block !important;
    }

    ._pc460 {
        display: none !important;
    }
}

@media screen and (max-width: 390px) {
    ._sp360 {
        display: block !important;
    }

    ._pc360 {
        display: none !important;
    }
}

body {
    color: #000;
    font-family: 'Noto Sans JP', sans-serif;
    font-weight: 400;
    font-style: normal;
    font-size: 16px;
    line-height: 2em;
    background-color: #fff;
}

a {
    color: #fff;
    text-decoration: none;
    outline: none;
}

a:hover {
    text-decoration: none;
}

p {
    font-size: 14px;
    line-height: 1.8em;
    margin: 0px;
    font-feature-settings: "palt";
}

.sfs p {
    font-size: 12px;
}

.sfl p {
    font-size: 16px;
}

@media screen and (max-width: 584px) {
    p {
        font-size: 12px;
    }

    .sfs p {
        font-size: 10px;
    }

    .sfl p {
        font-size: 14px;
    }
}

h1, h2, h3, h4, h5, h6 {
    letter-spacing: 3px;
    font-weight: normal;
}

@media screen and (max-width: 584px) {
    header, #w0, body {
        min-width: 100px;
    }
}

#w0 {
    opacity: 0;
    min-width: 1200px;
}

@media screen and (max-width: 584px) {
    #w0 {
        min-width: 120px;
    }
}

.mobile #w0 {
    min-width: 100%;
}

#w0.show1 {
    opacity: 1;
}

@media screen and (max-width: 584px) {
    #w0 {
        padding-bottom: 0px;
    }
}

.load {
    width: 100%;
    height: 50px;
    position: absolute;
    left: 0%;
    top: 35%;
    z-index: 1000;
}

.s1_0 .load {
    display: none;
}

@-webkit-keyframes load8 {
    0% {
        -webkit-transform: rotate(0deg);
        transform: rotate(0deg);
    }
    100% {
        -webkit-transform: rotate(360deg);
        transform: rotate(360deg);
    }
}

@keyframes load8 {
    0% {
        -webkit-transform: rotate(0deg);
        transform: rotate(0deg);
    }
    100% {
        -webkit-transform: rotate(360deg);
        transform: rotate(360deg);
    }
}

.spmenutit {
    width: 44px;
    height: 28px;
    color: #000000;
    color: #fff;
    position: fixed;
    right: 40px;
    top: 40px;
    font-size: 12px;
    -webkit-transition: 1s;
    -moz-transition: 1s;
    -o-transition: 1s;
    transition: 1s;
    z-index: 20;
}

@media screen and (max-width: 584px) {
    .spmenutit {
        right: 20px;
        top: 20px;
    }
}

.spmenutit > div {
    display: block;
    width: 44px;
    height: 28px;
    left: 0;
    top: 0;
    box-sizing: border-box;
    position: absolute;
}

.spmenutit > div span {
    position: absolute;
    width: 100%;
    height: 4px;
    background-color: #000;
    left: 0px;
    transform-origin: 0 50%;
    transition: transform 0.2s linear;
}

.spmenutit > div p {
    color: #fff;
    line-height: 12px;
    font-size: 10px;
    text-align: center;
}

.spmenutit > div span:nth-of-type(1) {
    top: 0px;
}

.spmenutit > div span:nth-of-type(2) {
    top: 11px;
}

.spmenutit > div span:nth-of-type(3) {
    top: 22px;
}

@media screen and (max-width: 584px) {
    .spmenutit {
        display: block;
        z-index: 777;
    }
}

header {
    width: 100%;
    position: fixed;
    left: 0;
    top: 0;
    z-index: 27;
}

header .hbg1 {
    display: none;
}

header nav.contentmenu {
    position: absolute;
    width: 100%;
    height: 100%;
    left: 0;
    top: 0;
    z-index: 3;
    opacity: 1;
    display: flex;
    justify-content: center;
    align-items: center;
    -webkit-flex-wrap: wrap;
    -moz-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    visibility: hidden;
    pointer-events: none;
}

@media screen and (max-width: 584px) {
    header nav.contentmenu {
        display: block;
    }
}

header nav.contentmenu .content {
    width: 100%;
    max-width: 800px;
    position: relative;
    z-index: 7;
    opacity: 0;
    -webkit-transition: 0.3s;
    -moz-transition: 0.3s;
    -o-transition: 0.3s;
    transition: 0.3s;
}

@media screen and (max-width: 584px) {
    header nav.contentmenu .content {
        padding: 6vw;
        padding-top: 70px;
        padding-bottom: 100px;
    }
}

header nav.contentmenu .nbg {
    position: fixed;
    width: 100%;
    height: 100%;
    left: 0;
    top: 0;
    z-index: 3;
    overflow: hidden;
    background-color: #D7D6CE;
    opacity: 0;
    -webkit-transform-origin: top;
    transform-origin: top;
    -webkit-transition: .6s;
    transition: .6s;
    -webkit-transition-timing-function: cubic-bezier(0.46, 0.1, 0.29, 1);
    transition-timing-function: cubic-bezier(0.46, 0.1, 0.29, 1);
    -webkit-transform: scale(1, 0);
    transform: scale(1, 0);
}

header nav.contentmenu .nbg ul {
    position: absolute;
    width: 100%;
    height: 100%;
    left: 0;
    top: 0;
}

header nav.contentmenu .nbg ul li {
    position: absolute;
    width: 100%;
    height: 100%;
    left: 0;
    top: 0;
    opacity: 0.5;
    background-size: cover;
    background-position: center center;
    -webkit-transition: 0.3s;
    -moz-transition: 0.3s;
    -o-transition: 0.3s;
    transition: 0.3s;
    opacity: 0;
}

header nav.contentmenu .nbg ul li.index {
    background-image: url("../images/residence/img_01.jpg");
}

header nav.contentmenu .nbg ul li.brand {
    background-image: url("../images/brand/main_01.jpg");
}

header nav.contentmenu .nbg ul li.position {
    background-image: url("../images/position/main_01.jpg");
}

header nav.contentmenu .nbg ul li.location {
    background-image: url("../images/location/main_01.jpg");
}

header nav.contentmenu .nbg ul li.residence {
    background-image: url("../images/residence/main_01.jpg");
}

header nav.contentmenu .nbg ul li.access {
    background-image: url("../images/access/main_01.jpg");
}

header nav.contentmenu .nbg ul li.plan {
    background-image: url("../images/plan/main_01.jpg");
}
header nav.contentmenu .nbg ul li.quality {
    background-image: url("../images/quality/main_01.jpg");
}
@media screen and (max-width: 584px) {
    header nav.contentmenu .nbg ul li {
        display: none;
        background-image: none !important;
    }
}

header nav.contentmenu .nbg.brand ul li.brand, header nav.contentmenu .nbg.position ul li.position, header nav.contentmenu .nbg.location ul li.location, header nav.contentmenu .nbg.residence ul li.residence, header nav.contentmenu .nbg.access ul li.access,header nav.contentmenu .nbg.quality ul li.quality, header nav.contentmenu .nbg.plan ul li.plan, header nav.contentmenu .nbg.index ul li.index {
    opacity: 0.5;
}

header nav.contentmenu ul.gmenu3 {
    display: flex;
    justify-content: space-between;
    align-items: center;
    -webkit-flex-wrap: wrap;
    -moz-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    position: relative;
    width: 100%;
    z-index: 5;
}

header nav.contentmenu ul.gmenu3 li {
    position: relative;
    width: 49%;
    height: 80px;
    margin-bottom: 10px;
    -webkit-transition: 0.3s;
    -moz-transition: 0.3s;
    -o-transition: 0.3s;
    transition: 0.3s;
    box-sizing: border-box;
    background-color: #A28B5E;
    border-radius: 100vh;
    color: #fff;
    letter-spacing: 0.1em;
}

@media screen and (max-width: 584px) {
    header nav.contentmenu ul.gmenu3 li {
        width: 100%;
        height: 60px;
        margin-bottom: 5px;
    }
}

header nav.contentmenu ul.gmenu3 li.webinar2 {
    background-color: #317a8a;
}

header nav.contentmenu ul.gmenu3 li.webinar {
    background-color: #4a629c;
}

header nav.contentmenu ul.gmenu3 li a {
    display: block;
    width: 100%;
    height: 100%;
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 15px;
    padding: 6px;
    box-sizing: border-box;
    color: #fff;
}

header nav.contentmenu ul.gmenu3 li a p {
    text-align: center;
    font-size: 16px;
    line-height: 1em;
}

header nav.contentmenu ul.gmenu3 li:hover {
    background-color: #E9592A;
}

header nav.contentmenu ul.gmenu3 li:hover.webinar {
    background-color: #fff;
}

header nav.contentmenu ul.gmenu3 li:hover.webinar a {
    color: #800073;
}

header nav.contentmenu ul.gmenu3 li:hover.webinar2 {
    background-color: #fff;
}

header nav.contentmenu ul.gmenu3 li:hover.webinar2 a {
    color: #800073;
}

header nav.contentmenu ul.gmenu2 {
    display: flex;
    justify-content: space-between;
    align-items: center;
    -webkit-flex-wrap: wrap;
    -moz-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    position: relative;
    width: 100%;
    z-index: 5;
    margin-bottom: 10px;
}

header nav.contentmenu ul.gmenu2 li {
    position: relative;
    width: 49%;
    height: 60px;
    margin-bottom: 10px;
    background-color: #9f9e96;
    -webkit-transition: 0.3s;
    -moz-transition: 0.3s;
    -o-transition: 0.3s;
    transition: 0.3s;
    box-sizing: border-box;
}

@media screen and (max-width: 584px) {
    header nav.contentmenu ul.gmenu2 li {
        width: 100%;
        height: 40px;
        margin-bottom: 5px;
    }
}

header nav.contentmenu ul.gmenu2 li:hover {
    background-color: #E9592A;
}

header nav.contentmenu ul.gmenu2 li a {
    display: block;
    width: 100%;
    height: 100%;
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 13px;
    padding: 6px;
    box-sizing: border-box;
    color: #fff;
}

header nav.contentmenu ul.gmenu2 li a::before {
    content: "";
    position: absolute;
    right: 20px;
    top: 50%;
    z-index: 1;
    width: 8px;
    height: 8px;
    margin: auto;
    border-top: #fff solid 2px;
    border-right: #fff solid 2px;
    -webkit-transform: rotate(45deg translateY(-50%));
    transform: rotate(45deg) translateY(-50%);
}

header nav.contentmenu ul.gmenu2 li a p {
    width: 100%;
    position: absolute;
    left: 50%;
    top: 50%;
    -webkit-transform: translateX(-50%) translateY(-50%);
    -moz-transform: translateX(-50%) translateY(-50%);
    -ms-transform: translateX(-50%) translateY(-50%);
    transform: translateX(-50%) translateY(-50%);
    z-index: 2;
    padding-left: 20px;
    -webkit-transition: 0.3s;
    -moz-transition: 0.3s;
    -o-transition: 0.3s;
    transition: 0.3s;
}

header nav.contentmenu ul.gmenu {
    display: flex;
    justify-content: space-between;
    align-items: center;
    -webkit-flex-wrap: wrap;
    -moz-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    position: relative;
    width: 100%;
    z-index: 5;
    margin-bottom: 10px;
}

header nav.contentmenu ul.gmenu li {
    position: relative;
    width: 49%;
    height: 60px;
    margin-bottom: 10px;
    background-color: #000;
    -webkit-transition: 0.3s;
    -moz-transition: 0.3s;
    -o-transition: 0.3s;
    transition: 0.3s;
    box-sizing: border-box;
}

@media screen and (max-width: 584px) {
    header nav.contentmenu ul.gmenu li {
        width: 100%;
        height: 40px;
        margin-bottom: 5px;
    }
}

header nav.contentmenu ul.gmenu li:hover {
    background-color: #E9592A;
}

header nav.contentmenu ul.gmenu li a {
    display: block;
    width: 100%;
    height: 100%;
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 13px;
    padding: 6px;
    box-sizing: border-box;
    color: #fff;
}

header nav.contentmenu ul.gmenu li a::before {
    content: "";
    position: absolute;
    right: 20px;
    top: 50%;
    z-index: 1;
    width: 8px;
    height: 8px;
    margin: auto;
    border-top: #fff solid 2px;
    border-right: #fff solid 2px;
    -webkit-transform: rotate(45deg translateY(-50%));
    transform: rotate(45deg) translateY(-50%);
}

header nav.contentmenu ul.gmenu li a p {
    overflow: hidden;
    width: 100%;
    position: absolute;
    left: 50%;
    top: 50%;
    -webkit-transform: translateX(-50%) translateY(-50%);
    -moz-transform: translateX(-50%) translateY(-50%);
    -ms-transform: translateX(-50%) translateY(-50%);
    transform: translateX(-50%) translateY(-50%);
    z-index: 2;
    padding-left: 20px;
    -webkit-transition: 0.3s;
    -moz-transition: 0.3s;
    -o-transition: 0.3s;
    transition: 0.3s;
}

header nav.contentmenu ul.gmenu li a p span {
    display: inline-block;
    -webkit-transition: 0.3s;
    -moz-transition: 0.3s;
    -o-transition: 0.3s;
    transition: 0.3s;
}

header nav.contentmenu ul.gmenu li a p.jp span {
    transform: translate(0%, 10px) scaleY(0.5);
    opacity: 0;
}

header nav.contentmenu ul.gmenu li:hover a p.en span {
    transform: translate(0%, 10px) scaleY(0.5);
    opacity: 0;
}

header nav.contentmenu ul.gmenu li:hover a p.jp span {
    transform: translate(0%, 0px) scaleY(1);
    opacity: 1;
}

header nav.contentmenu ul.gmenu li.req {
    background-color: #D9D7CE;
}

header nav.contentmenu ul.gmenu li.req a {
    color: #000;
}

@media screen and (max-width: 584px) {
    header {
        height: auto;
        width: 100%;
        position: fixed;
        left: 0;
        top: 0;
        z-index: 17;
        -webkit-transition: 0.3s;
        -moz-transition: 0.3s;
        -o-transition: 0.3s;
        transition: 0.3s;
        height: 70px;
    }
}

header .header {
    width: 100%;
    position: absolute;
}

header h1 {
    margin: 0;
    padding: 0;
    position: absolute;
    left: 20px;
    top: 20px;
    z-index: 17;
    width: 150px;
    -webkit-transition: 1s;
    -moz-transition: 1s;
    -o-transition: 1s;
    transition: 1s;
}

@media screen and (max-width: 584px) {
    header h1 {
        left: 4vw;
        top: 10px;
        width: 110px;
    }
}

header h1 img {
    display: block;
    vertical-align: bottom;
    width: 100%;
}

header h1 a {
    display: block;
    width: 100%;
    height: 100%;
    position: relative;
}

header navz {
    display: block;
    width: 33%;
    position: fixed;
    left: 6%;
    top: 50%;
    opacity: 0;
    -webkit-transform: translateY(10%);
    -moz-transform: translateY(10%);
    -ms-transform: translateY(10%);
    transform: translateY(10%);
    pointer-events: none;
    -webkit-transition: 1s;
    -moz-transition: 1s;
    -o-transition: 1s;
    transition: 1s;
}

@media screen and (max-width: 584px) {
    header navz {
        -moz-transition: 0.6s cubic-bezier(0.52, 0.08, 0.18, 1);
        -o-transition: 0.6s cubic-bezier(0.52, 0.08, 0.18, 1);
        -webkit-transition: 0.6s cubic-bezier(0.52, 0.08, 0.18, 1);
        transition: 0.6s cubic-bezier(0.52, 0.08, 0.18, 1);
        width: 100%;
        left: 0%;
        top: 70px;
        height: calc(100vh - 70px);
        -webkit-transform: translateX(0) translateY(0);
        -moz-transform: translateX(0) translateY(0);
        -ms-transform: translateX(0) translateY(0);
        transform: translateX(0) translateY(0);
        pointer-events: none;
        background-color: #E95A2A;
        padding: 20px;
        z-index: 7777;
        opacity: 0;
    }
}

header navz ul {
    display: flex;
    justify-content: space-between;
    align-items: center;
    -webkit-flex-wrap: wrap;
    -moz-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
}

header navz ul li {
    position: relative;
    width: 48%;
    height: 60px;
    margin-bottom: 10px;
    background-color: #000;
    -webkit-transition: 0.3s;
    -moz-transition: 0.3s;
    -o-transition: 0.3s;
    transition: 0.3s;
}

@media screen and (max-width: 584px) {
    header navz ul li {
        width: 100%;
        margin-bottom: 5px;
    }
}

header navz ul li:hover {
    opacity: 0.7;
}

header navz ul li a {
    display: block;
    width: 100%;
    height: 100%;
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 16px;
    padding: 8px;
    box-sizing: border-box;
    color: #fff;
}

@media screen and (max-width: 584px) {
    header navz ul li.req {
        display: none;
    }
}

@media screen and (max-width: 1300px) {
    header navz ul li.req {
        width: 100px;
    }
}

header navz ul li.req a {
    color: #fff;
}

header navx {
    display: block;
    width: 70%;
    position: fixed;
    right: 10px;
    top: 20px;
    -webkit-transition: 1s;
    -moz-transition: 1s;
    -o-transition: 1s;
    transition: 1s;
}

@media screen and (max-width: 584px) {
    header navx {
        -moz-transition: 0.6s cubic-bezier(0.52, 0.08, 0.18, 1);
        -o-transition: 0.6s cubic-bezier(0.52, 0.08, 0.18, 1);
        -webkit-transition: 0.6s cubic-bezier(0.52, 0.08, 0.18, 1);
        transition: 0.6s cubic-bezier(0.52, 0.08, 0.18, 1);
        width: 100%;
        left: -100%;
        top: 70px;
        height: calc(100vh - 70px);
        -webkit-transform: translateX(0) translateY(0);
        -moz-transform: translateX(0) translateY(0);
        -ms-transform: translateX(0) translateY(0);
        transform: translateX(0) translateY(0);
        pointer-events: none;
        background-color: #E95A2A;
        padding: 20px;
        z-index: 7777;
        opacity: 1;
    }
}

header navx ul {
    display: flex;
    justify-content: space-between;
    align-items: center;
    -webkit-flex-wrap: wrap;
    -moz-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
}

header navx ul li {
    position: relative;
    width: calc(100% / 7);
    height: 60px;
    margin-bottom: 10px;
    background-color: #000;
    -webkit-transition: 0.3s;
    -moz-transition: 0.3s;
    -o-transition: 0.3s;
    transition: 0.3s;
    box-sizing: border-box;
    border-right: 1px solid #E95A2A;
}

@media screen and (max-width: 584px) {
    header navx ul li {
        width: 100%;
        margin-bottom: 5px;
    }
}

header navx ul li:hover {
    opacity: 0.7;
}

header navx ul li a {
    display: block;
    width: 100%;
    height: 100%;
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 13px;
    padding: 6px;
    box-sizing: border-box;
    color: #fff;
}

header navx ul li.req {
    background-color: #D9D7CE;
}

header navx ul li.req a {
    color: #000;
}

.mobile.posfix header {
    background-color: rgba(255, 255, 255, 0.3);
    backdrop-filter: blur(3px);
}

.menuopen {
    overflow: hidden;
}

.menuopen header {
    height: 100vh;
}

.menuopen header nav.contentmenu {
    visibility: visible;
    pointer-events: auto;
    overflow: auto;
}

.menuopen header nav.contentmenu .nbg {
    opacity: 1;
    -webkit-transform: scale(1, 1);
    transform: scale(1, 1);
    -webkit-transition: .3s;
    transition: .3s;
}

.menuopen header nav.contentmenu .content {
    -webkit-transition: .6s .6s;
    -moz-transition: .6s .6s;
    -o-transition: .6s .6s;
    transition: .6s .6s;
    opacity: 1;
}

.menuopen .spmenutit > div {
    right: 5.5vw;
}

.menuopen .spmenutit span:nth-of-type(1) {
    transform: rotate(45deg) translate3d(-3px, 0, 0);
    top: -6px;
    left: 8px;
}

.menuopen .spmenutit span:nth-of-type(2) {
    transform: scaleX(0);
    transform-origin: 100% 100%;
    -moz-transform-origin: 100% 100%;
    -webkit-transform-origin: 100% 100%;
}

.menuopen .spmenutit span:nth-of-type(3) {
    transform: rotate(-45deg) translate3d(-3px, 0, 0);
    left: 8px;
    top: 20px;
}

.posfix article {
    -webkit-transition: 0.3s;
    -moz-transition: 0.3s;
    -o-transition: 0.3s;
    transition: 0.3s;
    padding-top: 0px;
}

.pagetitle {
    height: 400px;
    overflow: hidden;
}

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

.pagetitle img {
    margin-top: -70px;
}

@media screen and (max-width: 584px) {
    .pagetitle img {
        margin-top: 0;
    }
}

.pagetop {
    position: fixed;
    z-index: 77;
    right: -60px;
    bottom: 60px;
    width: 50px;
    height: 50px;
    -webkit-transition: 0.3s;
    -moz-transition: 0.3s;
    -o-transition: 0.3s;
    transition: 0.3s;
}

.pagetop a {
    display: block;
    width: 100%;
    height: 100%;
    position: relative;
}

.pagetop a img {
    display: block;
    vertical-align: bottom;
    width: 100%;
}

.pagetop:hover {
    opacity: 0.7;
}

section .sectionin {
    width: 100%;
    max-width: 1000px;
    margin-left: auto;
    margin-right: auto;
    position: relative;
    padding: 40px;
    padding-top: 60px;
    padding-bottom: 60px;
    z-index: 5;
}

@media screen and (max-width: 584px) {
    section .sectionin {
        padding-left: 6vw !important;
        padding-right: 6vw !important;
        padding-bottom: 50px;
    }
}

section .sectionin figure {
    position: relative;
    overflow: hidden;
}

section .sectionin figure img {
    display: block;
    vertical-align: bottom;
    width: 100%;
}

section .sectionin h3 {
    text-align: center;
    font-size: 30px;
    color: #0A1956;
    margin-bottom: 60px;
}

@media screen and (max-width: 584px) {
    section .sectionin h3 {
        font-size: 5vw;
        margin-bottom: 30px;
    }
}

section .sectionin p.lead {
    font-size: 20px;
    text-align: center;
    line-height: 2.4em;
    margin-bottom: 30px;
}

@media screen and (max-width: 584px) {
    section .sectionin p.lead {
        font-size: 4vw;
        margin-bottom: 15px;
    }
}

section .sectionin p.p1 {
    font-size: 18px;
    text-align: center;
    line-height: 2.4em;
    margin-bottom: 30px;
}

@media screen and (max-width: 584px) {
    section .sectionin p.p1 {
        font-size: 4vw;
        margin-bottom: 15px;
        line-height: 2em;
    }
}

section .sectionin p.p2 {
    font-size: 26px;
    text-align: center;
    line-height: 2.4em;
    margin-bottom: 30px;
    font-family: 'Noto Sans JP', sans-serif;
    font-weight: 400;
    font-style: normal;
    font-weight: 500;
    letter-spacing: .1em;
    font-feature-settings: "palt";
}

section .sectionin p.p2.center {
    text-align: center;
}

@media screen and (max-width: 584px) {
    section .sectionin p.p2 {
        letter-spacing: 0em;
        font-size: 5.4vw;
        margin-bottom: 15px;
        line-height: 1.8em;
    }
}

section .sectionin p.p4 {
    font-size: 26px;
    text-align: center;
    line-height: 2.4em;
    margin-bottom: 30px;
    letter-spacing: .1em;
}

section .sectionin p.p4.center {
    text-align: center;
}

@media screen and (max-width: 584px) {
    section .sectionin p.p4 {
        letter-spacing: 0em;
        font-size: 5vw;
        margin-bottom: 15px;
        line-height: 1.8em;
        font-weight: bold;
    }
}

@media screen and (max-width: 584px) {
    section .sectionin p.note {
        font-size: 3vw;
        line-height: 1.4em;
    }
}

section .sectionin p.p3 {
    font-size: 16px;
    text-align: center;
    margin-bottom: 50px;
    line-height: 2em;
}

section .sectionin p.p3.center {
    text-align: center;
}

@media screen and (max-width: 584px) {
    section .sectionin p.p3 {
        font-size: 3.5vw;
        margin-bottom: 15px;
        line-height: 2em;
    }
}

section .sectionin p.p32 {
    font-size: 10px;
    text-align: left;
    margin-top: -50px;
    margin-bottom: 50px;
    line-height: 2em;
}

section .sectionin p.p32.center {
    text-align: center;
}

@media screen and (max-width: 584px) {
    section .sectionin p.p32 {
        font-size: 2.5vw;
        margin-bottom: 15px;
        line-height: 2em;
        margin-top: -15px;
    }
}

section .sectionin p.p6 {
    font-size: 23px;
    text-align: center;
    line-height: 1.8em;
    margin-bottom: 30px; /* letter-spacing: .1em; */
    font-weight: bold;
}

section .sectionin p.p6.center {
    text-align: center;
}

@media screen and (max-width: 584px) {
    section .sectionin p.p6 {
        letter-spacing: 0em;
        font-size: 5vw;
        margin-bottom: 15px;
        line-height: 1.8em;
        font-weight: bold;
    }
}

@media screen and (max-width: 584px) {
    section .sectionin p.note {
        font-size: 3vw;
        line-height: 1.4em;
    }
}

section .sectionin p.p7 {
    font-size: 26px;
    text-align: center;
    line-height: 2.4em;
    margin-bottom: 30px;
    letter-spacing: .1em;
}

section .sectionin p.p7.center {
    text-align: center;
}

@media screen and (max-width: 584px) {
    section .sectionin p.p7 {
        letter-spacing: 0em;
        font-size: 5vw;
        margin-bottom: 15px;
        line-height: 1.8em;
        font-weight: bold;
    }
}

@media screen and (max-width: 584px) {
    section .sectionin p.note {
        font-size: 3vw;
        line-height: 1.4em;
    }
}

section .sectionin p.p8 {
    font-size: 12px;
    text-align: center;
    line-height: 1.8em;
    margin-bottom: 30px;
    letter-spacing: .1em;
}

section .sectionin p.p8.center {
    text-align: center;
}

@media screen and (max-width: 584px) {
    section .sectionin p.p8 {
        letter-spacing: 0em;
        font-size: 3vw;
        margin-bottom: 15px;
        line-height: 1.8em; /* font-weight: bold; */
    }
}

@media screen and (max-width: 584px) {
    section .sectionin p.note {
        font-size: 3vw;
        line-height: 1.4em;
    }
}

section .h33 {
    position: relative;
    z-index: 7;
    pointer-events: none;
}

.secnote {
    position: relative;
    z-index: 5;
    background-color: #fff;
}

.secnote p.note {
    line-height: 1.4em;
}

.secnote .secin {
    width: 96%;
    max-width: 1000px;
    margin-left: auto;
    margin-right: auto;
    padding-top: 30px;
    padding-bottom: 30px;
    font-size: 12px;
    line-height: 1.4em;
}

@media screen and (max-width: 584px) {
    .secnote .secin {
        width: 100%;
        padding: 20px;
    }
}

footer {
    position: relative;
    z-index: 5;
    background-color: #fff;
    padding-top: 0 !important;
}

footer .ftlink {
    background-color: #000;
    margin-bottom: 60px;
}

footer .ftlink > ul {
    width: 100%;
    margin-left: auto;
    margin-right: auto;
    max-width: 1100px;
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    -webkit-flex-wrap: wrap;
    -moz-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
}

@media screen and (max-width: 584px) {
    footer .ftlink > ul {
        justify-content: flex-start;
    }
}

footer .ftlink > ul > li {
    height: 40px;
    position: relative;
}

footer .ftlink > ul > li::before {
    width: 1px;
    height: 50%;
    content: "";
    background-color: #fff;
    position: absolute;
    left: 0;
    top: 50%;
    -webkit-transform: translateY(-50%);
    -moz-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%);
}

@media screen and (max-width: 584px) {
    footer .ftlink > ul > li::before {
        background-color: #000;
    }
}

footer .ftlink > ul > li:last-child::after {
    width: 1px;
    height: 50%;
    content: "";
    background-color: #fff;
    position: absolute;
    right: 0;
    top: 50%;
    -webkit-transform: translateY(-50%);
    -moz-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%);
}

@media screen and (max-width: 584px) {
    footer .ftlink > ul > li:last-child::after {
        background-color: #000;
    }
}

@media screen and (max-width: 584px) {
    footer .ftlink > ul > li:nth-child(2n)::before {
        background-color: #fff;
    }
}

@media screen and (max-width: 584px) {
    footer .ftlink > ul > li {
        width: 50%;
    }
}

footer .ftlink > ul > li > a {
    display: block;
    width: 100%;
    height: 100%;
    position: relative;
    padding-right: 10px;
    padding-left: 10px;
    color: #fff;
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
}

footer .ftlogo {
    margin-bottom: 60px;
    max-width: 300px;
    margin-left: auto;
    margin-right: auto;
}

footer .ftlogo img {
    display: block;
    vertical-align: bottom;
    width: 100%;
}

footer .ftlogo a {
    display: block;
    width: 100%;
    height: 100%;
    position: relative;
}

footer .ftcopy1 {
    font-size: 50px;
    text-align: center;
    font-style: italic;
    color: #002058;
    line-height: 2em;
    margin-bottom: 20px;
}

footer .ftcopy1 img {
    display: block;
    vertical-align: bottom;
    width: 100%;
    max-width: 800px;
    margin-left: auto;
    margin-right: auto;
}

footer .cmbtn {
    position: relative;
    background-color: #0E70BA;
    width: 100%;
    height: 80px;
    z-index: 5;
    margin-bottom: 40px;
    max-width: 900px;
    margin-left: auto;
    margin-right: auto;
}

footer .cmbtn a {
    display: block;
    width: 100%;
    height: 100%;
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    color: #fff;
    text-align: center;
    font-family: 'Noto Sans JP', sans-serif;
    font-weight: 400;
    font-style: normal;
}

@media screen and (max-width: 584px) {
    footer .cmbtn {
        height: 60px;
    }
}

footer .footer {
    padding-top: 100px;
    padding-bottom: 100px;
    padding-left: 40px;
    padding-right: 40px;
}

@media screen and (max-width: 584px) {
    footer .footer {
        padding-left: 6vw;
        padding-right: 6vw;
    }
}

footer .footer .ft1 {
    width: 40px;
    margin-left: auto;
    margin-right: auto;
    display: block;
    margin-top: 40px;
    margin-bottom: 40px;
}

footer .footer .ft1 img {
    display: block;
    vertical-align: bottom;
    width: 100%;
}

footer .footer .snslink {
    margin-top: 40px;
    margin-bottom: 40px;
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    -webkit-flex-wrap: wrap;
    -moz-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
}

footer .footer .snslink li {
    position: relative;
}

footer .footer .snslink li a {
    display: block;
    width: 100%;
    height: 100%;
    position: relative;
    font-size: 2.5vw;
    padding-left: 10px;
    padding-right: 10px;
    font-family: 'Noto Sans JP', sans-serif;
    font-weight: 400;
    font-style: normal;
}

footer .footer .snslink li.sns {
    width: 40px;
}

footer .footer .snslink li.sns a img {
    height: 30px;
    width: auto;
}

footer .footer .snslink li.sns2 {
    width: 40px;
}

footer .footer .snslink li.sns2 a img {
    height: 30px;
    width: auto;
}

footer .footer .tlink {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    -webkit-flex-wrap: wrap;
    -moz-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    margin-top: 60px;
    margin-bottom: 40px;
    max-width: 1100px;
    margin-left: auto;
    margin-right: auto;
}

@media screen and (max-width: 584px) {
    footer .footer .tlink {
        display: none;
    }
}

footer .footer .tlink li {
    position: relative;
    width: calc(100% / 7);
}

@media screen and (max-width: 1200px) {
    footer .footer .tlink li {
        width: 50%;
    }
}

footer .footer .tlink li a {
    display: block;
    width: 100%;
    height: 100%;
    position: relative;
    padding-left: 10px;
    padding-right: 10px;
    font-family: 'Noto Sans JP', sans-serif;
    font-weight: 400;
    font-style: normal;
    font-size: 12px;
    color: #091B56;
    text-align: center;
}

@media screen and (max-width: 584px) {
    footer .footer .tlink li a {
        font-size: 2.5vw;
    }
}

@media screen and (max-width: 1200px) {
    footer .footer .tlink li {
        width: auto;
    }

    footer .footer .tlink li a {
        padding-left: 20px;
        padding-right: 20px;
    }
}

footer .footer .tlink li::before {
    width: 1px;
    height: 60%;
    content: "";
    background-color: #000;
    position: absolute;
    right: 0;
    top: 50%;
    -webkit-transform: translateY(-50%);
    -moz-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%);
}

footer .footer .tlink li:first-child::after {
    width: 1px;
    height: 60%;
    content: "";
    background-color: #000;
    position: absolute;
    left: 0;
    top: 50%;
    -webkit-transform: translateY(-50%);
    -moz-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%);
}

footer .footer .tlink li.dis {
    opacity: 0.3;
    pointer-events: none;
}

footer .copy {
    text-align: center;
    font-size: 12px;
    font-family: 'Noto Sans JP', sans-serif;
    font-weight: 400;
    font-style: normal;
}

footer .copy img {
    width: 120px;
}

footer .copy a {
    display: block;
    width: 100%;
    height: 100%;
    position: relative;
}

@media screen and (max-width: 584px) {
    footer .copy {
        text-align: center;
    }
}

footer .copy.sty2 {
    margin-top: 30px;
}

@media print {
    #w0 {
        padding: 0;
        margin: 0;
    }

    section .secin {
        padding-top: 0px;
        padding-bottom: 0px;
    }

    .rbtn1, .rbtn2, .rbtnset, .hhemu0, .reqbtn2, .reqbtn, #wrpG, footer, nav, header, .tlink, .flogo, .hlogo, .stab2, .hmenu4, .spmenubtn, .hmenu2, .hmenu {
        display: none;
    }
}

.cttbtn {
    max-width: 600px;
    padding: 24px;
    box-sizing: border-box;
    background-color: #595858;
    box-shadow: 0 0px 6px 0px rgba(0, 0, 0, 0.3);
    -moz-box-shadow: 0 0px 6px 0px rgba(0, 0, 0, 0.3);
    -webkit-box-shadow: 0 0px 6px 0px rgba(0, 0, 0, 0.3);
    margin-left: auto;
    margin-right: auto;
    position: relative;
    margin-top: 40px;
    -webkit-transition: 0.3s;
    -moz-transition: 0.3s;
    -o-transition: 0.3s;
    transition: 0.3s;
}

.cttbtn:hover {
    opacity: 0.7;
}

.cttbtn h5 {
    color: #fff !important;
    margin-bottom: 0 !important;
}

.cttbtn a {
    position: absolute;
    width: 100%;
    height: 100%;
    left: 0;
    top: 0;
    z-index: 7;
}

.cttbtn a p {
    font-size: 12px !important;
    text-align: right !important;
    width: 100%;
    position: absolute;
    left: 0;
    top: 50%;
    -webkit-transform: translateY(-50%);
    -moz-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%);
    box-sizing: border-box;
    padding-right: 20px;
    -webkit-transition: 0.3s;
    -moz-transition: 0.3s;
    -o-transition: 0.3s;
    transition: 0.3s;
}

.cttbtn a::after {
    position: absolute;
    display: block;
    content: "";
    width: 1px;
    height: 12px;
    right: 84px;
    top: calc(50% - 8px);
    background-color: #fff;
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg);
    -webkit-transition: 0.3s;
    -moz-transition: 0.3s;
    -o-transition: 0.3s;
    transition: 0.3s;
}

.cttbtn a::before {
    position: absolute;
    display: block;
    width: 130px;
    height: 1px;
    content: "";
    right: 80px;
    top: 50%;
    border-bottom: 1px solid #fff;
    -webkit-transition: 0.3s;
    -moz-transition: 0.3s;
    -o-transition: 0.3s;
    transition: 0.3s;
}

@media screen and (max-width: 584px) {
    .cttbtn a::before {
        width: 50px;
    }
}

.cttbtn a:hover::after {
    right: 94px;
}

.cttbtn a:hover::before {
    right: 90px;
}

.cttbtn a:hover p {
    padding-right: 30px;
}

.cttbtn h5 {
    color: #00B2EC;
    font-size: 22px;
    margin: 0;
    margin-bottom: 20px;
}

@media screen and (max-width: 584px) {
    .cttbtn h5 {
        font-size: 4vw;
    }
}

.cttbtn p {
    font-size: 18px;
    color: #fff;
}

.cttbtn:hover {
    opacity: 0.7;
}

@-webkit-keyframes blink {
    0% {
        opacity: 1;
    }
    50% {
        opacity: 0;
    }
    100% {
        opacity: 1;
    }
}

@keyframes blink {
    0% {
        opacity: 1;
    }
    50% {
        opacity: 0;
    }
    100% {
        opacity: 1;
    }
}

.thims {
    -webkit-transition: 1s;
    -moz-transition: 1s;
    -o-transition: 1s;
    transition: 1s;
    opacity: 0;
    transform: scale(1.1, 1.1);
    -moz-transform: scale(1.1, 1.1);
    -webkit-transform: scale(1.1, 1.1);
    -o-transform: scale(1.1, 1.1);
    -ms-transform: scale(1.1, 1.1);
}

.thimi, .thimi2, .thimi4, .thimi3 {
    opacity: 0;
    transform: scale(1.1) translate(0, 100px) skew(0deg, -5deg);
}

.thims.ani1 {
    opacity: 1;
    -webkit-transition: 3s;
    -moz-transition: 3s;
    -o-transition: 3s;
    transition: 3s;
    transform: scale(1, 1);
    -moz-transform: scale(1, 1);
    -webkit-transform: scale(1, 1);
    -o-transform: scale(1, 1);
    -ms-transform: scale(1, 1);
}

.thims.ani1.ani1fin {
    -webkit-transition: 1s;
    -moz-transition: 1s;
    -o-transition: 1s;
    transition: 1s;
}

.thimi.ani1 {
    opacity: 1;
    -webkit-transition: 1s 0.25s;
    -moz-transition: 1s 0.25s;
    -o-transition: 1s 0.25s;
    transition: 1s 0.25s;
    transform: scale(1) translate(0, 0) skew(0deg, 0deg);
}

.thimi2.ani1 {
    opacity: 1;
    -webkit-transition: all 1s 0.3s cubic-bezier(0.22, 0.61, 0.36, 1);
    transition: all 0.8s 0.3s cubic-bezier(0.22, 0.61, 0.36, 1);
    transform: scale(1) translate(0, 0) skew(0deg, 0deg);
}

.thimi3.ani1 {
    opacity: 1;
    -webkit-transition: all 0.8s 0.35s cubic-bezier(0.22, 0.61, 0.36, 1);
    transition: all 0.8s 0.35s cubic-bezier(0.22, 0.61, 0.36, 1);
    transform: scale(1) translate(0, 0) skew(0deg, 0deg);
}

.thimi4.ani1 {
    opacity: 1;
    -webkit-transition: all 0.8s 0.4s cubic-bezier(0.22, 0.61, 0.36, 1);
    transition: all 0.8s 0.4s cubic-bezier(0.22, 0.61, 0.36, 1);
    transform: scale(1) translate(0, 0) skew(0deg, 0deg);
}

.thim.ani1.ani1fin, .thim2.ani1.ani1fin, .thim4.ani1.ani1fin, .thim3.ani1.ani1fin {
    opacity: 1;
    -webkit-transition: all 0s 0s cubic-bezier(0.22, 0.61, 0.36, 1);
    transition: all 0s 0s cubic-bezier(0.22, 0.61, 0.36, 1);
}

.thiml2, .thiml {
    opacity: 0;
    -webkit-transition: 0.6s;
    -moz-transition: 0.6s;
    -o-transition: 0.6s;
    transition: 0.6s;
    -webkit-transform: translateX(10%);
    -moz-transform: translateX(10%);
    -ms-transform: translateX(10%);
    transform: translateX(10%);
}

.thimr2, .thimr {
    opacity: 0;
    -webkit-transition: 0.6s;
    -moz-transition: 0.6s;
    -o-transition: 0.6s;
    transition: 0.6s;
    -webkit-transform: translateX(-10%);
    -moz-transform: translateX(-10%);
    -ms-transform: translateX(-10%);
    transform: translateX(-10%);
}

.thiml.ani1, .thimr.ani1 {
    opacity: 1;
    -webkit-transition: 3s;
    -moz-transition: 3s;
    -o-transition: 3s;
    transition: 3s;
    -webkit-transform: translateX(0%);
    -moz-transform: translateX(0%);
    -ms-transform: translateX(0%);
    transform: translateX(0%);
}

.thiml2.ani1, .thimr2.ani1 {
    opacity: 1;
    -webkit-transition: all 2s 0.4s cubic-bezier(0.22, 0.61, 0.36, 1);
    transition: all 2s 0.4s cubic-bezier(0.22, 0.61, 0.36, 1);
    -webkit-transform: translateX(0%);
    -moz-transform: translateX(0%);
    -ms-transform: translateX(0%);
    transform: translateX(0%);
}

.thim, .thim2, .thim4, .thim3 {
    opacity: 0;
    -webkit-transition: 0.6s;
    -moz-transition: 0.6s;
    -o-transition: 0.6s;
    transition: 0.6s;
    -webkit-transform: translateY(5%);
    -moz-transform: translateY(5%);
    -ms-transform: translateY(5%);
    transform: translateY(5%);
}

@media screen and (max-width: 584px) {
    .thim, .thim2, .thim4, .thim3 {
        -webkit-transform: translateY(0%);
        -moz-transform: translateY(0%);
        -ms-transform: translateY(0%);
        transform: translateY(0%);
    }
}

.thim.thimu, .thim2.thimu, .thim4.thimu, .thim3.thimu {
    opacity: 0;
    -webkit-transition: 0.6s;
    -moz-transition: 0.6s;
    -o-transition: 0.6s;
    transition: 0.6s;
    -webkit-transform: translateY(-5%);
    -moz-transform: translateY(-5%);
    -ms-transform: translateY(-5%);
    transform: translateY(-5%);
}

.thim.ani1 {
    opacity: 1;
    -webkit-transition: 2 0.25s;
    -moz-transition: 2 0.25s;
    -o-transition: 2 0.25s;
    transition: 2 0.25s;
    -webkit-transform: translateY(0%);
    -moz-transform: translateY(0%);
    -ms-transform: translateY(0%);
    transform: translateY(0%);
}

.thim2.ani1 {
    opacity: 1;
    -webkit-transition: 2s 0.3s;
    -moz-transition: 2s 0.3s;
    -o-transition: 2s 0.3s;
    transition: 2s 0.3s;
    -webkit-transform: translateY(0%);
    -moz-transform: translateY(0%);
    -ms-transform: translateY(0%);
    transform: translateY(0%);
}

.thim3.ani1 {
    opacity: 1;
    -webkit-transition: 2s 0.35s;
    -moz-transition: 2s 0.35s;
    -o-transition: 2s 0.35s;
    transition: 2s 0.35s;
    -webkit-transform: translateY(0%);
    -moz-transform: translateY(0%);
    -ms-transform: translateY(0%);
    transform: translateY(0%);
}

.thim4.ani1 {
    opacity: 1;
    -webkit-transition: 2s 0.4s;
    -moz-transition: 2s 0.7s;
    -o-transition: 2s 0.4s;
    transition: 2s 0.7s;
    -webkit-transform: translateX(0%);
    -moz-transform: translateX(0%);
    -ms-transform: translateX(0%);
    transform: translateX(0%);
}

.thim.ani1.ani1fin, .thim2.ani1.ani1fin, .thim4.ani1.ani1fin, .thim3.ani1.ani1fin, .thiml.ani1.ani1fin, .thimr.ani1.ani1fin, .thiml2.ani1.ani1fin, .thimr2.ani1.ani1fin {
    opacity: 1;
    -webkit-transition: all 0s 0s cubic-bezier(0.22, 0.61, 0.36, 1);
    transition: all 0s 0s cubic-bezier(0.22, 0.61, 0.36, 1);
}

.thim {
    opacity: 0;
    -webkit-transition: 2s;
    -moz-transition: 2s;
    -o-transition: 2s;
    transition: 2s;
    -webkit-transform: translateY(20%);
    -moz-transform: translateY(20%);
    -ms-transform: translateY(20%);
    transform: translateY(20%);
}

@media screen and (max-width: 584px) {
    .thim {
        -webkit-transform: translateY(0%);
        -moz-transform: translateY(0%);
        -ms-transform: translateY(0%);
        transform: translateY(0%);
    }
}

.thim.thimu {
    opacity: 0;
    -webkit-transition: 0.6s;
    -moz-transition: 0.6s;
    -o-transition: 0.6s;
    transition: 0.6s;
    -webkit-transform: translateY(-5%);
    -moz-transform: translateY(-5%);
    -ms-transform: translateY(-5%);
    transform: translateY(-5%);
}

.thim.ani1 {
    opacity: 1;
    -webkit-transition: 3s 0.25s;
    -moz-transition: 3s 0.25s;
    -o-transition: 3s 0.25s;
    transition: 3s 0.25s;
    -webkit-transform: translateY(0%);
    -moz-transform: translateY(0%);
    -ms-transform: translateY(0%);
    transform: translateY(0%);
}

.thim2 {
    opacity: 0;
    -webkit-transition: 3s;
    -moz-transition: 3s;
    -o-transition: 3s;
    transition: 3s;
    -webkit-transform: translateY(20%);
    -moz-transform: translateY(20%);
    -ms-transform: translateY(20%);
    transform: translateY(20%);
}

@media screen and (max-width: 584px) {
    .thim2 {
        -webkit-transform: translateY(0%);
        -moz-transform: translateY(0%);
        -ms-transform: translateY(0%);
        transform: translateY(0%);
    }
}

.thim2.ani1 {
    opacity: 1;
    -webkit-transition: all 3s 0.3s cubic-bezier(0.22, 0.61, 0.36, 1);
    transition: all 3s 0.3s cubic-bezier(0.22, 0.61, 0.36, 1);
    -webkit-transform: translateY(0%);
    -moz-transform: translateY(0%);
    -ms-transform: translateY(0%);
    transform: translateY(0%);
}

.thim2.ani1.ani1fin {
    opacity: 1;
    -webkit-transition: all 0s 0s cubic-bezier(0.22, 0.61, 0.36, 1);
    transition: all 0s 0s cubic-bezier(0.22, 0.61, 0.36, 1);
}

.thim3 {
    opacity: 0;
    -webkit-transition: 3s;
    -moz-transition: 3s;
    -o-transition: 3s;
    transition: 3s;
    -webkit-transform: translateY(20%);
    -moz-transform: translateY(20%);
    -ms-transform: translateY(20%);
    transform: translateY(20%);
}

@media screen and (max-width: 584px) {
    .thim3 {
        -webkit-transform: translateY(0%);
        -moz-transform: translateY(0%);
        -ms-transform: translateY(0%);
        transform: translateY(0%);
    }
}

.thim3.ani1 {
    opacity: 1;
    -webkit-transition: all 3s 0.35s cubic-bezier(0.22, 0.61, 0.36, 1);
    transition: all 3s 0.35s cubic-bezier(0.22, 0.61, 0.36, 1);
    -webkit-transform: translateY(0%);
    -moz-transform: translateY(0%);
    -ms-transform: translateY(0%);
    transform: translateY(0%);
}

.thim3.ani1.ani1fin {
    opacity: 1;
    -webkit-transition: all 0s 0s cubic-bezier(0.22, 0.61, 0.36, 1);
    transition: all 0s 0s cubic-bezier(0.22, 0.61, 0.36, 1);
}

.thim4 {
    opacity: 0;
    -webkit-transition: 3s;
    -moz-transition: 3s;
    -o-transition: 3s;
    transition: 3s;
    -webkit-transform: translateY(20%);
    -moz-transform: translateY(20%);
    -ms-transform: translateY(20%);
    transform: translateY(20%);
}

@media screen and (max-width: 584px) {
    .thim4 {
        -webkit-transform: translateY(0%);
        -moz-transform: translateY(0%);
        -ms-transform: translateY(0%);
        transform: translateY(0%);
    }
}

.thim4.ani1 {
    opacity: 1;
    -webkit-transition: all 3s 0.4s cubic-bezier(0.22, 0.61, 0.36, 1);
    transition: all 3s 0.4s cubic-bezier(0.22, 0.61, 0.36, 1);
    -webkit-transform: translateY(0%);
    -moz-transform: translateY(0%);
    -ms-transform: translateY(0%);
    transform: translateY(0%);
}

.thim4.ani1.ani1fin {
    opacity: 1;
    -webkit-transition: all 0s 0s cubic-bezier(0.22, 0.61, 0.36, 1);
    transition: all 0s 0s cubic-bezier(0.22, 0.61, 0.36, 1);
}

.thim5 {
    opacity: 0;
    -webkit-transition: 3s;
    -moz-transition: 3s;
    -o-transition: 3s;
    transition: 3s;
    -webkit-transform: translateY(20%);
    -moz-transform: translateY(20%);
    -ms-transform: translateY(20%);
    transform: translateY(20%);
}

@media screen and (max-width: 584px) {
    .thim5 {
        -webkit-transform: translateY(0%);
        -moz-transform: translateY(0%);
        -ms-transform: translateY(0%);
        transform: translateY(0%);
    }
}

.thim5.ani1 {
    opacity: 1;
    -webkit-transition: all 3s 0.45s cubic-bezier(0.22, 0.61, 0.36, 1);
    transition: all 3s 0.45s cubic-bezier(0.22, 0.61, 0.36, 1);
    -webkit-transform: translateY(0%);
    -moz-transform: translateY(0%);
    -ms-transform: translateY(0%);
    transform: translateY(0%);
}

.thim5.ani1.ani1fin {
    opacity: 1;
    -webkit-transition: all 0s 0s cubic-bezier(0.22, 0.61, 0.36, 1);
    transition: all 0s 0s cubic-bezier(0.22, 0.61, 0.36, 1);
}

.thim6 {
    opacity: 0;
    -webkit-transition: 3s;
    -moz-transition: 3s;
    -o-transition: 3s;
    transition: 3s;
    -webkit-transform: translateY(20%);
    -moz-transform: translateY(20%);
    -ms-transform: translateY(20%);
    transform: translateY(20%);
}

@media screen and (max-width: 584px) {
    .thim6 {
        -webkit-transform: translateY(0%);
        -moz-transform: translateY(0%);
        -ms-transform: translateY(0%);
        transform: translateY(0%);
    }
}

.thim6.ani1 {
    opacity: 1;
    -webkit-transition: all 3s 0.5s cubic-bezier(0.22, 0.61, 0.36, 1);
    transition: all 3s 0.5s cubic-bezier(0.22, 0.61, 0.36, 1);
    -webkit-transform: translateY(0%);
    -moz-transform: translateY(0%);
    -ms-transform: translateY(0%);
    transform: translateY(0%);
}

.thim6.ani1.ani1fin {
    opacity: 1;
    -webkit-transition: all 0s 0s cubic-bezier(0.22, 0.61, 0.36, 1);
    transition: all 0s 0s cubic-bezier(0.22, 0.61, 0.36, 1);
}

.thim7 {
    opacity: 0;
    -webkit-transition: 3s;
    -moz-transition: 3s;
    -o-transition: 3s;
    transition: 3s;
    -webkit-transform: translateY(20%);
    -moz-transform: translateY(20%);
    -ms-transform: translateY(20%);
    transform: translateY(20%);
}

@media screen and (max-width: 584px) {
    .thim7 {
        -webkit-transform: translateY(0%);
        -moz-transform: translateY(0%);
        -ms-transform: translateY(0%);
        transform: translateY(0%);
    }
}

.thim7.ani1 {
    opacity: 1;
    -webkit-transition: all 3s 0.55s cubic-bezier(0.22, 0.61, 0.36, 1);
    transition: all 3s 0.55s cubic-bezier(0.22, 0.61, 0.36, 1);
    -webkit-transform: translateY(0%);
    -moz-transform: translateY(0%);
    -ms-transform: translateY(0%);
    transform: translateY(0%);
}

.thim7.ani1.ani1fin {
    opacity: 1;
    -webkit-transition: all 0s 0s cubic-bezier(0.22, 0.61, 0.36, 1);
    transition: all 0s 0s cubic-bezier(0.22, 0.61, 0.36, 1);
}

.thim8 {
    opacity: 0;
    -webkit-transition: 3s;
    -moz-transition: 3s;
    -o-transition: 3s;
    transition: 3s;
    -webkit-transform: translateY(20%);
    -moz-transform: translateY(20%);
    -ms-transform: translateY(20%);
    transform: translateY(20%);
}

@media screen and (max-width: 584px) {
    .thim8 {
        -webkit-transform: translateY(0%);
        -moz-transform: translateY(0%);
        -ms-transform: translateY(0%);
        transform: translateY(0%);
    }
}

.thim8.ani1 {
    opacity: 1;
    -webkit-transition: all 3s 0.6s cubic-bezier(0.22, 0.61, 0.36, 1);
    transition: all 3s 0.6s cubic-bezier(0.22, 0.61, 0.36, 1);
    -webkit-transform: translateY(0%);
    -moz-transform: translateY(0%);
    -ms-transform: translateY(0%);
    transform: translateY(0%);
}

.thim8.ani1.ani1fin {
    opacity: 1;
    -webkit-transition: all 0s 0s cubic-bezier(0.22, 0.61, 0.36, 1);
    transition: all 0s 0s cubic-bezier(0.22, 0.61, 0.36, 1);
}

.thim.ani1.ani1fin {
    opacity: 1;
    -webkit-transition: all 0s 0s cubic-bezier(0.22, 0.61, 0.36, 1);
    transition: all 0s 0s cubic-bezier(0.22, 0.61, 0.36, 1);
}

.menubtn {
    width: 76px;
    height: 76px;
    position: fixed;
    right: -80px;
    top: 0px;
    z-index: 4677;
    cursor: pointer;
    -webkit-transition: 0.3s;
    -moz-transition: 0.3s;
    -o-transition: 0.3s;
    transition: 0.3s;
}

.menubtn a {
    position: absolute;
    width: 100%;
    height: 100%;
    left: 0;
    top: 0;
    z-index: 5;
    display: none;
}

.menubtn div {
    width: 34px;
    height: 36px;
    margin-bottom: 6px;
    margin-top: 8px;
    margin-left: auto;
    margin-right: auto;
    position: relative;
}

.menubtn div span {
    display: block;
    background: #4D4D4D;
    width: 100%;
    height: 1px;
    position: absolute;
    left: 0;
    transition: all 0.4s;
    -webkit-transition: all 0.4s;
    -moz-transition: all 0.4s;
}

.menubtn div span:first-child {
    top: 9px;
}

.menubtn div span:nth-child(2) {
    margin-top: -1px;
    top: 50%;
}

.menubtn div span:last-child {
    bottom: 9px;
}

.menuop2 .menubtn span:first-child {
    width: 50%;
    -webkit-transform: translateY(10px) rotate(45deg);
    -moz-transform: translateY(10px) rotate(45deg);
    -ms-transform: translateY(10px) rotate(45deg);
    transform: translateY(10px) rotate(45deg);
    top: 18px;
    left: -3px;
}

.menuop2 .menubtn span:last-child {
    bottom: 18px;
    left: -3px;
    width: 50%;
    -webkit-transform: translateY(-11px) rotate(-45deg);
    -moz-transform: translateY(-11px) rotate(-45deg);
    -ms-transform: translateY(-11px) rotate(-45deg);
    transform: translateY(-11px) rotate(-45deg);
}

.menuop2 .menubtn p.open {
    display: none;
}

.menuop2 .menubtn p.cls {
    display: none;
}

.menuop2 .menubtn p.back {
    display: block;
}

.menuop2 .menubtn a {
    display: block;
}

.menuop .menubtn p.open {
    display: none;
}

.menuop .menubtn p.cls {
    display: block;
}

.menuop .menubtn div span:first-child {
    -webkit-transform: translateY(10px) rotate(45deg);
    -moz-transform: translateY(10px) rotate(45deg);
    -ms-transform: translateY(10px) rotate(45deg);
    transform: translateY(10px) rotate(45deg);
}

.menuop .menubtn div span:nth-child(2) {
    opacity: 0;
}

.menuop .menubtn div span:last-child {
    -webkit-transform: translateY(-7px) rotate(-45deg);
    -moz-transform: translateY(-7px) rotate(-45deg);
    -ms-transform: translateY(-7px) rotate(-45deg);
    transform: translateY(-7px) rotate(-45deg);
}

.mobile .menubtn {
    right: 0px;
}

.btnset {
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100%;
    max-width: 880px;
    margin-left: auto;
    margin-right: auto;
}

.btnset li {
    position: relative;
    width: 48%;
}

.btnset.col3 li {
    width: 31%;
}

.reqbtn {
    width: 100%;
    max-width: 400px;
    position: relative;
    margin-left: auto;
    margin-right: auto;
    height: 70px;
    background-color: #00B2EC;
    overflow: hidden;
    -webkit-transition: 0.3s;
    -moz-transition: 0.3s;
    -o-transition: 0.3s;
    transition: 0.3s;
}

.reqbtn.rsv {
    background-color: #1A6E7B;
}

.reqbtn a {
    display: block;
    z-index: 3;
    width: 100%;
    height: 100%;
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    -webkit-flex-wrap: wrap;
    -moz-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    font-size: 18px;
    letter-spacing: 4px;
    color: #fff;
}

.reqbtn a p {
    font-size: 18px;
    letter-spacing: 4px;
}

.reqbtn a span {
    font-size: 24px;
    line-height: 1em;
    margin-top: -4px;
    margin-left: 10px;
}

.reqbtn a img {
    width: 14px;
    margin-left: 20px;
}

@media screen and (max-width: 767px) {
    .reqbtn a p {
        font-size: 3.5vw;
    }
}

.reqbtn:hover {
    opacity: 0.7;
}

.reqbtn {
    max-width: 360px;
    box-shadow: rgba(0, 0, 0, 0.24) 0px 3px 8px;
    -webkit-transition: 0.3s;
    -moz-transition: 0.3s;
    -o-transition: 0.3s;
    transition: 0.3s;
    position: relative;
    overflow: hidden;
}

@media screen and (max-width: 584px) {
    .reqbtn {
        width: 80%;
    }
}

.reqbtn a {
    -webkit-transition: 0.3s;
    -moz-transition: 0.3s;
    -o-transition: 0.3s;
    transition: 0.3s;
}

.reqbtn::before {
    content: "";
    position: absolute;
    width: 130%;
    height: 100%;
    left: -150%;
    top: 0;
    -moz-transition: 0.6s cubic-bezier(0.52, 0.08, 0.18, 1);
    -o-transition: 0.6s cubic-bezier(0.52, 0.08, 0.18, 1);
    -webkit-transition: 0.6s cubic-bezier(0.52, 0.08, 0.18, 1);
    transition: 0.6s cubic-bezier(0.52, 0.08, 0.18, 1);
    background-size: 100% 100%;
    background-position: center center;
    background-image: url(../images/common/bg_01.jpg);
    -webkit-transform: skewX(-17.62deg);
    transform: skewX(-17.62deg);
    opacity: 1;
    z-index: 1;
}

.reqbtn:hover {
    box-shadow: rgba(255, 234, 52, 0.24) 0px 3px 8px;
}

.reqbtn:hover::before {
    left: -15%;
}

.secreq {
    padding: 60px;
    box-sizing: border-box;
    position: relative;
    z-index: 5;
}

.secreq.sty2 {
    background-color: #fff;
}

@media screen and (max-width: 584px) {
    .secreq {
        padding: 20px;
        padding-top: 30px;
        padding-bottom: 30px;
    }
}

.secreq .btnset {
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100%;
    max-width: 360px;
}

.secreq .btnset li {
    width: 100%;
}

.secreq .secin {
    margin: 0;
}

#wrpG {
    width: 100%;
    height: 100vh;
    padding-top: 10px;
    padding-bottom: 60px;
    position: fixed;
    pointer-events: none;
    top: 0px;
    left: -102%;
    z-index: 11;
    overflow: auto;
    box-sizing: border-box;
    -moz-transition: 0.6s cubic-bezier(0.52, 0.08, 0.18, 1);
    -o-transition: 0.6s cubic-bezier(0.52, 0.08, 0.18, 1);
    -webkit-transition: 0.6s cubic-bezier(0.52, 0.08, 0.18, 1);
    transition: 0.6s cubic-bezier(0.52, 0.08, 0.18, 1);
    background-color: #000;
    padding-top: 140px;
}

.menuopen #wrpG {
    left: 0;
    pointer-events: auto;
}

.secpagetit {
    position: relative;
}

.loader {
    margin: 60px auto;
    font-size: 10px;
    position: relative;
    text-indent: -9999em;
    border-top: 1px solid rgba(128, 128, 128, 0.1);
    border-right: 1px solid rgba(128, 128, 128, 0.1);
    border-bottom: 1px solid rgba(128, 128, 128, 0.1);
    border-left: 1px solid #808080;
    -webkit-transform: translateZ(0);
    -ms-transform: translateZ(0);
    transform: translateZ(0);
    -webkit-animation: load8 1.1s infinite linear;
    animation: load8 1.1s infinite linear;
    border-radius: 50%;
    width: 50px;
    height: 50px;
}

.loader::after {
    border-radius: 50%;
    width: 50px;
    height: 50px;
}

.load0 {
    position: fixed;
    width: 100%;
    height: 100%;
    left: 0;
    top: 0;
    z-index: 199999;
    background-color: #fff;
    display: flex;
    justify-content: center;
    align-items: center;
}

.load0 .bg {
    background-color: #E9592A;
    position: relative;
    width: 100%;
    height: 100vh;
    z-index: 3;
    display: flex;
    justify-content: center;
    align-items: center;
    -webkit-flex-wrap: wrap;
    -moz-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
}

.load0 .lnum {
    background-clip: text;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    font-size: 30px;
    width: 160px;
    text-align: center;
    margin-left: auto;
    margin-right: auto;
    margin-top: -40px;
}

.load0 .load {
    text-align: center;
}

.load0 .load img {
    width: 50%;
    margin-bottom: 40px;
}

.iloadfin {
    -moz-transition: 0.3s;
}

.iloadfin .load0 {
    -webkit-transition: 0.3s;
    -o-transition: 0.3s;
    transition: 0.3s;
    opacity: 0;
    pointer-events: none;
}

@keyframes scroll-hint-appear {
    0% {
        transform: translateX(40px);
        opacity: 0;
    }
    10% {
        opacity: 1;
    }
    50%,
    100% {
        transform: translateX(-40px);
        opacity: 0;
    }
}

.scroll-hint.is-right-scrollable {
    background: linear-gradient(270deg, rgba(0, 0, 0, 0.15) 0, rgba(0, 0, 0, 0) 16px, rgba(0, 0, 0, 0));
}

.scroll-hint.is-right-scrollable.is-left-scrollable {
    background: linear-gradient(90deg, rgba(0, 0, 0, 0.15) 0, rgba(0, 0, 0, 0) 16px, rgba(0, 0, 0, 0)), linear-gradient(270deg, rgba(0, 0, 0, 0.15) 0, rgba(0, 0, 0, 0) 16px, rgba(0, 0, 0, 0));
}

.scroll-hint.is-left-scrollable {
    background: linear-gradient(90deg, rgba(0, 0, 0, 0.15) 0, rgba(0, 0, 0, 0) 16px, rgba(0, 0, 0, 0));
}

.scroll-hint-icon {
    position: absolute;
    top: calc(30% - 25px);
    left: calc(50% - 60px);
    box-sizing: border-box;
    width: 120px;
    height: 80px;
    border-radius: 5px;
    transition: opacity .3s;
    opacity: 0;
    background: rgba(0, 0, 0, 0.7);
    text-align: center;
    padding: 20px 5px 10px 5px;
}

.scroll-hint-icon-wrap {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    max-height: 100%;
    pointer-events: none;
    z-index: 777;
    display: none;
}

@media screen and (max-width: 584px) {
    .scroll-hint-icon-wrap {
        display: block;
    }
}

.scroll-hint-text {
    font-size: 10px;
    color: #FFF;
    line-height: 1em; /*margin-top: 5px;*/
}

.scroll-hint-icon-wrap.is-active .scroll-hint-icon {
    opacity: .8;
}

.scroll-hint-icon:before {
    display: inline-block;
    width: 40px;
    height: 40px;
    color: #FFF;
    vertical-align: middle;
    text-align: center;
    content: "";
    background-size: contain;
    background-position: center center;
    background-repeat: no-repeat;
    background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNS43NyIgaGVpZ2h0PSIzMC41MiIgdmlld0JveD0iMCAwIDI1Ljc3IDMwLjUyIj48dGl0bGU+44Ki44K744OD44OIIDM8L3RpdGxlPjxnIGlkPSLjg6zjgqTjg6Tjg7xfMiIgZGF0YS1uYW1lPSLjg6zjgqTjg6Tjg7wgMiI+PGcgaWQ9IuODrOOCpOODpOODvF8xLTIiIGRhdGEtbmFtZT0i44Os44Kk44Ok44O8IDEiPjxwYXRoIGQ9Ik0yMS4zMywzMC41Mkg3Ljg1QTEuNTUsMS41NSwwLDAsMSw2LjMsMjlhMTIuNDYsMTIuNDYsMCwwLDAtLjYzLTQuNDIsMjUuMTYsMjUuMTYsMCwwLDAtNC4yNS01bC0uMDYtLjA2QTUsNSwwLDAsMSwwLDE1Ljg2YTMuNjQsMy42NCwwLDAsMSwxLjE3LTIuNjIsMy42MywzLjYzLDAsMCwxLDUuMTQuMDdWMy43N2EzLjc3LDMuNzcsMCwxLDEsNy41NCwwVjguMzNhMy4zNSwzLjM1LDAsMCwxLDEuMjYsMCwzLDMsMCwwLDEsMiwxLjIyLDMuNSwzLjUsMCwwLDEsMi0uMDYsMy4yMSwzLjIxLDAsMCwxLDIsMS41NCwzLjc0LDMuNzQsMCwwLDEsMywuNDdBNC4yMSw0LjIxLDAsMCwxLDI1Ljc0LDE1YzAsLjExLDAsLjI3LDAsLjQ2YTE5LjI2LDE5LjI2LDAsMCwxLS44NCw3Yy0uMTQuMzgtLjM2LjgxLS41NiwxLjIybC0uMTEuMjJjMCwuMDctLjA5LjE0LS4xNC4yMWE3LjEzLDcuMTMsMCwwLDAtMS4xNywyLjE3Yy0uMDYuNTYtLjA2LDIuMTUtLjA1LDIuNzFBMS41NSwxLjU1LDAsMCwxLDIxLjMzLDMwLjUyWk04LjYxLDI4LjIxaDEyYzAtLjcxLDAtMS43MS4wNy0yLjIzYTguNzQsOC43NCwwLDAsMSwxLjU5LTMuMjVsLjA2LS4xMmExMCwxMCwwLDAsMCwuNDYtMSwxNi44LDE2LjgsMCwwLDAsLjctNi4xMmMwLS4yMywwLS40MSwwLS41NGgwYTIsMiwwLDAsMC0uNjQtMS41MiwxLjMzLDEuMzMsMCwwLDAtMS41NS4wOCwxLjEzLDEuMTMsMCwwLDEtMS4xOC4yOCwxLjE1LDEuMTUsMCwwLDEtLjc4LS45NCwxLjI2LDEuMjYsMCwwLDAtLjc1LTEuMTEsMSwxLDAsMCwwLTEuMTEuMjhsLS4xLjFhMS4xNSwxLjE1LDAsMCwxLTEuMTkuMjksMS4xNiwxLjE2LDAsMCwxLS43OC0uOTVjLS4wOS0uNjgtLjIxLS43Ny0uNy0uODdhLjgyLjgyLDAsMCwwLTEsLjQ4LDEuMTYsMS4xNiwwLDAsMS0yLjE2LS41OFYzLjc3YTEuNDYsMS40NiwwLDEsMC0yLjkyLDB2Ny44NWwwLDQuMzNhMS4xNywxLjE3LDAsMCwxLS44MywxLjExLDEuMTUsMS4xNSwwLDAsMS0xLjItLjM1bC0xLS45MWMtLjQ3LS40Mi0uNzMtLjY2LS44NC0uNzdhMS4zNSwxLjM1LDAsMCwwLTItLjEyTDIuNywxNWExLjMyLDEuMzIsMCwwLDAtLjM5LDFBMi41NywyLjU3LDAsMCwwLDMsMTcuODVsMCwwYTI3LjI0LDI3LjI0LDAsMCwxLDQuNyw1LjYyQTEyLjYzLDEyLjYzLDAsMCwxLDguNjEsMjguMjFaTTIzLjIsMjMuMzVaTTYuNTEsMTYuNTlaIiBmaWxsPSIjZmZmIi8+PC9nPjwvZz48L3N2Zz4=);
}

.scroll-hint-icon:after {
    content: "";
    width: 34px;
    height: 14px;
    display: block;
    position: absolute;
    top: 10px;
    left: 50%;
    -webkit-transform: translateX(-50%);
    -moz-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    transform: translateX(-50%);
    background-repeat: no-repeat;
    background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIzMy4yOSIgaGVpZ2h0PSIxMi4wMiIgdmlld0JveD0iMCAwIDMzLjI5IDEyLjAyIj48dGl0bGU+44Ki44K744OD44OIIDE8L3RpdGxlPjxnIGlkPSLjg6zjgqTjg6Tjg7xfMiIgZGF0YS1uYW1lPSLjg6zjgqTjg6Tjg7wgMiI+PGcgaWQ9IuODrOOCpOODpOODvF8xLTIiIGRhdGEtbmFtZT0i44Os44Kk44Ok44O8IDEiPjxsaW5lIHgxPSIxLjg1IiB5MT0iNi4wMSIgeDI9IjEwLjQiIHkyPSI2LjAxIiBmaWxsPSIjZmZmIi8+PHBhdGggZD0iTTEwLjQsNy4xN0gxLjg1YTEuMTYsMS4xNiwwLDEsMSwwLTIuMzFIMTAuNGExLjE2LDEuMTYsMCwxLDEsMCwyLjMxWiIgZmlsbD0iI2ZmZiIvPjxwYXRoIGQ9Ik03LjQsMTJhMS4xNSwxLjE1LDAsMCwxLS43Mi0uMjVsLTYuMjUtNUExLjIsMS4yLDAsMCwxLDAsNS44NywxLjE0LDEuMTQsMCwwLDEsLjQ2LDVMNi43LjIzQTEuMTYsMS4xNiwwLDAsMSw4LjEsMi4wOEwzLDUuOTEsOC4xMiwxMEExLjE2LDEuMTYsMCwwLDEsNy40LDEyWiIgZmlsbD0iI2ZmZiIvPjxsaW5lIHgxPSIzMS40NSIgeTE9IjYuMDEiIHgyPSIyMi44OSIgeTI9IjYuMDEiIGZpbGw9IiNmZmYiLz48cGF0aCBkPSJNMzEuNDUsNy4xN0gyMi44OWExLjE2LDEuMTYsMCwxLDEsMC0yLjMxaDguNTZhMS4xNiwxLjE2LDAsMCwxLDAsMi4zMVoiIGZpbGw9IiNmZmYiLz48cGF0aCBkPSJNMjUuOSwxMmExLjE4LDEuMTgsMCwwLDEtLjkxLS40M0ExLjE3LDEuMTcsMCwwLDEsMjUuMTcsMTBsNS4wOS00LjA1TDI1LjIsMi4wOEExLjE2LDEuMTYsMCwwLDEsMjYuNTkuMjNMMzIuODQsNWExLjE2LDEuMTYsMCwwLDEsLjQ1LjkxLDEuMTQsMS4xNCwwLDAsMS0uNDMuOTJsLTYuMjQsNUExLjE3LDEuMTcsMCwwLDEsMjUuOSwxMloiIGZpbGw9IiNmZmYiLz48L2c+PC9nPjwvc3ZnPg==);
    opacity: 0;
    transition-delay: 2.4s;
}

.scroll-hint-icon-wrap.is-active .scroll-hint-icon:after {
    opacity: 1;
}

.scroll-hint-icon-wrap.is-active .scroll-hint-icon:before {
    animation: scroll-hint-appear 1.6s linear;
    animation-iteration-count: infinite;
}

.scroll-hint-icon-white {
    background-color: #FFF;
    box-shadow: 0 4px 5px rgba(0, 0, 0, 0.4);
}

.scroll-hint-icon-white:before {
    background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNS43NyIgaGVpZ2h0PSIzMC41MiIgdmlld0JveD0iMCAwIDI1Ljc3IDMwLjUyIj48dGl0bGU+44Ki44K744OD44OIIDQ8L3RpdGxlPjxnIGlkPSLjg6zjgqTjg6Tjg7xfMiIgZGF0YS1uYW1lPSLjg6zjgqTjg6Tjg7wgMiI+PGcgaWQ9IuODrOOCpOODpOODvF8xLTIiIGRhdGEtbmFtZT0i44Os44Kk44Ok44O8IDEiPjxwYXRoIGQ9Ik0yMS4zMywzMC41Mkg3Ljg1QTEuNTUsMS41NSwwLDAsMSw2LjMsMjlhMTIuNDYsMTIuNDYsMCwwLDAtLjYzLTQuNDIsMjUuMTYsMjUuMTYsMCwwLDAtNC4yNS01bC0uMDYtLjA2QTUsNSwwLDAsMSwwLDE1Ljg2YTMuNjQsMy42NCwwLDAsMSwxLjE3LTIuNjIsMy42MywzLjYzLDAsMCwxLDUuMTQuMDdWMy43N2EzLjc3LDMuNzcsMCwxLDEsNy41NCwwVjguMzNhMy4zNSwzLjM1LDAsMCwxLDEuMjYsMCwzLDMsMCwwLDEsMiwxLjIyLDMuNSwzLjUsMCwwLDEsMi0uMDYsMy4yMSwzLjIxLDAsMCwxLDIsMS41NCwzLjc0LDMuNzQsMCwwLDEsMywuNDdBNC4yMSw0LjIxLDAsMCwxLDI1Ljc0LDE1YzAsLjExLDAsLjI3LDAsLjQ2YTE5LjI2LDE5LjI2LDAsMCwxLS44NCw3Yy0uMTQuMzgtLjM2LjgxLS41NiwxLjIybC0uMTEuMjJjMCwuMDctLjA5LjE0LS4xNC4yMWE3LjEzLDcuMTMsMCwwLDAtMS4xNywyLjE3Yy0uMDYuNTYtLjA2LDIuMTUtLjA1LDIuNzFBMS41NSwxLjU1LDAsMCwxLDIxLjMzLDMwLjUyWk04LjYxLDI4LjIxaDEyYzAtLjcxLDAtMS43MS4wNy0yLjIzYTguNzQsOC43NCwwLDAsMSwxLjU5LTMuMjVsLjA2LS4xMmExMCwxMCwwLDAsMCwuNDYtMSwxNi44LDE2LjgsMCwwLDAsLjctNi4xMmMwLS4yMywwLS40MSwwLS41NGgwYTIsMiwwLDAsMC0uNjQtMS41MiwxLjMzLDEuMzMsMCwwLDAtMS41NS4wOCwxLjEzLDEuMTMsMCwwLDEtMS4xOC4yOCwxLjE1LDEuMTUsMCwwLDEtLjc4LS45NCwxLjI2LDEuMjYsMCwwLDAtLjc1LTEuMTEsMSwxLDAsMCwwLTEuMTEuMjhsLS4xLjFhMS4xNSwxLjE1LDAsMCwxLTEuMTkuMjksMS4xNiwxLjE2LDAsMCwxLS43OC0uOTVjLS4wOS0uNjgtLjIxLS43Ny0uNy0uODdhLjgyLjgyLDAsMCwwLTEsLjQ4LDEuMTYsMS4xNiwwLDAsMS0yLjE2LS41OFYzLjc3YTEuNDYsMS40NiwwLDEsMC0yLjkyLDB2Ny44NWwwLDQuMzNhMS4xNywxLjE3LDAsMCwxLS44MywxLjExLDEuMTUsMS4xNSwwLDAsMS0xLjItLjM1bC0xLS45MWMtLjQ3LS40Mi0uNzMtLjY2LS44NC0uNzdhMS4zNSwxLjM1LDAsMCwwLTItLjEyTDIuNywxNWExLjMyLDEuMzIsMCwwLDAtLjM5LDFBMi41NywyLjU3LDAsMCwwLDMsMTcuODVsMCwwYTI3LjI0LDI3LjI0LDAsMCwxLDQuNyw1LjYyQTEyLjYzLDEyLjYzLDAsMCwxLDguNjEsMjguMjFaTTIzLjIsMjMuMzVaTTYuNTEsMTYuNTlaIi8+PC9nPjwvZz48L3N2Zz4=);
}

.scroll-hint-icon-white:after {
    background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIzMy4yOSIgaGVpZ2h0PSIxMi4wMiIgdmlld0JveD0iMCAwIDMzLjI5IDEyLjAyIj48dGl0bGU+44Ki44K744OD44OIIDI8L3RpdGxlPjxnIGlkPSLjg6zjgqTjg6Tjg7xfMiIgZGF0YS1uYW1lPSLjg6zjgqTjg6Tjg7wgMiI+PGcgaWQ9IuODrOOCpOODpOODvF8xLTIiIGRhdGEtbmFtZT0i44Os44Kk44Ok44O8IDEiPjxsaW5lIHgxPSIxLjg1IiB5MT0iNi4wMSIgeDI9IjEwLjQiIHkyPSI2LjAxIi8+PHBhdGggZD0iTTEwLjQsNy4xN0gxLjg1YTEuMTYsMS4xNiwwLDEsMSwwLTIuMzFIMTAuNGExLjE2LDEuMTYsMCwxLDEsMCwyLjMxWiIvPjxwYXRoIGQ9Ik03LjQsMTJhMS4xNSwxLjE1LDAsMCwxLS43Mi0uMjVsLTYuMjUtNUExLjIsMS4yLDAsMCwxLDAsNS44NywxLjE0LDEuMTQsMCwwLDEsLjQ2LDVMNi43LjIzQTEuMTYsMS4xNiwwLDAsMSw4LjEsMi4wOEwzLDUuOTEsOC4xMiwxMEExLjE2LDEuMTYsMCwwLDEsNy40LDEyWiIvPjxsaW5lIHgxPSIzMS40NSIgeTE9IjYuMDEiIHgyPSIyMi44OSIgeTI9IjYuMDEiLz48cGF0aCBkPSJNMzEuNDUsNy4xN0gyMi44OWExLjE2LDEuMTYsMCwxLDEsMC0yLjMxaDguNTZhMS4xNiwxLjE2LDAsMCwxLDAsMi4zMVoiLz48cGF0aCBkPSJNMjUuOSwxMmExLjE4LDEuMTgsMCwwLDEtLjkxLS40M0ExLjE3LDEuMTcsMCwwLDEsMjUuMTcsMTBsNS4wOS00LjA1TDI1LjIsMi4wOEExLjE2LDEuMTYsMCwwLDEsMjYuNTkuMjNMMzIuODQsNWExLjE2LDEuMTYsMCwwLDEsLjQ1LjkxLDEuMTQsMS4xNCwwLDAsMS0uNDMuOTJsLTYuMjQsNUExLjE3LDEuMTcsMCwwLDEsMjUuOSwxMloiLz48L2c+PC9nPjwvc3ZnPg==);
}

.scroll-hint-icon-white .scroll-hint-text {
    color: #000;
    line-height: 1em;
}

.pcopy7 ul {
    position: relative;
}

.pcopy7 ul li {
    display: inline-block;
    vertical-align: middle;
    position: relative;
}

.pcopy7 ul li span.bg {
    position: relative;
    opacity: 0;
}

.pcopy7 ul li span.mve {
    opacity: 0;
    position: absolute;
    width: 100%;
    height: 100%;
    left: 0;
    top: 0;
    z-index: 2;
}

.pcopy7 ul li.br {
    display: block;
    width: 100%;
}

.pcopy7 ul li.br::before {
    content: "";
    display: table;
}

.pcopy7 ul li.br::after {
    content: "";
    display: table;
    clear: both;
}

.erbtn {
    position: relative;
    width: 100%;
    height: 60px;
    margin-bottom: 10px;
    -webkit-transition: 0.3s;
    -moz-transition: 0.3s;
    -o-transition: 0.3s;
    transition: 0.3s;
    box-sizing: border-box;
    background-color: #A28B5E;
    border-radius: 100vh;
    color: #fff;
    letter-spacing: 0.1em;
    width: 100%;
    max-width: 500px;
    margin-left: auto;
    margin-right: auto;
}

.erbtn a {
    display: block;
    width: 100%;
    height: 100%;
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 15px;
    padding: 6px;
    box-sizing: border-box;
    color: #fff;
}

.erbtn a p {
    text-align: center;
}

.mbg9 {
    position: fixed;
    width: 100%;
    height: 100vh;
    left: 0;
    top: 0;
    z-index: 19999;
    pointer-events: none;
}

.mbg9::before {
    content: "";
    display: block;
    background-color: #000;
    position: absolute;
    height: 60%;
    width: 110%;
    top: -5%;
    left: -5%;
    pointer-events: none;
    transform: translateZ(0) scaleY(1) rotate(6deg);
    transform-origin: top;
    transition: transform 1s cubic-bezier(0.6, 0, 0.3, 1), opacity 0s linear 1s;
}

.mbg9::after {
    content: "";
    display: block;
    background-color: #000;
    position: absolute;
    height: 60%;
    width: 110%;
    top: 50%;
    left: -5%;
    pointer-events: none;
    transform: translateZ(0) scaleY(1) rotate(6deg);
    transform-origin: bottom;
    transition: transform 1s cubic-bezier(0.6, 0, 0.3, 1), opacity 0s linear 1s;
}

.iloadfin .mbg9::before, .iloadfin .mbg9::after {
    -webkit-transition: 2s .4s;
    -moz-transition: 2s .4s;
    -o-transition: 2s .4s;
    transition: 2s .4s;
    transform: translateZ(0) scaleY(0);
}

.iloadfin.pageout .mbg9::before, .iloadfin.pageout .mbg9::after {
    transition-delay: 0s;
    -moz-transition-delay: 0s;
    -webkit-transition-delay: 0s;
    -o-transition-delay: 0s;
    -ms-transition-delay: 0s;
    -moz-transition: 0.6s cubic-bezier(0.52, 0.08, 0.18, 1) !important;
    -o-transition: 0.6s cubic-bezier(0.52, 0.08, 0.18, 1) !important;
    -webkit-transition: 0.6s cubic-bezier(0.52, 0.08, 0.18, 1) !important;
    transition: 0.6s cubic-bezier(0.52, 0.08, 0.18, 1) !important;
    transform: translateZ(0) scaleY(1) !important;
}

.seccontact {
    background-color: #28282C;
}

.seccontact .sectionin {
    padding-top: 140px !important;
}

@media screen and (max-width: 584px) {
    .seccontact .sectionin {
        padding-top: 70px !important;
    }
}

.seccontact .sectionin h3 {
    position: relative !important;
    left: auto !important;
    top: auto !important;
    text-align: center;
    padding-left: 0px;
    padding-bottom: 20px;
    margin-bottom: 20px;
}

.seccontact .sectionin h3 img {
    position: relative;
    z-index: 4;
    height: 28px;
    width: auto;
    margin-bottom: 20px;
}

@media screen and (max-width: 584px) {
    .seccontact .sectionin h3 img {
        height: 6vw;
        margin-bottom: 10px;
    }
}

.seccontact .sectionin h3 p {
    text-align: center;
    font-size: 20px;
    color: #00A1E9;
    margin-top: 0px;
}

@media screen and (max-width: 584px) {
    .seccontact .sectionin h3 p {
        font-size: 5vw;
    }
}

.seccontact .sectionin .eico {
    margin-left: auto;
    margin-right: auto;
    width: 80px;
    height: 80px;
    display: block;
}

@media screen and (max-width: 584px) {
    .seccontact .sectionin .eico {
        width: 50px;
        height: 50px;
    }
}

.seccontact .sectionin .eico a {
    display: block;
    width: 100%;
    height: 100%;
    position: relative;
}

.seccontact .sectionin .eico a img {
    display: block;
    vertical-align: bottom;
    width: 100%;
}

.secresult {
    background-color: #fff;
    background-size: 100% auto;
    background-position: center top;
    background-image: url("../images/top/bg_01.svg");
}

@media screen and (max-width: 584px) {
    .secresult {
        background-size: 200% auto;
    }
}

.secresult .tr2 {
    width: 26vw;
    position: absolute;
    right: 0;
    bottom: 0;
    z-index: 2;
}

.secresult .sectionin {
    padding-top: 240px !important;
}

@media screen and (max-width: 584px) {
    .secresult .sectionin {
        padding-top: 100px !important;
    }
}

.secresult .sectionin .rlist {
    position: relative;
    width: 100%;
    margin: 0;
    padding: 0;
    display: -webkit-box;
    display: -moz-box;
    display: -ms-box;
    display: -webkit-flexbox;
    display: -moz-flexbox;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: flex;
    -webkit-box-lines: multiple;
    -moz-box-lines: multiple;
    -webkit-flex-wrap: wrap;
    -moz-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
}

.secresult .sectionin .rlist li {
    width: 30.333%;
    margin-left: 1.5%;
    margin-right: 1.5%;
    margin-bottom: 30px;
    background-color: #fff;
    box-shadow: rgba(0, 0, 0, 0.24) 0px 3px 8px;
    position: relative;
    -webkit-transition: 0.3s;
    -moz-transition: 0.3s;
    -o-transition: 0.3s;
    transition: 0.3s;
}

@media screen and (max-width: 584px) {
    .secresult .sectionin .rlist li {
        margin: 0;
        margin-bottom: 20px;
        width: 100%;
    }
}

.secresult .sectionin .rlist li a {
    position: absolute;
    width: 100%;
    height: 100%;
    left: 0;
    top: 0;
    z-index: 3;
}

.secresult .sectionin .rlist li figure {
    margin-bottom: 20px;
}

.secresult .sectionin .rlist li figure > div {
    position: absolute;
    width: 100%;
    height: 100%;
    left: 0;
    top: 0;
    z-index: 2;
    background-size: cover;
    background-position: center center;
    -webkit-transition: 1s;
    -moz-transition: 1s;
    -o-transition: 1s;
    transition: 1s;
}

.secresult .sectionin .rlist li h4 {
    text-align: center;
    font-size: 18px;
    color: #000000;
    margin: 0;
    margin-bottom: 20px;
}

@media screen and (max-width: 584px) {
    .secresult .sectionin .rlist li h4 {
        font-size: 4vw;
    }
}

.secresult .sectionin .rlist li h4 span {
    font-family: 'Cormorant Garamond', serif;
    color: #00A1E9;
    font-size: 12px;
}

@media screen and (max-width: 584px) {
    .secresult .sectionin .rlist li h4 span {
        font-size: 3vw;
    }
}

.secresult .sectionin .rlist li p {
    color: #000;
    padding: 30px;
    padding-top: 0;
}

.secresult .sectionin .rlist li:hover {
    opacity: 0.7;
}

.secresult .sectionin .rlist li:hover figure > div {
    -webkit-transition: 2s;
    -moz-transition: 2s;
    -o-transition: 2s;
    transition: 2s;
    transform: scale(1.1, 1.1);
    -moz-transform: scale(1.1, 1.1);
    -webkit-transform: scale(1.1, 1.1);
    -o-transform: scale(1.1, 1.1);
    -ms-transform: scale(1.1, 1.1);
}

.secresult .sectionin .newsb {
    background-color: #000000;
    padding: 50px;
    width: 97%;
    margin-top: 40px;
    margin-left: auto;
    margin-right: auto;
    position: relative;
}

@media screen and (max-width: 584px) {
    .secresult .sectionin .newsb {
        width: 100%;
        padding: 6vw;
        margin-top: 4vw;
    }
}

.secresult .sectionin .newsb h3 {
    position: relative !important;
    left: auto !important;
    top: auto !important;
    text-align: left;
    padding-left: 20px;
    border-bottom: 1px dotted #797979;
    padding-bottom: 20px;
    margin-bottom: 20px;
}

@media screen and (max-width: 584px) {
    .secresult .sectionin .newsb h3 {
        padding-left: 0px;
        padding-bottom: 10px;
        margin-bottom: 10px;
        margin-bottom: 0px;
    }
}

.secresult .sectionin .newsb h3 img {
    position: relative;
    z-index: 4;
    height: 28px;
    width: auto;
    margin-left: 0 !important;
    margin-right: auto;
}

@media screen and (max-width: 584px) {
    .secresult .sectionin .newsb h3 img {
        height: 6vw;
    }
}

.secresult .sectionin .newsb h3 p {
    font-size: 26px;
    color: #808080;
    margin-top: 0px;
}

@media screen and (max-width: 584px) {
    .secresult .sectionin .newsb h3 p {
        font-size: 4vw;
    }
}

.secresult .sectionin .newsb .nlist {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    -webkit-flex-wrap: wrap;
    -moz-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    padding-left: 20px;
    padding-right: 20px;
    margin-top: 14px;
}

@media screen and (max-width: 584px) {
    .secresult .sectionin .newsb .nlist {
        padding-left: 0px;
        padding-right: 0px;
        margin-top: 6vw;
    }
}

.secresult .sectionin .newsb .nlist dt {
    width: 30%;
    font-size: 14px;
}

@media screen and (max-width: 584px) {
    .secresult .sectionin .newsb .nlist dt {
        font-size: 3.5vw;
        width: 100%;
    }
}

.secresult .sectionin .newsb .nlist dt span {
    font-size: 12px;
    background-color: #363636;
    border-radius: 20px;
    -moz-border-radius: 20px;
    -webkit-border-radius: 20px;
    -o-border-radius: 20px;
    -ms-border-radius: 20px;
    width: 120px;
    text-align: center;
    display: inline-block;
    margin-left: 10px;
}

.secresult .sectionin .newsb .nlist dd {
    width: 70%;
    font-size: 14px;
    color: #fff;
}

@media screen and (max-width: 584px) {
    .secresult .sectionin .newsb .nlist dd {
        font-size: 3.5vw;
        width: 100%;
        line-height: 1.6em;
    }
}

.secresult .sectionin .newsb .nlist dd a {
    color: #fff;
}

#w0 {
    opacity: 0;
}

.opsec {
    position: fixed;
    width: 100vh;
    height: 100vh;
    z-index: 9999;
}

.opsec img {
    position: absolute;
    left: 0;
    top: 0;
    height: 20vh;
    width: 100vw;
}

.loader {
    margin: 60px auto;
    font-size: 10px;
    position: relative;
    text-indent: -9999em;
    border-top: 1px solid rgba(162, 116, 188, 0.1);
    border-right: 1px solid rgba(162, 116, 188, 0.1);
    border-bottom: 1px solid rgba(162, 116, 188, 0.1);
    border-left: 1px solid #A274BC;
    -webkit-transform: translateZ(0);
    -ms-transform: translateZ(0);
    transform: translateZ(0);
    -webkit-animation: load8 1.1s infinite linear;
    animation: load8 1.1s infinite linear;
    border-radius: 50%;
    width: 50px;
    height: 50px;
}

.loader::after {
    border-radius: 50%;
    width: 50px;
    height: 50px;
}

.load0 {
    position: fixed;
    width: 100%;
    height: 100%;
    left: 0;
    top: 0;
    z-index: 199999;
    background-color: #fff;
    display: flex;
    justify-content: center;
    align-items: center;
}

.load0 .lnum {
    background-size: 100% 100%;
    background-position: center center;
    background-clip: text;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    font-size: 30px;
    width: 160px;
    text-align: center;
    margin-left: auto;
    margin-right: auto;
    margin-top: -40px;
}

.load0 .load {
    text-align: center;
}

.load0 .load img {
    width: 50%;
    margin-bottom: 40px;
}

.iloadfin {
    -moz-transition: 0.3s;
}

.iloadfin .load0 {
    -webkit-transition: 0.3s;
    -o-transition: 0.3s;
    transition: 0.3s;
    opacity: 0;
    pointer-events: none;
}

@keyframes scroll-hint-appear {
    0% {
        transform: translateX(40px);
        opacity: 0;
    }
    10% {
        opacity: 1;
    }
    50%,
    100% {
        transform: translateX(-40px);
        opacity: 0;
    }
}

footernav {
    position: fixed;
    left: 0;
    bottom: -100px;
    width: 100%;
    background-color: #fff;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-transition: 0.3s;
    -moz-transition: 0.3s;
    -o-transition: 0.3s;
    transition: 0.3s;
    z-index: 9999;
}

footernav a {
    position: relative;
    z-index: 5;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column;
    margin: 0;
    padding: 10px 0 10px 0;
    color: #9b9b9b;
    text-align: center;
    text-decoration: none;
    font-weight: 400;
    font-size: 10px;
    cursor: pointer;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-flex: 5;
    -webkit-flex-grow: 5;
    -ms-flex-positive: 5;
    flex-grow: 5;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    width: 25%;
    background-size: cover;
}

footernav a.call {
    background: #968c7f;
    color: #fff;
    border-right: 1px solid #fff;
}

footernav a.fly {
    width: 30%;
    background: #C61160;
    color: #fff;
    border-right: 1px solid #ddd;
    line-height: 1.4em;
}

footernav a.accessmap {
    background: #6B6B6B;
    border-right: 1px solid #ddd;
    color: #fff;
}

footernav a.outline {
    background: #6B6B6B;
    border-right: 1px solid #ddd;
    color: #fff;
}

footernav a.request {
    color: #fff;
    border-right: 1px solid #D9D7CE;
    background-color: #A28B5E;
    background-size: cover;
    background-position: center center;
    color: #fff;
}

footernav a.reserve {
    color: #fff;
    border-right: 1px solid #D9D7CE;
    background-color: #317a8a;
    background-size: cover;
    background-position: center center;
    color: #fff;
}

footernav .icon {
    display: block;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    margin: 0 auto;
    width: 100%;
    height: 20px;
    color: #262626;
    text-align: center;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
}

footernav .icon img {
    display: block;
    margin: 0;
    max-width: 20px;
    width: 100%;
    height: auto;
}

footernav span {
    margin-top: 5px;
    line-height: 12px;
    font-size: 10px;
    text-align: center;
}

.posfix footernav, .spmenuopane footernav {
    bottom: 0;
}

.posfix footernav {
    bottom: 0;
}

.sec1 h2 {
    text-align: center;
}

.accessfmap {
    width: 100%;
    max-width: 1000px;
    margin-left: auto;
    margin-right: auto;
}

.accessfmap img {
    display: block;
    vertical-align: bottom;
    width: 100%;
}

.hon-top02-chi {
    position: relative;
    margin-bottom: 10px;
    transition: opacity .2s ease-in-out;
}

.hon-top02-chi:hover {
    opacity: 0.7;
}

.hon-top02-chi p {
    font-family: 'Cormorant SC', sans-serif;
    position: absolute;
    top: 50%;
    left: 0%;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    color: #fff;
    display: inline-block;
    width: 100%;
    text-align: center;
    font-size: 30px;
    line-height: 1.3;
}

#footer-panel-geoshoan .hon-top02-chi p {
    line-height: 1;
}

.hon-top02-chi p span {
    font-size: 14px;
    font-family: 'Noto Serif JP', sans-serif;
}

.hon-top02-chi p span:before {
    content: '';
    display: block;
    width: 28px;
    height: 1px;
    background-color: #fff;
    margin: 0 auto;
    margin-top: 10px;
}

.top-lastp {
    font-size: 10px;
}

.footer-box {
    margin: 2em 0;
}

#footer-tel {
    font-size: 1.3em;
    color: #231815;
    letter-spacing: 0.05em;
    padding: 0.7em 0 0.5em;
    display: inline-block;
}

.button-maru {
    background-color: #A28B5E;
    border-radius: 100vh;
    color: #fff;
    text-align: center;
    position: relative;
    letter-spacing: 0.1em;
    display: inline-block;
}

.button-menu02::before {
    display: none !important;
}

#footer-button-maru {
    width: 370px;
    height: 80px;
    line-height: 80px;
    font-size: 1.125em;
}

#top-sec08-bu01 {
    width: 100%;
    height: 80px;
    line-height: 80px;
    font-size: 1.125em;
}

#top-sec08-bu02 {
    background-color: transparent;
    border: solid 1px #fff;
    width: 100%;
    height: 80px;
    line-height: 80px;
    font-size: 1.125em;
}

.button-maru:before {
    content: '';
    width: 1em;
    height: 1em;
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
}

.button-maru:hover {
    color: #fff;
    background-color: #CEBD9A;
}

#top-sec08-bu01:before {
    background-image: url(../img/footer-icon01.svg);
    padding-right: 1em;
    font-size: 1.5em;
    vertical-align: bottom;
    margin-right: 1em;
}

#top-sec08-bu02:before {
    content: none;
}

#top-sec08-bu02 i {
    padding-right: 1em;
    font-size: 1.5em;
    vertical-align: text-bottom;
}

#footer-con03 {
    background: #222222;
    padding: 2em 0;
}

#footer-con03 a {
    color: #ddd;
    border-bottom: solid 1px;
}

#footer-con01 .top-lastp {
    letter-spacing: 0.1em;
}

.sp-footer-p {
    background-color: #000;
    color: #fff;
    font-size: 10px;
    padding: 1em 0;
    line-height: 2;
}

#sp-menu-entry {
    background-color: #735175;
}

#sp-menu-entry .sp-bottommenu-p {
    color: #fff;
}

/*.navbar-toggler-icon{
	width: 20px; height: 20px;
}*/
.footer-box {
    display: none;
}

#top .footer-box#top-footerbox {
    display: block;
}

#quality .footer-box#quality-footerbox {
    display: block;
}

#geoshoan .footer-box#geosuginami-footerbox {
    display: block;
}

#location .footer-box#location-footerbox {
    display: block;
}

#design .footer-box#design-footerbox {
    display: block;
}

#plan-ind .footer-box#plan-footerbox, #plan-child .footer-box#plan-footerbox {
    display: block;
}

#access .footer-box#access-footerbox {
    display: block;
}

#brand .footer-box#brand-footerbox {
    display: block;
}

#modelroom .footer-box#modelroom-footerbox {
    display: block;
}

#login_enter .footer-box#login-footerbox, #membersonly .footer-box#login-footerbox {
    display: block;
}

#plan-child > div > .container {
    max-width: 970px;
}

/*********↑いる↑*********/
footer {
    background: #fff;
    padding: 4em 0 0;
}

.lp-footerp01 {
    font-size: 0.94em;
    line-height: 1.4;
}

#footer-mail {
    font-size: 1.57em;
    color: #231815;
    letter-spacing: 0.05em;
}

#footer-con02 {
    padding-bottom: 3em;
}

.footer-copy {
    background-color: #ccc;
    color: #000;
    font-size: 8px;
    padding: 1.5em 0;
}

.footer-bunner {
    margin-top: 2.4em;
}

.footer-bunner th {
    width: 22%;
    font-weight: 400;
    white-space: nowrap;
}

.footer-bunner th p {
    line-height: 27px;
}

.footer-bunner img {
    max-height: 27px;
    width: auto;
}

#footer-entrt {
    color: #fff;
    background: linear-gradient(-180deg, #437CBF, #94D1CD);
    font-size: 2.2em;
    padding: 0.4em 1.2em;
    display: inline-block;
    margin-bottom: 1.4em;
    position: relative;
}

#footer-entrt:hover {
    background: #437CBF;
}

#footer-entrt h1::after {
    content: '';
    background-image: url(../img/lp_22x22.svg);
    width: 1em;
    height: 1em;
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    display: inline-block;
    vertical-align: middle;
    margin-left: 0.5em;
}

footer .container {
    max-width: 1050px;
    width: 100%;
}

@media (min-width: 768px) {
    #footer-tel {
        pointer-events: none;
    }
}

@media (max-width: 991px) {
    footer {
        padding: 2em 0 0;
    }

    .footer-box {
        margin: 1em 0 2em;
    }

    #footer-con02 {
        padding-top: 2em;
        padding-bottom: 2em;
    }

    #footer-con03 {
        padding: 0;
    }

    #footer-con03 ul {
        flex-flow: column;
    }

    #footer-con03 ul li {
        padding: 15px 0;
        border-bottom: solid 1px #ccc;
    }

    #footer-con03 a {
        border-bottom: none;
    }

    #hon-top02 .row {
        display: none;
    }
}

.menuopen header nav {
    pointer-events: auto;
    opacity: 1;
    left: 0;
}

#footer-con03 ul li a {
    font-size: 12px;
}

h3 {
    font-weight: bold;
    font-size: 26px;
}

@media screen and (max-width: 584px) {
    h3 {
        font-size: 6vw;
    }
}

figure {
    position: relative;
}

figure img {
    display: block;
    vertical-align: bottom;
    width: 100%;
}

figure p.note {
    position: absolute;
    right: 5px;
    bottom: 5px;
    z-index: 2;
    margin: 0;
    line-height: 1em;
    font-size: 12px;
    color: #fff;
}

figure p.note.colb {
    color: #000;
}

figure p.note2 {
    position: absolute;
    right: 5px;
    bottom: 5px;
    z-index: 2;
    margin: 0; /* line-height: 1em; */
    font-size: 7px;
    color: #fff;
}

figure p.note3 {
    position: absolute;
    right: 5px;
    bottom: 5px;
    z-index: 2;
    margin: 0; /* line-height: 1em; */
    font-size: 7px;
    color: #000;
}

figure .swp {
    display: none;
    width: 30px !important;
    height: 30px !important;
    position: absolute;
    right: 5px;
    bottom: 20px;
    z-index: 3;
    display: none;
}

figure .swp.sty2 {
    bottom: 5px;
}

@media screen and (max-width: 584px) {
    figure .swp {
        width: 24px !important;
        height: 24px !important;
        display: block;
    }
}

#index header {
    width: 100%;
    top: -120px;
}

@media screen and (max-width: 584px) {
    #index header {
        width: 100%;
    }
}

#index #w0 {
    opacity: 1;
}

#index.pc header {
    background-color: transparent;
    -webkit-transition: 0.3s;
    -moz-transition: 0.3s;
    -o-transition: 0.3s;
    transition: 0.3s;
}

#index .conceptmov {
    padding-top: 50px;
    padding-bottom: 50px;
}

#index .conceptmov .ifigs {
    cursor: pointer;
}
#index .conceptmov .ifigs2 {
    cursor: pointer;
}

#index .entryb {
    background-color: #D7D6CE;
    padding: 40px;
    padding-bottom: 60px;
    background-size: 100% auto;
    background-position: center top;
    background-repeat: no-repeat;
    background-image: url("../images/top/img_11.png");
}

#index .entryb h3 {
    line-height: 1.8em;
    border-bottom: 2px solid #000;
    padding-bottom: 10px;
}

#index .entryb > p {
    margin-bottom: 20px;
}

@media screen and (max-width: 584px) {
    #index .entryb {
        padding: 6vw;
    }
}

#index .entryb figure {
    max-width: 400px;
    margin-left: auto;
    margin-right: auto;
    background-color: transparent !important;
}

#index .entryb .entryb1 {
    position: relative;
}

#index .entryb .entryb1 dt {
    position: relative;
    cursor: pointer;
}

#index .entryb .entryb1 dd {
    display: none;
}

#index .entryb .entryb1.act dd {
    height: 100%;
    opacity: 1;
}

#index .mainimg {
    position: fixed;
    width: 100%;
    height: 100%;
    left: 0;
    top: 0;
    z-index: 1;
}

#index .sectit {
    position: relative;
    width: 100%;
    height: 100vh;
    z-index: 3;
    display: flex;
    justify-content: center;
    align-items: center;
    -webkit-flex-wrap: wrap;
    -moz-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
}
@media screen and (max-width: 584px) {
    #index .sectit {
        height: 36vh;
    }
}
#index .sectit .arr {
    -webkit-transition: 1s;
    -moz-transition: 1s;
    -o-transition: 1s;
    transition: 1s;
    position: absolute;
    width: 50px;
    height: 50px;
    left: 50%;
    bottom: -120px;
    -webkit-transform: translateX(-50%);
    -moz-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    transform: translateX(-50%);
    -webkit-animation: 3s blink infinite cubic-bezier(0.09, 0.41, 0.43, 0.91);
    animation: 3s blink infinite cubic-bezier(0.09, 0.41, 0.43, 0.91);
}

@-webkit-keyframes blink {
    0% {
        opacity: 1;
    }
    50% {
        opacity: 0.6;
    }
    100% {
        opacity: 1;
    }
}

@keyframes blink {
    0% {
        opacity: 1;
    }
    50% {
        opacity: 0.6;
    }
    100% {
        opacity: 1;
    }
}

#index .sectit .cbg {
    position: absolute;
    width: 100%;
    height: 100%;
    left: 0;
    top: 0;
    overflow: hidden;
}
#index .sectit .cbg video{
position: absolute;
width: 100%;
height: 100%;
left: 0;
top: 0;
    object-fit: cover;
    z-index: 3;
    opacity: 0;
}
#index .sectit .cbg::before {
    position: absolute;
    width: 100%;
    height: 100%;
    left: 0;
    top: 0;
    background-color: #E9592A;
    z-index: 1;
    content: "";
    transform-origin: top;
    transform: translateZ(0) scaleY(0);
    -moz-transition: 1.6s cubic-bezier(0.52, 0.08, 0.18, 1);
    -o-transition: 1.6s cubic-bezier(0.52, 0.08, 0.18, 1);
    -webkit-transition: 1.6s cubic-bezier(0.52, 0.08, 0.18, 1);
    transition: 1.6s cubic-bezier(0.52, 0.08, 0.18, 1);
}

#index .sectit .mainc {
    width: 30%;
    position: absolute;
    left: 50%;
    top: 50%;
    z-index: 4;
    -webkit-transform: translateX(-50%) translateY(-50%);
    -moz-transform: translateX(-50%) translateY(-50%);
    -ms-transform: translateX(-50%) translateY(-50%);
    transform: translateX(-50%) translateY(-50%);
}
#index.ani2  .sectit .mainc {
/*opacity: 0;*/
/*     -webkit-transition: 2s;*/
/*      -moz-transition: 2s;*/
/*      -o-transition: 2s;*/
/*      transition: 2s;*/
}
#index.ani2 .sectit .cbg video{
opacity: 1;
     -webkit-transition: 2s;
      -moz-transition: 2s;
      -o-transition: 2s;
      transition: 2s;
}
@media screen and (max-width: 584px) {
    #index .sectit .mainc {
        /*width: 60%;*/
        /*top: -30%;*/
        width: 30%;
        top: -0%;
        -webkit-transform: translateX(-50%);
        -moz-transform: translateX(-50%);
        -ms-transform: translateX(-50%);
        transform: translateX(-50%);
    }
}

#index .sectit .mainc .bg2 {
    display: block;
    vertical-align: bottom;
    width: 100%;
    opacity: 0;
}

#index .sectit .mainc ul {
    position: absolute;
    width: 100%;
    height: 100%;
    left: 0;
    top: 0;
    transform: scale(2);
    -moz-transform: scale(2);
    -webkit-transform: scale(2);
    -o-transform: scale(2);
    -ms-transform: scale(2);
    -moz-transition: 2s cubic-bezier(0.52, 0.08, 0.18, 1);
    -o-transition: 2s cubic-bezier(0.52, 0.08, 0.18, 1);
    -webkit-transition: 2s cubic-bezier(0.52, 0.08, 0.18, 1);
    transition: 2s cubic-bezier(0.52, 0.08, 0.18, 1);
}

#index .sectit .mainc ul li {
    position: absolute;
    width: 100%;
    height: 100%;
    left: 0;
    top: 0;
}

#index .sectit .mainc ul li::before {
    position: absolute;
    width: 100%;
    height: 100%;
    left: 0;
    content: "";
    top: 0;
    background-size: 100% 100%;
    background-position: center center;
    background-image: url("../images/top/img_01_01.svg");
    transform: scale(1.2, 1.2) translateY(35%) rotate(0.01deg);
    -moz-transform: scale(1.2, 1.2) translateY(35%) rotate(0.01deg);
    -webkit-transform: scale(1.2, 1.2) translateY(35%) rotate(0.01deg);
    -o-transform: scale(1.2, 1.2) translateY(35%) rotate(0.01deg);
    -ms-transform: scale(1.2, 1.2) translateY(35%) rotate(0.01deg);
    -webkit-transition: 2s;
    -moz-transition: 2s;
    -o-transition: 2s;
    transition: 2s;
    opacity: 0;
}

#index .sectit .mainc ul li:nth-child(2)::before {
    background-image: url("../images/top/img_01_02.svg");
}

#index .sectit .mainc ul li:nth-child(3)::before {
    background-image: url("../images/top/img_01_03.svg");
}

#index .sectit .mainc ul li:nth-child(4)::before {
    background-image: url("../images/top/img_01_04.svg");
}

#index .sectit .mainc ul li:nth-child(5)::before {
    background-image: url("../images/top/img_01_05.svg");
}

#index .sectit .mainc ul li:nth-child(6)::before {
    background-image: url("../images/top/img_01_06.svg");
}

#index .sectit .mainc ul li:nth-child(7)::before {
    background-image: url("../images/top/img_01_07.svg");
}

#index .sectit .mainc ul li:nth-child(8)::before {
    background-image: url("../images/top/img_01_08.svg");
}

#index .sectit .mainc ul li:nth-child(9)::before {
    background-image: url("../images/top/img_01_09.svg");
}

#index .sectit .mainc ul li:nth-child(10)::before {
    background-image: url("../images/top/img_01_10.svg");
}

#index .sectit .mainc ul li:nth-child(11)::before {
    transform: scale(1) translateY(0);
    -moz-transform: scale(1) translateY(0);
    -webkit-transform: scale(1) translateY(0);
    -o-transform: scale(1) translateY(0);
    -ms-transform: scale(1) translateY(0);
    background-image: url("../images/top/img_01_11.svg");
}

#index .sectit .mainc ul li:nth-child(12)::before {
    transform: scale(1) translateY(0);
    -moz-transform: scale(1) translateY(0);
    -webkit-transform: scale(1) translateY(0);
    -o-transform: scale(1) translateY(0);
    -ms-transform: scale(1) translateY(0);
    background-image: url("../images/top/img_01_12.svg");
}

#index .sectit .mainc ul li:nth-child(13)::before {
    transform: scale(1) translateY(0);
    -moz-transform: scale(1) translateY(0);
    -webkit-transform: scale(1) translateY(0);
    -o-transform: scale(1) translateY(0);
    -ms-transform: scale(1) translateY(0);
    background-image: url("../images/top/img_01_13.svg");
}

#index .sbg0 {
    pointer-events: none;
    position: fixed;
    width: 100%;
    height: 100vh;
    left: 0;
    top: 0;
    z-index: 1;
}

#index .sbg0 .cv {
    position: absolute;
    width: 100%;
    height: 100%;
    left: 0;
    top: 0;
    z-index: 2;
    background-color: rgba(255, 255, 255, 0.5);
    opacity: 0;
    -webkit-transition: 2s;
    -moz-transition: 2s;
    -o-transition: 2s;
    transition: 2s;
}

#index .sbg0 .cv2 {
    position: absolute;
    width: 100%;
    height: 100%;
    left: 0;
    top: 0;
    z-index: 3;
    opacity: 0;
    -webkit-transition: 2s;
    -moz-transition: 2s;
    -o-transition: 2s;
    transition: 2s;
    background-size: cover;
    background-position: center center;
    background-image: url("../images/top/img_04.jpg");
}

#index .sbg0 .cv3 {
    position: absolute;
    width: 100%;
    height: 100%;
    left: 0;
    top: 0;
    z-index: 3;
    opacity: 0;
    -webkit-transition: 2s;
    -moz-transition: 2s;
    -o-transition: 2s;
    transition: 2s;
    background-size: cover;
    background-position: center center;
    background-image: url("../images/top/img_05.jpg");
}

#index .sbg0 .cv4 {
    position: absolute;
    width: 100%;
    height: 100%;
    left: 0;
    top: 0;
    z-index: 3;
    opacity: 0;
    -webkit-transition: 2s;
    -moz-transition: 2s;
    -o-transition: 2s;
    transition: 2s;
    background-size: cover;
    background-position: center center;
    background-image: url("../images/top/img_06.jpg");
}

#index .sbg0 .cv5 {
    position: absolute;
    width: 100%;
    height: 100%;
    left: 0;
    top: 0;
    z-index: 3;
    opacity: 0;
    -webkit-transition: 2s;
    -moz-transition: 2s;
    -o-transition: 2s;
    transition: 2s;
    background-size: cover;
    background-position: center center;
    background-image: url("../images/top/img_07.jpg");
}

#index .sbg0 .cv6 {
    position: absolute;
    width: 100%;
    height: 100%;
    left: 0;
    top: 0;
    z-index: 3;
    opacity: 0;
    -webkit-transition: 2s;
    -moz-transition: 2s;
    -o-transition: 2s;
    transition: 2s;
    background-size: cover;
    background-position: center center;
    background-image: url("../images/top/img_08.jpg");
}

#index .sbg0 video {
    position: absolute;
    top: 50%;
    left: 50%;
    min-width: 100%;
    min-height: 107%;
    min-height: 210%;
    -webkit-transform: translate(-50%, -50%);
    -moz-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    z-index: 1;
    opacity: 0;
    -webkit-transition: 1s;
    -moz-transition: 1s;
    -o-transition: 1s;
    transition: 1s;
}

#index #w0 {
    position: relative;
    z-index: 3;
}

#index.s1in .sbg0 .cv {
    opacity: 1;
}

#index.s1in header nav.gmenutop {
    pointer-events: auto;
    opacity: 1;
    -webkit-transform: translateX(0) translateY(0);
    -moz-transform: translateX(0) translateY(0);
    -ms-transform: translateX(0) translateY(0);
    transform: translateX(0) translateY(0);
}

#index.ani1 section.sectit .cbg::before {
    transform: translateZ(0) scaleY(1);
}

#index.ani1 section.sectit .mainc ul {
    transform: scale(1, 1);
    -moz-transform: scale(1, 1);
    -webkit-transform: scale(1, 1);
    -o-transform: scale(1, 1);
    -ms-transform: scale(1, 1);
}

#index.ani1 section.sectit .mainc ul li::before {
    opacity: 1;
    transform: scale(1) translateY(0) rotate(0.01deg);
    -moz-transform: scale(1) translateY(0) rotate(0.01deg);
    -webkit-transform: scale(1) translateY(0) rotate(0.01deg);
    -o-transform: scale(1) translateY(0) rotate(0.01deg);
    -ms-transform: scale(1) translateY(0) rotate(0.01deg);
}

#index.ani1 section.sectit .mainc ul li:nth-child(2)::before {
    transition-delay: 0.1s;
    -moz-transition-delay: 0.1s;
    -webkit-transition-delay: 0.1s;
    -o-transition-delay: 0.1s;
    -ms-transition-delay: 0.1s;
}

#index.ani1 section.sectit .mainc ul li:nth-child(3)::before {
    transition-delay: 0.2s;
    -moz-transition-delay: 0.2s;
    -webkit-transition-delay: 0.2s;
    -o-transition-delay: 0.2s;
    -ms-transition-delay: 0.2s;
}

#index.ani1 section.sectit .mainc ul li:nth-child(4)::before {
    transition-delay: 0.3s;
    -moz-transition-delay: 0.3s;
    -webkit-transition-delay: 0.3s;
    -o-transition-delay: 0.3s;
    -ms-transition-delay: 0.3s;
}

#index.ani1 section.sectit .mainc ul li:nth-child(5)::before {
    transition-delay: 0.4s;
    -moz-transition-delay: 0.4s;
    -webkit-transition-delay: 0.4s;
    -o-transition-delay: 0.4s;
    -ms-transition-delay: 0.4s;
}

#index.ani1 section.sectit .mainc ul li:nth-child(6)::before {
    transition-delay: 0.5s;
    -moz-transition-delay: 0.5s;
    -webkit-transition-delay: 0.5s;
    -o-transition-delay: 0.5s;
    -ms-transition-delay: 0.5s;
}

#index.ani1 section.sectit .mainc ul li:nth-child(7)::before {
    transition-delay: 0.6s;
    -moz-transition-delay: 0.6s;
    -webkit-transition-delay: 0.6s;
    -o-transition-delay: 0.6s;
    -ms-transition-delay: 0.6s;
}

#index.ani1 section.sectit .mainc ul li:nth-child(8)::before {
    transition-delay: 0.7s;
    -moz-transition-delay: 0.7s;
    -webkit-transition-delay: 0.7s;
    -o-transition-delay: 0.7s;
    -ms-transition-delay: 0.7s;
}

#index.ani1 section.sectit .mainc ul li:nth-child(9)::before {
    transition-delay: 0.8s;
    -moz-transition-delay: 0.8s;
    -webkit-transition-delay: 0.8s;
    -o-transition-delay: 0.8s;
    -ms-transition-delay: 0.8s;
}

#index.ani1 section.sectit .mainc ul li:nth-child(10)::before {
    transition-delay: 0.9s;
    -moz-transition-delay: 0.9s;
    -webkit-transition-delay: 0.9s;
    -o-transition-delay: 0.9s;
    -ms-transition-delay: 0.9s;
}

#index.ani1 section.sectit .mainc ul li:nth-child(11)::before {
    transition-delay: 2s;
    -moz-transition-delay: 2s;
    -webkit-transition-delay: 2s;
    -o-transition-delay: 2s;
    -ms-transition-delay: 2s;
}

#index.ani1 section.sectit .mainc ul li:nth-child(12)::before {
    transition-delay: 2s;
    -moz-transition-delay: 2s;
    -webkit-transition-delay: 2s;
    -o-transition-delay: 2s;
    -ms-transition-delay: 2s;
}

#index.ani1 section.sectit .mainc ul li:nth-child(13)::before {
    transition-delay: 2s;
    -moz-transition-delay: 2s;
    -webkit-transition-delay: 2s;
    -o-transition-delay: 2s;
    -ms-transition-delay: 2s;
}

#index.ani1 header {
    -webkit-transition: 1s;
    -moz-transition: 1s;
    -o-transition: 1s;
    transition: 1s;
    top: 0px;
}

#index.ani2 .sectit .arr {
    bottom: 20px;
}

#index.ani2 header {
    -webkit-transition: 0s;
    -moz-transition: 0s;
    -o-transition: 0s;
    transition: 0s;
}

#index.ss1 .sbg0 video {
    opacity: 1;
}

#index.ss1.ss2 .sbg0 video {
    opacity: 0;
}

#index.ss1.ss2 .sbg0 .cv2 {
    opacity: 1;
}

#index.ss1.ss2.ss3 .sbg0 .cv3 {
    opacity: 1;
}

#index.ss1.ss2.ss3.ss4 .sbg0 .cv4 {
    opacity: 1;
}

#index.ss1.ss2.ss3.ss4.ss5 .sbg0 .cv5 {
    opacity: 1;
}

#index.ss1.ss2.ss3.ss4.ss5.ss6 .sbg0 .cv6 {
    opacity: 1;
}

#index section {
    position: relative;
    z-index: 5;
}

#index section.seccontent {
    position: relative;
    padding-right: 7vw;
    padding-top: 100px;
}

@media screen and (max-width: 584px) {
    #index section.seccontent {
        padding-right: 6vw;
        padding-left: 6vw;
        padding-bottom: 6vw;
        padding-top: 44px;
    }
}

#index section.seccontent .sectionin2 {
    box-shadow: rgba(0, 0, 0, 0.35) 0px 5px 15px;
    position: relative;
    background-color: rgba(255, 255, 255, 0.9);
    background-color: #e95a2a;
    width: 53%;
    max-width: 768px;
    margin-left: auto;
    margin-right: 0;
}

#index section.seccontent .sectionin2 figure {
    position: relative;
    background-color: #fff;
    overflow: hidden;
}

#index section.seccontent .sectionin2 figure img {
    display: block;
    vertical-align: bottom;
    width: 100%;
}

#index section.seccontent .sectionin2 figure.ifig2 {
    background-color: transparent;
    max-width: 500px;
    margin-left: auto;
    margin-right: auto;
    margin-top: 40px;
    margin-bottom: 60px;
}

#index section.seccontent .sectionin2 figure.ifig3 {
    background-color: transparent;
    max-width: 500px;
    margin-left: auto;
    margin-right: auto;
    margin-top: 0px;
    margin-bottom: 0px;
}

@media screen and (max-width: 584px) {
    #index section.seccontent .sectionin2 {
        width: 100%;
        margin-left: auto;
        margin-right: auto;
    }
}

#index section.seccontent .sectionin2 .secin {
    padding: 30px;
}

@media screen and (max-width: 584px) {
    #index section.seccontent .sectionin2 .secin {
        padding: 6vw;
    }
}

#index section.seccontent .sectionin2 .secin2 {
    padding: 10px;
}

#index section.seccontent .sectionin2 .p1 {
    font-size: 40px;
    color: #D8D7CF;
}

@media screen and (max-width: 584px) {
    #index section.seccontent .sectionin2 .p1 {
        font-size: 6vw;
    }
}

#index section.seccontent .sectionin2 .koudou1 {
    font-size: 35px;
    color: #ffffff;
    text-align: center;
    font-weight: bold;
    margin-bottom: 10px;
    line-height: 1.5em;
}

@media screen and (max-width: 584px) {
    #index section.seccontent .sectionin2 .koudou1 {
        font-size: 7.5vw;
        font-weight: bold;
        margin-bottom: 10px;
    }
}

#index section.seccontent .sectionin2 .koudou2 {
    font-size: 12px;
    color: #ffffff;
    text-align: center;
    /* font-weight: bold; */
    margin-bottom: 40px;
    line-height: 1.5em;
}

@media screen and (max-width: 584px) {
    #index section.seccontent .sectionin2 .koudou2 {
        font-size: 3.0vw;
        font-weight: bold;
        margin-bottom: 20px;
        text-align: left;
    }
}


#index section.seccontent .sectionin2 .koudou3 {
    font-size: 35px;
    color: #ffffff;
    text-align: center;
    font-weight: bold;
    margin-bottom: 10px;
    line-height: 0.9em;
}

@media screen and (max-width: 584px) {
    #index section.seccontent .sectionin2 .koudou3 {
        font-size: 7.5vw;
        font-weight: bold;
        margin-bottom: 30px;
    }
}

#index section.seccontent .sectionin2 ._tes {
    display: block;
    vertical-align: bottom;
    width: 100%;
}

#index section.seccontent .sectionin2 h3 {
    text-align: center;
    font-size: 34px;
    margin: 0;
    margin-bottom: 20px;
}

@media screen and (max-width: 584px) {
    #index section.seccontent .sectionin2 h3 {
        font-size: 5vw;
        margin-bottom: 10px;
        margin-top: 10px;
    }
}


#index section.seccontent .sectionin2 h4 {
    text-align: center;
    font-size: 34px;
    margin: 0;
    margin-bottom: 20px;
    margin-top: 20px;
    color: white;
    font-weight: bold;
}

@media screen and (max-width: 584px) {
    #index section.seccontent .sectionin2 h4 {
        font-size: 5vw;
        margin-bottom: 10px;
        margin-top: 10px;
        color: white
    }
}

#index section.seccontent .sectionin2 .information {
    margin-bottom: 40px;

    height: 100px;
    overflow: auto;
}

#index section.seccontent .sectionin2 .information dl {
    display: flex;
    justify-content: center;
    align-items: center;
    -webkit-flex-wrap: wrap;
    -moz-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    font-size: 12px;
    color: #ffffff;
    line-height: 1.4em;
    margin: 0;
    margin-bottom: 10px;
}

#index section.seccontent .sectionin2 .information dl dt {
    width: 100px;
}

#index section.seccontent .sectionin2 .information dl dd {
    width: calc(100% - 150px);
}

#index section.seccontent .sectionin2 .ifigs {
    box-shadow: rgba(0, 0, 0, 0.35) 0px 5px 15px;
}
#index section.seccontent .sectionin2 .ifigs2 {
    box-shadow: rgba(0, 0, 0, 0.35) 0px 5px 15px;
}

#index section.seccontent .sectionin2 .merit {
    display: flex;
    justify-content: center;
    align-items: center;
    -webkit-flex-wrap: wrap;
    -moz-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    margin-top: 40px;
    margin-bottom: 40px;
}

#index section.seccontent .sectionin2 .merit li {
    width: 100%;
    margin-bottom: 6px;
    background-color: #D7D6CE;
    padding-top: 20px;
    padding-bottom: 20px;
}

#index section.seccontent .sectionin2 .merit li img {
    display: block;
    vertical-align: bottom;
    width: 100%; /* height: 24px; */
    margin-left: auto;
    margin-right: auto;
}

@-webkit-keyframes bounce {
    5% {
        -webkit-transform: scale(1.1, 0.8);
    }
    10% {
        -webkit-transform: scale(0.8, 1.1) translateY(-5px);
    }
    15% {
        -webkit-transform: scale(1, 1);
    }
}

@keyframes bounce {
    5% {
        transform: scale(1.1, 0.8);
    }
    10% {
        transform: scale(0.8, 1.1) translateY(-5px);
    }
    15% {
        transform: scale(1, 1);
    }
}

.waves {
    position: fixed;
    width: 100vw;
    height: 10vh;
    margin-bottom: -7px; /*Fix for safari gap*/
    min-height: 100px;
    max-height: 150px;
    z-index: 7;
    left: 0;
    bottom: 0;
}

/*.content {*/
/*    position:relative;*/
/*    height:20vh;*/
/*    text-align:center;*/
/*    background-color: white;*/
/*}*/
.wvani > use {
    animation: move-forever 35s cubic-bezier(0.55, 0.5, 0.45, 0.5) infinite;
}

.wvani > use:nth-child(1) {
    animation-delay: -2s;
    animation-duration: 17s;
}

.wvani > use:nth-child(2) {
    animation-delay: -3s;
    animation-duration: 20s;
}

.wvani > use:nth-child(3) {
    animation-delay: -4s;
    animation-duration: 23s;
}

.wvani > use:nth-child(4) {
    animation-delay: -5s;
    animation-duration: 30s;
}

@keyframes move-forever {
    0% {
        transform: translate3d(-90px, 0, 0);
    }
    100% {
        transform: translate3d(85px, 0, 0);
    }
}

@media (max-width: 768px) {
    .waves {
        height: 40px;
        min-height: 40px;
    }

    h1 {
        font-size: 24px;
    }
}

#index header nav.gmenutop {
    display: block;
    width: 33%;
    position: fixed;
    right: auto;
    left: 6%;
    top: 15%;
    opacity: 0;
    -webkit-transform: translateY(10%);
    -moz-transform: translateY(10%);
    -ms-transform: translateY(10%);
    transform: translateY(10%);
    pointer-events: none;
    -webkit-transition: 1s;
    -moz-transition: 1s;
    -o-transition: 1s;
    transition: 1s;
}

#index header nav.gmenutop ul.gmenu3 {
    display: flex;
    justify-content: space-between;
    align-items: center;
    -webkit-flex-wrap: wrap;
    -moz-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    position: relative;
    width: 100%;
    z-index: 5;
}

#index header nav.gmenutop ul.gmenu3 li {
    position: relative;
    width: 100%;
    height: 70px;
    margin-bottom: 10px;
    -webkit-transition: 0.3s;
    -moz-transition: 0.3s;
    -o-transition: 0.3s;
    transition: 0.3s;
    box-sizing: border-box;
    background-color: #A28B5E;
    border-radius: 100vh;
    color: #fff;
    letter-spacing: 0.1em;
}

@media screen and (max-width: 584px) {
    #index header nav.gmenutop ul.gmenu3 li {
        width: 100%;
        height: 60px;
        margin-bottom: 5px;
    }
}

#index header nav.gmenutop ul.gmenu3 li.webinar {
    background-color: #4a629c;
}

#index header nav.gmenutop ul.gmenu3 li.webinar2 {
    background-color: #317a8a;
}

#index header nav.gmenutop ul.gmenu3 li a {
    display: block;
    width: 100%;
    height: 100%;
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 15px;
    padding: 6px;
    box-sizing: border-box;
    color: #fff;
}

#index header nav.gmenutop ul.gmenu3 li a p {
    text-align: center;
    line-height: 1em;
}

#index header nav.gmenutop ul.gmenu3 li:hover {
    background-color: #E9592A;
}

#index header nav.gmenutop ul.gmenu3 li:hover.webinar {
    background-color: #fff;
}

#index header nav.gmenutop ul.gmenu3 li:hover.webinar a {
    color: #800073;
}

#index header nav.gmenutop ul.gmenu3 li:hover.webinar2 {
    background-color: #fff;
}

#index header nav.gmenutop ul.gmenu3 li:hover.webinar2 a {
    color: #800073;
}

#index header nav.gmenutop ul.gmenu2 li {
    position: relative;
    width: 48%;
    height: 60px;
    margin-bottom: 10px;
    background-color: #9f9e96;
    border-right: none;
    -webkit-transition: 0.3s;
    -moz-transition: 0.3s;
    -o-transition: 0.3s;
    transition: 0.3s;
}

@media screen and (max-width: 584px) {
    #index header nav.gmenutop {
        -moz-transition: 0.6s cubic-bezier(0.52, 0.08, 0.18, 1);
        -o-transition: 0.6s cubic-bezier(0.52, 0.08, 0.18, 1);
        -webkit-transition: 0.6s cubic-bezier(0.52, 0.08, 0.18, 1);
        transition: 0.6s cubic-bezier(0.52, 0.08, 0.18, 1);
        width: 100%;
        left: -100%;
        top: 70px;
        height: calc(100vh - 70px);
        -webkit-transform: translateX(0) translateY(0);
        -moz-transform: translateX(0) translateY(0);
        -ms-transform: translateX(0) translateY(0);
        transform: translateX(0) translateY(0);
        pointer-events: none;
        background-color: #E95A2A;
        padding: 20px;
        z-index: 7777;
        opacity: 1;
    }
}

#index header nav.gmenutop ul {
    display: flex;
    justify-content: space-between;
    align-items: center;
    -webkit-flex-wrap: wrap;
    -moz-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
}

#index header nav.gmenutop ul li {
    position: relative;
    width: 48%;
    height: 60px;
    margin-bottom: 10px;
    background-color: #000;
    border-right: none;
    -webkit-transition: 0.3s;
    -moz-transition: 0.3s;
    -o-transition: 0.3s;
    transition: 0.3s;
}

@media screen and (max-width: 584px) {
    #index header nav.gmenutop ul li {
        width: 100%;
        margin-bottom: 5px;
    }
}

#index header nav.gmenutop ul li:hover {
    opacity: 0.7;
}

#index header nav.gmenutop ul li:hover a > div .ct1 {
    opacity: 0;
}

#index header nav.gmenutop ul li:hover a > div .ct2 {
    opacity: 1;
}

#index header nav.gmenutop ul li a {
    display: block;
    width: 100%;
    height: 100%;
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 16px;
    padding: 8px;
    box-sizing: border-box;
    color: #fff;
}

#index header nav.gmenutop ul li a > div {
    width: 100%;
    position: relative;
}

#index header nav.gmenutop ul li a > div .ct1 {
    width: 100%;
    text-align: center;
    position: relative;
    -webkit-transition: 0.3s;
    -moz-transition: 0.3s;
    -o-transition: 0.3s;
    transition: 0.3s;
}

#index header nav.gmenutop ul li a > div .ct2 {
    -webkit-transition: 0.3s;
    -moz-transition: 0.3s;
    -o-transition: 0.3s;
    transition: 0.3s;
    opacity: 0;
    position: absolute;
    left: 50%;
    top: 50%;
    width: 100%;
    text-align: center;
    -webkit-transform: translateX(-50%) translateY(-50%);
    -moz-transform: translateX(-50%) translateY(-50%);
    -ms-transform: translateX(-50%) translateY(-50%);
    transform: translateX(-50%) translateY(-50%);
    z-index: 2;
}

#index header nav.gmenutop ul li.req {
    background-color: #D9D7CE;
}

#index header nav.gmenutop ul li.req a {
    color: #000;
}

nav.gmenutop {
    display: block;
    width: 70%;
    position: fixed;
    right: 10px;
    top: 20px;
    -webkit-transition: 1s;
    -moz-transition: 1s;
    -o-transition: 1s;
    transition: 1s;
}

@media screen and (max-width: 584px) {
    nav.gmenutop {
        -moz-transition: 0.6s cubic-bezier(0.52, 0.08, 0.18, 1);
        -o-transition: 0.6s cubic-bezier(0.52, 0.08, 0.18, 1);
        -webkit-transition: 0.6s cubic-bezier(0.52, 0.08, 0.18, 1);
        transition: 0.6s cubic-bezier(0.52, 0.08, 0.18, 1);
        width: 100%;
        left: -100%;
        top: 70px;
        height: calc(100vh - 70px);
        -webkit-transform: translateX(0) translateY(0);
        -moz-transform: translateX(0) translateY(0);
        -ms-transform: translateX(0) translateY(0);
        transform: translateX(0) translateY(0);
        pointer-events: none;
        background-color: #E95A2A;
        padding: 20px;
        z-index: 7777;
        opacity: 1;
    }
}

nav.gmenutop ul {
    display: flex;
    justify-content: space-between;
    align-items: center;
    -webkit-flex-wrap: wrap;
    -moz-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
}

nav.gmenutop ul li {
    position: relative;
    width: calc(100% / 7);
    height: 60px;
    margin-bottom: 10px;
    background-color: #000;
    -webkit-transition: 0.3s;
    -moz-transition: 0.3s;
    -o-transition: 0.3s;
    transition: 0.3s;
    box-sizing: border-box;
    border-right: 1px solid #E95A2A;
}

@media screen and (max-width: 584px) {
    nav.gmenutop ul li {
        width: 100%;
        margin-bottom: 5px;
    }
}

nav.gmenutop ul li:hover {
    opacity: 0.7;
}

nav.gmenutop ul li a {
    display: block;
    width: 100%;
    height: 100%;
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 13px;
    padding: 6px;
    box-sizing: border-box;
    color: #fff;
}

nav.gmenutop ul li.req {
    background-color: #D9D7CE;
}

nav.gmenutop ul li.req a {
    color: #000;
}


nav.gmenutop ul li:nth-child()::after {
    width: 53px;
    height: 13px;
    display: block;
    font-size: 10px;
    padding-left: 4px;
    padding-right: 4px;
    line-height: 10px;
    padding-top: 1px;
    padding-bottom: 2px;
    text-align: center;
    box-sizing: border-box;
    color: #FEE1A0;
    background-color: #b42024;
    position: absolute;
    left: 20px;
    top: 2px;
    z-index: 3;
    content: "NEW";
}

.gmenu li:nth-child()::after {
    width: 53px;
    height: 13px;
    display: block;
    font-size: 10px;
    padding-left: 4px;
    padding-right: 4px;
    line-height: 10px;
    padding-top: 1px;
    padding-bottom: 2px;
    text-align: center;
    box-sizing: border-box;
    color: #FEE1A0;
    background-color: #b42024;
    position: absolute;
    left: 20px;
    top: 2px;
    z-index: 3;
    content: "NEW";
}


.bftin header nav.gmenutop {
    opacity: 0 !important;
    pointer-events: none !important;
}

#index .mov2 {
    position: relative;
}

#index .ifigs {
}

#index .ifigs {
    background-color: #fff
}

#index .ifigs:hover img {
    opacity: 0.7;
}

#index .ifigs:hover video {
    opacity: 0.7;
}

#index .ifigs img {
    -webkit-transition: 0.3s;
    -moz-transition: 0.3s;
    -o-transition: 0.3s;
    transition: 0.3s;
}


#index .ifigs2 {
}

#index .ifigs2 {
    background-color: #fff
}

#index .ifigs2:hover img {
    opacity: 0.7;
}

#index .ifigs2:hover video {
    opacity: 0.7;
}

#index .ifigs2 img {
    -webkit-transition: 0.3s;
    -moz-transition: 0.3s;
    -o-transition: 0.3s;
    transition: 0.3s;
}


#index .mov2 video {
    position: absolute;
    width: 100%;
    height: 100%;
    left: 0;
    top: 0;
    z-index: 1;
    -webkit-transition: 0.3s;
    -moz-transition: 0.3s;
    -o-transition: 0.3s;
    transition: 0.3s;
}

#index .mov2 .cv {
    position: relative;
    z-index: 5;
    display: block;
    vertical-align: bottom;
}

#pop_movie {
    position: fixed;
    width: 100%;
    height: 100vh;
    left: 0;
    top: 0;
    z-index: 9999;
    background-color: rgba(0, 0, 0, 0.7);
    pointer-events: none;
    -moz-transition: 1s cubic-bezier(0.52, 0.08, 0.18, 1);
    -o-transition: 1s cubic-bezier(0.52, 0.08, 0.18, 1);
    -webkit-transition: 1s cubic-bezier(0.52, 0.08, 0.18, 1);
    transition: 1s cubic-bezier(0.52, 0.08, 0.18, 1);
    opacity: 0;
    -webkit-transform: scale(1.3) rotate(0.01deg);
    -moz-transform: scale(1.3) rotate(0.01deg);
    -ms-transform: scale(1.3) rotate(0.01deg);
    transform: scale(1.3) rotate(0.01deg);
}

#pop_movie .secin {
    z-index: 15;
    width: 100%;
    height: 100%;
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
}

#pop_movie .secin iframe {
    position: relative;
    width: 80%;
    height: 80%;
}

#pop_movie .secin video.act {
    display: block;
}

#pop_movie .close {
    width: 50px;
    height: 50px;
    position: absolute;
    right: -50px;
    top: 50px;
    border: 1px solid #fff;
    cursor: pointer;
    z-index: 17;
    -webkit-transition: 1s;
    -moz-transition: 1s;
    -o-transition: 1s;
    transition: 1s;
}

#pop_movie .close:before {
    width: 25px;
    height: 1px;
    background: #fff;
    position: absolute;
    left: 50%;
    top: 50%;
    content: "";
    transform: translate(-50%, -50%) rotate(45deg);
}

#pop_movie .close:after {
    width: 25px;
    height: 1px;
    background: #fff;
    position: absolute;
    left: 50%;
    top: 50%;
    content: "";
    transform: translate(-50%, -50%) rotate(-45deg);
}

#pop_movie.act {
    pointer-events: auto;
    opacity: 1;
    -webkit-transform: scale(1) rotate(0.01deg);
    -moz-transform: scale(1) rotate(0.01deg);
    -ms-transform: scale(1) rotate(0.01deg);
    transform: scale(1) rotate(0.01deg);
}

#pop_movie.act .close {
    right: 50px;
}

/* パソコンで見たときは"pc"のclassがついた画像が表示される */
.pc { display: block !important; }
.sp { display: none !important; }
 
/* スマートフォンで見たときは"sp"のclassがついた画像が表示される */
@media only screen and (max-width: 750px) {
    .pc { display: none !important; }
    .sp { display: block !important; }
}


#footer-button-maru{


    font-size: 16px;

}
.ftcbtn{
    margin-left: auto;
    margin-right: auto;
display: block;
    margin-bottom: 40px;

}
.seccontent{
    width: 100%;
    height: 100vh;
    background-size: cover;
    background-position: center center;
    background-image: url('../images/top/img_01_01.jpg');
}

@media screen and (max-width: 584px) {
    .seccontent{
    width: 100%;
    height: 70vh;
    background-size: cover;
    background-position: center center;
    background-image: url('../images/top/img_01_01.jpg');
    }
}

.seccontent .secin::before{
    position: absolute;
    width: 100%;
    height: 100%;
    left: 0;
    top: 0;
    z-index: 1;
    /* background-color: rgba(100,100,100,0.5); */
    background-color: #fff;
    opacity: 0.7;
    content: "";
}
.seccontent .secin p{
    position: relative;
    z-index: 5;
    font-size: 24px;
    text-align: center;
    font-family: serif;
}
.seccontent .secin p.p1{
    font-size: 40px;
    margin-bottom: 20px;
    font-family: serif;
}
.seccontent .secin{
    backdrop-filter: blur(3px);
    position: absolute;
    width: 100%;
    max-width: 900px;
    padding: 40px;
    left: 50%;
    top: 50%;
    z-index: 5;
    -webkit-transform: translateX(-50%) translateY(-50%);
    -moz-transform: translateX(-50%) translateY(-50%);
    -ms-transform: translateX(-50%) translateY(-50%);
    transform: translateX(-50%) translateY(-50%);
    box-shadow: 0px 4px 3px 0px rgba(0,0,0,0.2);
    -webkit-box-shadow: 0px 5px 5px 0px rgba(0,0,0,0.4);
    -moz-box-shadow: 0px 4px 3px 0px rgba(0,0,0,0.2);
}
@media only screen and (max-width: 750px) {
    .seccontent .secin{
        width: 80%;
        padding: 40px 0;
    }
    .seccontent .secin p{
        font-size: 4vw;
    }
    .seccontent .secin p.p1{
        font-size: 7vw;
        margin-bottom: 6vw;
        font-feature-settings : "palt";
        letter-spacing: 0;


    }
    .ftcbtn{

        width: 80%;

    }
    #footer-button-maru{

        height: 60px;
        line-height: 60px;


    }
    #footer-button-maru {
        font-size: 4.5vw;
    }
}