@charset "UTF-8";
/* Generic Layout Style
 * =================================================================================
**/
/*! normalize.css v7.0.0 | MIT License | github.com/necolas/normalize.css */
/* Document
   ========================================================================== */
/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in
 *    IE on Windows Phone and in iOS.
 */

html {
    line-height: 1.15;
    /* 1 */
    
    -ms-text-size-adjust: 100%;
    /* 2 */
    
    -webkit-text-size-adjust: 100%;
    /* 2 */
}
/* Sections
   ========================================================================== */
/**
 * Remove the margin in all browsers (opinionated).
 */

body {
    margin: 0;
}
/**
 * Add the correct display in IE 9-.
 */

article,
aside,
footer,
header,
nav,
section {
    display: block;
}
/**
 * Correct the font size and margin on `h1` elements within `section` and
 * `article` contexts in Chrome, Firefox, and Safari.
 */

h1 {
    font-size: 2em;
    margin: 0.67em 0;
}
/* Grouping content
   ========================================================================== */
/**
 * Add the correct display in IE 9-.
 * 1. Add the correct display in IE.
 */

figcaption,
figure,
main {
    /* 1 */
    
    display: block;
}
/**
 * Add the correct margin in IE 8.
 */

figure {
    margin: 1em 40px;
}
/**
 * 1. Add the correct box sizing in Firefox.
 * 2. Show the overflow in Edge and IE.
 */

hr {
    box-sizing: content-box;
    /* 1 */
    
    height: 0;
    /* 1 */
    
    overflow: visible;
    /* 2 */
}
/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */

pre {
    font-family: monospace, monospace;
    /* 1 */
    
    font-size: 1em;
    /* 2 */
}
/* Text-level semantics
   ========================================================================== */
/**
 * 1. Remove the gray background on active links in IE 10.
 * 2. Remove gaps in links underline in iOS 8+ and Safari 8+.
 */

a {
    background-color: transparent;
    /* 1 */
    
    -webkit-text-decoration-skip: objects;
    /* 2 */
}
/**
 * 1. Remove the bottom border in Chrome 57- and Firefox 39-.
 * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
 */

abbr[title] {
    border-bottom: none;
    /* 1 */
    
    text-decoration: underline;
    /* 2 */
    
    text-decoration: underline dotted;
    /* 2 */
}
/**
 * Prevent the duplicate application of `bolder` by the next rule in Safari 6.
 */

b,
strong {
    font-weight: inherit;
}
/**
 * Add the correct font weight in Chrome, Edge, and Safari.
 */

b,
strong {
    font-weight: bolder;
}
/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */

code,
kbd,
samp {
    font-family: monospace, monospace;
    /* 1 */
    
    font-size: 1em;
    /* 2 */
}
/**
 * Add the correct font style in Android 4.3-.
 */

dfn {
    font-style: italic;
}
/**
 * Add the correct background and color in IE 9-.
 */

mark {
    background-color: #ff0;
    color: #000;
}
/**
 * Add the correct font size in all browsers.
 */

small {
    font-size: 80%;
}
/**
 * Prevent `sub` and `sup` elements from affecting the line height in
 * all browsers.
 */

sub,
sup {
    font-size: 75%;
    line-height: 0;
    position: relative;
    vertical-align: baseline;
}

sub {
    bottom: -0.25em;
}

sup {
    top: -0.5em;
}
/* Embedded content
   ========================================================================== */
/**
 * Add the correct display in IE 9-.
 */

audio,
video {
    display: inline-block;
}
/**
 * Add the correct display in iOS 4-7.
 */

audio:not([controls]) {
    display: none;
    height: 0;
}
/**
 * Remove the border on images inside links in IE 10-.
 */

img {
    border-style: none;
}
/**
 * Hide the overflow in IE.
 */

svg:not(:root) {
    overflow: hidden;
}
/* Forms
   ========================================================================== */
/**
 * 1. Change the font styles in all browsers (opinionated).
 * 2. Remove the margin in Firefox and Safari.
 */

button,
input,
optgroup,
select,
textarea {
    font-family: sans-serif;
    /* 1 */
    
    font-size: 100%;
    /* 1 */
    
    line-height: 1.15;
    /* 1 */
    
    margin: 0;
    /* 2 */
}
/**
 * Show the overflow in IE.
 * 1. Show the overflow in Edge.
 */

button,
input {
    /* 1 */
    
    overflow: visible;
}
/**
 * Remove the inheritance of text transform in Edge, Firefox, and IE.
 * 1. Remove the inheritance of text transform in Firefox.
 */

button,
select {
    /* 1 */
    
    text-transform: none;
}
/**
 * 1. Prevent a WebKit bug where (2) destroys native `audio` and `video`
 *    controls in Android 4.
 * 2. Correct the inability to style clickable types in iOS and Safari.
 */

button,
html [type="button"],
[type="reset"],
[type="submit"] {
    -webkit-appearance: button;
    /* 2 */
}
/**
 * Remove the inner border and padding in Firefox.
 */

button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
    border-style: none;
    padding: 0;
}
/**
 * Restore the focus styles unset by the previous rule.
 */

button:-moz-focusring,
[type="button"]:-moz-focusring,
[type="reset"]:-moz-focusring,
[type="submit"]:-moz-focusring {
    outline: 1px dotted ButtonText;
}
/**
 * Correct the padding in Firefox.
 */

fieldset {
    padding: 0.35em 0.75em 0.625em;
}
/**
 * 1. Correct the text wrapping in Edge and IE.
 * 2. Correct the color inheritance from `fieldset` elements in IE.
 * 3. Remove the padding so developers are not caught out when they zero out
 *    `fieldset` elements in all browsers.
 */

legend {
    box-sizing: border-box;
    /* 1 */
    
    color: inherit;
    /* 2 */
    
    display: table;
    /* 1 */
    
    max-width: 100%;
    /* 1 */
    
    padding: 0;
    /* 3 */
    
    white-space: normal;
    /* 1 */
}
/**
 * 1. Add the correct display in IE 9-.
 * 2. Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */

progress {
    display: inline-block;
    /* 1 */
    
    vertical-align: baseline;
    /* 2 */
}
/**
 * Remove the default vertical scrollbar in IE.
 */

textarea {
    overflow: auto;
}
/**
 * 1. Add the correct box sizing in IE 10-.
 * 2. Remove the padding in IE 10-.
 */

[type="checkbox"],
[type="radio"] {
    box-sizing: border-box;
    /* 1 */
    
    padding: 0;
    /* 2 */
}
/**
 * Correct the cursor style of increment and decrement buttons in Chrome.
 */

[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
    height: auto;
}
/**
 * 1. Correct the odd appearance in Chrome and Safari.
 * 2. Correct the outline style in Safari.
 */

[type="search"] {
    -webkit-appearance: textfield;
    /* 1 */
    
    outline-offset: -2px;
    /* 2 */
}
/**
 * Remove the inner padding and cancel buttons in Chrome and Safari on macOS.
 */

[type="search"]::-webkit-search-cancel-button,
[type="search"]::-webkit-search-decoration {
    -webkit-appearance: none;
}
/**
 * 1. Correct the inability to style clickable types in iOS and Safari.
 * 2. Change font properties to `inherit` in Safari.
 */

::-webkit-file-upload-button {
    -webkit-appearance: button;
    /* 1 */
    
    font: inherit;
    /* 2 */
}
/* Interactive
   ========================================================================== */
/*
 * Add the correct display in IE 9-.
 * 1. Add the correct display in Edge, IE, and Firefox.
 */

details,
menu {
    display: block;
}
/*
 * Add the correct display in all browsers.
 */

summary {
    display: list-item;
}
/* Scripting
   ========================================================================== */
/**
 * Add the correct display in IE 9-.
 */

canvas {
    display: inline-block;
}
/**
 * Add the correct display in IE.
 */

template {
    display: none;
}
/* Hidden
   ========================================================================== */
/**
 * Add the correct display in IE 10-.
 */

[hidden] {
    display: none;
}
/* clearfix
 * =================================================================================
**/

.cf,
#header,
#topslide,
#main,
#footer,
#title,
.pageHeader,
#section_primary,
#section_secondary,
#wrap_newstopics,
.pagenav,
.bn_event_top,
.top_i3-bn,
#wrap-container,
.inner,
.cap-l,
.cap-l-t2,
.cap-l-t2 h2,
.cap-l-t3,
.cap-m,
.cap-s,
.boxwrap1,
.boxwrap2,
.boxwrap3,
.to-buttonbox,
.csflexbox,
.boxwrap-w,
.imgfull,
.i1,
.i2,
.i3,
.i4,
.i5,
.i6,
.line-hr,
.noline-hr,
.dibox,
.dl-box1,
.dl-box1 dl,
.to-bt,
.to-bt2,
.stepbox ul li,
.wcarea_40017C701901 li {
    zoom: 1;
}

.cf:before,
#header:before,
#topslide:before,
#main:before,
#footer:before,
#title:before,
.pageHeader:before,
#section_primary:before,
#section_secondary:before,
#wrap_newstopics:before,
.pagenav:before,
.bn_event_top:before,
.top_i3-bn:before,
#wrap-container:before,
.inner:before,
.cap-l:before,
.cap-l-t2:before,
.cap-l-t2 h2:before,
.cap-l-t3:before,
.cap-m:before,
.cap-s:before,
.boxwrap1:before,
.boxwrap2:before,
.boxwrap3:before,
.to-buttonbox:before,
.csflexbox:before,
.boxwrap-w:before,
.imgfull:before,
.i1:before,
.i2:before,
.i3:before,
.i4:before,
.i5:before,
.i6:before,
.line-hr:before,
.noline-hr:before,
.dibox:before,
.dl-box1:before,
.dl-box1 dl:before,
.to-bt:before,
.to-bt2:before,
.stepbox ul li:before,
.wcarea_40017C701901 li:before,
.cf:after,
#header:after,
#topslide:after,
#main:after,
#footer:after,
#title:after,
.pageHeader:after,
#section_primary:after,
#section_secondary:after,
#wrap_newstopics:after,
.pagenav:after,
.bn_event_top:after,
.top_i3-bn:after,
#wrap-container:after,
.inner:after,
.cap-l:after,
.cap-l-t2:after,
.cap-l-t2 h2:after,
.cap-l-t3:after,
.cap-m:after,
.cap-s:after,
.boxwrap1:after,
.boxwrap2:after,
.boxwrap3:after,
.to-buttonbox:after,
.csflexbox:after,
.boxwrap-w:after,
.imgfull:after,
.i1:after,
.i2:after,
.i3:after,
.i4:after,
.i5:after,
.i6:after,
.line-hr:after,
.noline-hr:after,
.dibox:after,
.dl-box1:after,
.dl-box1 dl:after,
.to-bt:after,
.to-bt2:after,
.stepbox ul li:after,
.wcarea_40017C701901 li:after {
    content: "";
    display: table;
}

.cf:after,
#header:after,
#topslide:after,
#main:after,
#footer:after,
#title:after,
.pageHeader:after,
#section_primary:after,
#section_secondary:after,
#wrap_newstopics:after,
.pagenav:after,
.bn_event_top:after,
.top_i3-bn:after,
#wrap-container:after,
.inner:after,
.cap-l:after,
.cap-l-t2:after,
.cap-l-t2 h2:after,
.cap-l-t3:after,
.cap-m:after,
.cap-s:after,
.boxwrap1:after,
.boxwrap2:after,
.boxwrap3:after,
.to-buttonbox:after,
.csflexbox:after,
.boxwrap-w:after,
.imgfull:after,
.i1:after,
.i2:after,
.i3:after,
.i4:after,
.i5:after,
.i6:after,
.line-hr:after,
.noline-hr:after,
.dibox:after,
.dl-box1:after,
.dl-box1 dl:after,
.to-bt:after,
.to-bt2:after,
.stepbox ul li:after,
.wcarea_40017C701901 li:after {
    clear: both;
}
/* END:clearfix
 * =================================================================================
**/

.arrow,
ul.menu__second-level li a:before,
ul.menu__second-level li a:after,
#footer .flink:before,
.pagenav ul li:after,
.bt_bkrad a:after,
.bt_blog a:before,
.bn_tomonokai a:before,
.bn_annai a:before,
.bn_annai2 a:before,
.cap-l-t2.lead-title h2:after,
.cap-l-t2.clt3 h2:before,
.to-bt p a:before,
.to-bt p a:after,
.block-listed p:before,
.block-listed p:after,
.csflexbox .csitem .title:before,
.bn_navi a:after {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    margin: auto;
    content: "";
    vertical-align: middle;
    display: block;
}
/* Base Layout
 * =================================================================================
**/

.left,
.il {
    float: left;
}

.right,
.ir {
    float: right;
}

img.left,
img.il {
    margin-right: 16px;
}

img.right,
img.ir {
    margin-left: 16px;
}

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

.purun {
    animation: purun 0.8s linear 0s 1;
}

@keyframes purun {
    0% {
        transform: scale(1, 1) translate(0%, 0%);
    }
    15% {
        transform: scale(0.9, 0.9) translate(0%, 5%);
    }
    30% {
        transform: scale(1, 0.8) translate(0%, 10%);
        top: -100px;
    }
    50% {
        transform: scale(0.9, 1) translate(0%, 5%);
    }
    70% {
        transform: scale(1, 0.9) translate(0%, 5%);
        top: -60px;
    }
    100% {
        transform: scale(1, 1) translate(0%, 0%);
    }
}

.purun2 {
    animation: purun2 0.4s linear 0s 1;
}

@keyframes purun2 {
    0% {
        transform: scale(1, 1) translate(0%, 0%);
    }
    15% {
        transform: scale(0.9, 1) translate(0%, 5%);
    }
    50% {
        transform: scale(1, 0.9) translate(0%, 10%);
    }
    70% {
        transform: scale(1, 0.9) translate(0%, 5%);
    }
    100% {
        transform: scale(1, 1) translate(0%, 0%);
    }
}
/* Default
 * =================================================================================
**/

html {
    overflow-y: scroll;
    box-sizing: border-box;
}

body,
div,
dl,
dt,
dd,
ul,
ol,
li,
h1,
h2,
h3,
h4,
h5,
h6,
pre,
form,
input,
textarea,
p,
small,
address,
aside,
blockquote,
th,
td {
    font-family: "游ゴシック", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", 'Roboto', Helvetica Neue, Helvetica, YuGothic, "メイリオ", Meiryo;
    color: #262626;
    font-size: 15px;
    font-weight: 500;
    letter-spacing: 1px;
    z-index: 0;
    margin: 0;
    box-sizing: border-box;
}

body {
    line-height: 1.7;
}

ul {
    margin: 0;
    padding: 0;
}

li {
    list-style: none;
}

li img {
    vertical-align: bottom;
}

img {
    vertical-align: bottom;
}

@media screen and (max-width: 500px) {
    h2 img {
        width: 80%;
        height: auto;
    }
}
/* Base Block Style
 * =================================================================================
**/

#header,
#topslide,
#main,
#footer,
#title {
    margin: 0;
    padding: 0;
    position: relative;
}

.pageHeader,
#section_primary,
#section_secondary,
#wrap_newstopics,
.pagenav,
.bn_event_top,
.top_i3-bn {
    max-width: 1600px;
    margin: 0 auto;
    padding: 0;
    position: relative;
}

#wrap-container,
.inner {
    width: 1100px;
    margin: 0 auto;
    padding: 0;
    position: relative;
}

@media screen and (max-width: 1100px) {
    #wrap-container, .inner {
        width: 100%;
    }
}

@media screen and (max-width: 500px) {
    #wrap-container, .inner {
        width: 100%;
    }
}

/*#main {
    padding-bottom: 40px;
}*/

#wrap-container {
    margin-top: 20px;
}
/* END:Base Block Style
 * =================================================================================
**/
/*------------------------------------------------------
Loading animation
------------------------------------------------------*/

/*.loading {
    position: fixed;
    width: 100vw;
    height: 100vh;
    top: 0px;
    left: 0px;
    background: #fff;
    z-index: 9999;
}*/

.animation_base {
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    color: #000;
    background: url(../img/fix/anime.svg) no-repeat 0 0;
    width: 217px;
    height: 350px;
    background-size: contain;
    animation-name: lodanimetionblur;
    animation-delay: 3s;
    animation-duration: 1.5s;
    animation-fill-mode: forwards;
}

.eyecatch_overay {
    background-color: white;
    opacity: 0.5;
    width: 217px;
    height: 0px;
    position: absolute;
    transition: width 0.6s ease, height 0.6s ease, top 0.6s ease;
    bottom: 0px;
    animation-name: lodanimetion;
    animation-duration: 1.5s;
    animation-fill-mode: forwards;
    animation-direction: reverse;
}

.animation_eyecatch {
    width: 217px;
}

@keyframes lodanimetionblur {
    from, to {
        opacity: 0.8;
    }
    0% {
        filter: blur(0);
    }
    100% {
        filter: blur(8px);
        opacity: 0;
    }
}

@keyframes lodanimetion {
    from, to {
        opacity: 0.8;
    }
    100% {
        height: 100%;
    }
}
/*------------------------------------------------------
Base layout
------------------------------------------------------*/

a:link,
a:visited,
a:active {
    color: #262626;
}

a:hover {
    color: #11AC6F;
}

.container {
    padding-top: 30px;
    padding-bottom: 80px;
}

@media screen and (max-width: 1100px) {
    .container {
        padding: 80px 2%;
    }
}

@media screen and (max-width: 500px) {
    .container {
        padding: 40px 2%;
    }
}

.container > div:first-child h2,
.container > div:first-child h3 {
    margin-top: 30px;
}

@media screen and (max-width: 500px) {
    .container > div:first-child h2, .container > div:first-child h3 {
        margin-top: 0;
    }
}

.container-narrow {
    max-width: 840px;
}

h1#logo a {
    display: block;
    background: url(../img/logo.png) no-repeat;
    background-size: contain;
    width: 450px;
    height: 51px;
    position: absolute;
    top: 10px;
    left: 5%;
    text-indent: -200em;
    z-index: 101;
}

#wrap-nav {
    padding: 10px 5% 20px 400px;
    position: fixed;
    top: 0;
    left: 0;
}

#navigation {
    margin: 60px 0 0 0;
    position: relative;
    display: block;
    float: right;
}

#navigation li {
    font-size: 15px;
    font-weight: bold;
    position: relative;
    text-align: center;
    margin-left: 15px;
    float: left;
}

#navigation li a {
    padding: 5px 5px 5px;
    box-sizing: border-box;
    width: 100%;
    text-decoration: none;
    transition: all 0.6s;
    display: block;
    color: #262626;
    position: relative;
    z-index: 2;
}

#navigation li a:hover {
    color: #11AC6F;
}

#subnavigation {
    margin: 0;
    position: relative;
    display: block;
    position: absolute;
    top: 10px;
    right: 0;
}

#subnavigation li {
    font-size: 14px;
    margin-left: 10px;
    float: left;
}

#subnavigation li a {
    display: block;
    padding: 0 5px 0;
    text-decoration: none;
}

#navigation li {
	position: relative;
}
#navigation .dropdown {
	position: absolute;
	left: 50%;
	top: 100%;
	min-width: 200px;
	background: rgba(255,255,255,0.8) !important;
	transform: translateX(-50%);
}
#navigation .dropdown li a,
#navigation .dropdown li {
	float: none;
	display: block;
	margin: 0;
}
#navigation .dropdown li + li a {
	border-top: 1px solid rgba(255,255,255,1);
}
#navigation .dropdown li a:hover {
	background: #fff !important;
}

@media screen and (max-width: 500px) {
    h1#logo a {
        left: 0;
        right: 0;
        top: 0;
        margin: auto;
        text-align: center;
    }
    #navigation,
    #subnavigation {
        display: block;
        position: relative;
    }
    #navigation li,
    #subnavigation li {
        text-align: left;
        display: block;
        width: 100%;
		margin-left: 0;
    }
    #navigation li a {
    	border-bottom: 1px solid #ddd;
    }
    #navigation li a {
    	padding: 10px;
    }
    #subnavigation li {
    	display: inline-block;
    }
    li.has_dropdown:before {
    	border-top-color: #f33;
    	left: auto;
    	right: 10px;
    	top: 20px;
    	bottom: auto;
    	margin-top: -4px;
    }
    #navigation ul.dropdown {
    	position: static;
    	left: 0;
    	top: 0;
    	min-width: 0;
    	transform: none;
    	background: #eee !important;
    }
}
/*DropDownMenu*/

ul.menu__second-level {
    visibility: hidden;
    opacity: 0;
    z-index: 1;
}

ul.menu__second-level {
    padding: 10px 0 20px 20px;
    position: absolute;
    top: 30px;
    width: 500px;
    background: #BDD7FF;
    height: auto;
    display: table;
}

ul.menu__second-level li {
    float: left;
}

ul.menu__second-level li a {
    margin-right: 1em;
    margin-bottom: 0.5em;
    padding: 5px 0 5px 20px;
    height: auto;
    text-decoration: none;
    display: inline-block;
    text-align: center;
    font-size: 14px;
    position: relative;
}

ul.menu__second-level li a:before {
    width: 11px;
    height: 11px;
    -webkit-border-radius: 50%;
    border-radius: 50%;
    background: #11AC6F;
}

ul.menu__second-level li a:after {
    left: 3px;
    width: 3px;
    height: 3px;
    border-top: 1px solid #fff;
    border-right: 1px solid #fff;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
}

ul.menu__second-level li a:hover {
    text-decoration: underline;
}

li.menu__single:hover ul.menu__second-level {
    top: 57px;
    visibility: visible;
    opacity: 1;
}
/*SlideShow*/

#topslide {
    width: 100%;
    height: 724px;
}

#topslide div {
    max-height: none;
}

@media screen and (max-width: 500px) {
    #topslide {
        height: auto;
    }
}

.sp-slide {
    background-size: cover;
    background-position: center;
    text-align: center;
}

.sp-slide .slide-end {
    width: 100%;
    height: 100%;
    background: url(../img/main.jpg) no-repeat 50% center;
    background-size: cover;
}

.sp-slide .catch {
    padding-top: 240px;
    margin: auto;
    color: #fff;
    font-size: 34px;
    line-height: 1.3;
    font-family: 游明朝, "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", HGS明朝E, メイリオ, Meiryo, serif;
    text-align: center;
}
/*Footer*/

#footer {
    clear: both;
}

#footer .logo-f {
	width: 380px;
}

#footer .logo-f img {
    margin: 30px auto;
	width: 100%;
	height: auto;
}

#footer .flink {
    padding-top: 40px;
/*    display: flex;
    justify-content: center;
    flex-flow: row wrap;*/
    position: relative;
}

#footer .flink li {
    font-size: 14px;
    padding: 0 10px;
    display: inline-block;
    margin-right: 20px;
    margin-bottom: 15px;
}

#footer .flink li a {
    text-decoration: none;
	font-weight: bold;
}

/*#footer .flink:before {
    width: 196px;
    height: 3px;
    background: #11AC6F;
    right: 0;
    bottom: auto;
}*/

@media screen and (max-width: 500px) {
    #footer .flink {
        margin: 10px 0;
    }
}

#footer .bn-f {
    margin: 30px auto;
    display: flex;
    flex-flow: row wrap;
    justify-content: center;
    align-items: center;
}

#footer .bn-f li {
    margin: 0 10px;
}

@media screen and (max-width: 500px) {
    #footer .bn-f li {
        margin-right: 10px;
        width: 20%;
    }
    #footer .bn-f li img {
        width: 100%;
        height: auto;
    }
    #footer .bn-f li:nth-child(4n) {
        margin-right: 0;
    }
}

.gmap {
    height: 500px;
}

@media screen and (max-width: 500px) {
    .gmap {
        height: 300px;
    }
}

.gmap iframe {
    width: 100%;
    height: 100%;
}

#copy {
	background: #ededed;
    padding: 20px 0;
    text-align: center;
    font-size: 12px;
    flex: 0 0 100%;
	margin-bottom: -25px;
}
/*  Pageheader Style
 * =================================================================================
**/

#title-wrap {
	position: relative;
	width: 100%;
	max-height: 325px;
	overflow: hidden;
/*background-size: cover;
    background-position: 50% 50%;
	background-color: #F5F2E9;*/
}

#title-wrap img{
	width: 100%;
	height: auto;
	opacity: 0.5;
}

/*#title-wrap.pageimg_page {
    background-image: url(../img/pageimg02.jpg);
}*/

#title-wrap.pageimg_care {
    background-image: url(../img/pageimg02.jpg);
}

#title-wrap.pageimg_summary {
    background-image: url(../img/pageimg02.jpg);
}

#title-wrap.pageimg_tomonokai {
    background-image: url(../img/pageimg02.jpg);
}

#title-wrap.pageimg_tech {
    background-image: url(../img/pageimg02.jpg);
}

#title-wrap.pageimg_recruit {
    background-image: url(../img/pageimg02.jpg);
}

#title-wrap.pageimg_news {
    background-image: url(../img/pageimg02.jpg);
}

#title-wrap.pageimg_inquiry {
    background-image: url(../img/pageimg02.jpg);
}

#title-wrap.pageimg_guide {
    background-image: url(../img/pageimg02.jpg);
}

#title-wrap.pageimg_facility {
    background-image: url(../img/pageimg02.jpg);
}

#title-wrap.pageimg_event {
    background-image: url(../img/pageimg02.jpg);
}

#title-wrap.pageimg_chiiki {
    background-image: url(../img/pageimg02.jpg);
}

#title-wrap.pageimg_annai {
    background-image: url(../img/pageimg02.jpg);
}

#title {
    background: rgba(255, 255, 255, 0.4);
    padding: 140px 0 160px;
	position: absolute;
	top: 0;
	width: 100%;
}

#title .title-label {
    position: absolute;
    top: 160px;
    left: 0;
	right: 0;
    margin: auto;
}

#title .title-label h2 {
    font-size: 30px;
    display: table;
    padding: 30px 50px;
    text-align: center;
    margin: 0 auto;
}

@media screen and (max-width: 500px) {
    #title .title-label h2 {
        font-size: 22px;
        padding: 30px 30px;
    }
}

@media screen and (max-width: 500px) {
    #title {
        padding: 100px 0 160px;
    }
}

.title-navi {
    margin: 40px auto 0;
    padding-bottom: 20px;
    border-bottom: 1px solid #F5F2E9;
}

.title-navi ul {
    padding: 0;
    display: flex;
    flex-flow: row wrap;
    justify-content: center;
}

.title-navi ul li {
    flex: 0 0 auto;
    font-size: 15px;
}

.title-navi ul li a {
    padding: 16px 24px;
    text-align: center;
    text-decoration: none;
    transition: all 0.6s;
    position: relative;
}

.title-navi ul li a:hover {
    text-decoration: underline;
    color: #11AC6F;
}

.title-navi ul li a:after {
    position: absolute;
    top: 0;
    bottom: 0;
    right: 0;
    margin: auto;
    content: "";
    vertical-align: middle;
}

.title-navi ul li a:after {
    width: 1px;
    height: 30%;
    background: #79796A;
}

.title-navi ul li:last-child a:after {
    content: none;
}

.pagenav ul {
    margin-left: 2%;
}

.pagenav ul li {
    padding-right: 15px;
    float: left;
    position: relative;
}

.pagenav ul li:after {
    left: auto;
    right: 3px;
    width: 3px;
    height: 3px;
    border-top: 1px solid #000;
    border-right: 1px solid #000;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
}

.pagenav ul li:last-child:after {
    content: none;
}
/* 汎用クラス */

.red {
    color: #FF0000;
}

.bold {
    font-weight: bold;
}

.mt5 {
    margin-top: 5px;
}

.mt10 {
    margin-top: 10px;
}

.mt20 {
    margin-top: 20px;
}

.mt30 {
    margin-top: 30px;
}

.c_gr {
    color: #11AC6F;
}

.c_mgr {
    color: #5AA7E0;
}

.bt_bkrad {
    margin: 50px 0;
}

.bt_bkrad a {
    padding: 20px 60px;
    display: inline-block;
    background: #11AC6F;
    border-radius: 40px;
    font-size: 18px;
    color: #fff;
    text-decoration: none;
    font-weight: bold;
    position: relative;
    -webkit-transition: all 0.35s ease-in-out;
    transition: all 0.35s ease-in-out;
}

.bt_bkrad a:after {
    -webkit-transition: all 0.35s ease-in-out;
    transition: all 0.35s ease-in-out;
}

.bt_bkrad a:after {
    left: auto;
    right: 30px;
    width: 7px;
    height: 7px;
    border-top: 2px solid #fff;
    border-right: 2px solid #fff;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    opacity: 0;
}

.bt_bkrad a:hover {
    padding-right: 90px;
}

.bt_bkrad a:hover:after {
    right: 15px;
    opacity: 1;
}

.bt_bkrad.c_bl a {
    background: #F4792F;
}

.bt_bkrad.mt10 {
    margin-top: 10px;
}

.txt-area .bt_bkrad {
    margin-top: 30px;
    float: right;
}

.txt-area .bt_bkrad a {
    padding: 10px 60px;
}

.dibox .bt_bkrad {
    margin: 0 10px;
    float: right;
}

.dibox .bt_bkrad a {
    padding: 5px 60px;
    font-size: 12px;
}

.bt_blog {
    margin-top: 15px;
}

.bt_blog a {
    padding-right: 20px;
    font-weight: bold;
    position: relative;
    display: inline-block;
}

.bt_blog a:before {
    background: url(../img/fix/ico_link-out.png) no-repeat 0 0;
    background-size: contain;
    left: auto;
    right: 0;
    width: 15px;
    height: 15px;
}
/*------------------------------------------------------
Toppage layout
------------------------------------------------------*/

#section_primary {
    padding: 60px 0;
    background: url(../img/fix/bg_primary_arc.png) no-repeat center -10px;
    position: relative;
}

@media screen and (max-width: 500px) {
    #section_primary {
        background-position: center bottom;
    }
}

#section_primary h2 {
    font-family: 'M PLUS Rounded 1c', sans-serif;
    font-size: 2rem;
    text-align: center;
}

#section_primary p {
    margin: 30px auto;
    max-width: 512px;
}

#section_secondary {
    margin-top: 140px;
}

#section_secondary .wrap-top-bn {
    display: flex;
}

#section_secondary .wrap-top-bn div {
    flex-basis: 33.3%;
    text-align: center;
    position: relative;
}

#section_secondary .wrap-top-bn div * {
    -webkit-transition: all 0.3s ease-out;
    transition: all 0.3s ease-out;
}

#section_secondary .wrap-top-bn div:nth-child(3n) {
    margin-right: 0;
}

#section_secondary .wrap-top-bn div .img img {
    width: 100%;
    height: auto;
}

#section_secondary .wrap-top-bn div h2 {
    display: flex;
	flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    position: absolute;
    width: 140px;
    height: 70px;
    top: -30px;
    left: 0;
    right: 0;
    margin: auto;
    z-index: 11;
	font-weight: bold;
	font-size: 20px;
}

#section_secondary .wrap-top-bn div .maru {
    background: #00a161;
    width: 140px;
    height: 140px;
    border-radius: 70px;
    display: flex;
    justify-content: center;
    align-items: center;
    position: absolute;
    top: -70px;
    left: 0;
    right: 0;
    margin: auto;
    z-index: 10;
}


#section_secondary .wrap-top-bn div.top-bn-02 .maru {
    background: #f39700;
}

#section_secondary .wrap-top-bn div.top-bn-03 .maru {
    background: #00aaeb;
}

#section_secondary .wrap-top-bn div:hover .maru {
    animation: purun 0.8s linear 0s 1;
}

#section_secondary .wrap-top-bn div:hover .img {
    opacity: 0.7;
}

.wrap-top-bn a {
    left: 0;
    right: 0;
    top: -60px;
    bottom: 0;
    position: absolute;
    z-index: 12;
}

#wrap_newstopics {
    /*display: flex;*/
    position: relative;
	margin: 70px auto 0;
}

@media screen and (max-width: 500px) {
    #wrap_newstopics {
        display: block;
    }
}

#wrap_newstopics .area_newstopics {
    flex-basis: 50%;
}

#wrap_newstopics .area_news {
    padding: 0 3% 65px;
    /*background: #E6FEDC;*/
}

#wrap_newstopics .area_news .en {
    color: #11AC6F;
}

#wrap_newstopics .area_recruit-news {
    padding: 45px 3% 30px;
    background: #D8F0FE;
}

#wrap_newstopics .area_recruit-news .en {
    color: #5AA7E0;
}

#wrap_newstopics .title h3 {
    font-size: 20px;
    margin: 0 0 15px;
    position: relative;
    font-weight: bold;
}

#wrap_newstopics .title h3 .en {
    font-family: 'Open Sans', "游ゴシック", sans-serif;
    font-size: 15px;
    font-weight: 400;
}

#wrap_newstopics .feed {
    width: 100%;
	max-height: 290px;
	overflow: hidden;
    position: relative;
	margin-bottom: 30px;
}

#wrap_newstopics .feed dl:first-child {
    border-top: 1px solid #79796A;
}

@media screen and (max-width: 500px) {
    #wrap_newstopics .feed {
        height: auto !important;
    }
}

.ps__rail-x,
.ps__rail-y {
    opacity: 0.6 !important;
}

.news_dl {
    padding: 15px 15px;
    clear: both;
    display: flex;
    position: relative;
    border-bottom: 1px solid #79796A;
}

.news_dl dt {
    padding: 0 20px 0 0;
    font-size: 12px;
    font-family: 'Open Sans', "游ゴシック", sans-serif;
}

.news_dl dd {
    font-size: 14px;
    flex: 1 1 auto;
}

.news_dl dd img {
    float: right;
    margin: 0 0 5px 10px;
}

.news_dl .label {
    width: 72px;
    text-align: center;
    display: inline-block;
    border-radius: 4px;
    color: #fff;
    margin-right: 10px;
    margin-bottom: 5px;
}

.bn_event_top {
    background: url(../img/fix/bg_event.jpg) no-repeat top right #F5F2E9;
    background-size: contain;
    text-align: center;
    padding: 40px 60% 40px 5%;
}

@media screen and (max-width: 500px) {
    .bn_event_top {
        background-size: cover;
        background-position: top left;
        padding: 20px;
    }
}

.bn_event_top h2 {
    margin: 30px 0 30px;
}

.bn_event_top .bt_bkrad {
    margin-top: 30px;
}

.bn_event_top .bt_bkrad a {
    font-size: 14px;
    padding: 10px 50px;
    border-radius: 30px;
}

.top_i3-bn .bn_md div {
    margin-right: 0 !important;
}

@media screen and (max-width: 500px) {
    .top_i3-bn .bn_md img {
        max-height: 100px !important;
        width: auto !important;
    }
}

.bn_tomonokai a {
    padding: 50px 10px;
    background: #DE5678;
    display: block;
    text-align: center;
    position: relative;
}

.bn_tomonokai a:before {
    left: auto;
    right: 8%;
    width: 20px;
    height: 20px;
    background: url(../img/fix/ico_arrow_circle.png) no-repeat 0 0;
    background-size: contain;
}

.bn_annai a {
    padding: 50px 10px;
    background: #E7E0CB;
    display: block;
    text-align: center;
    position: relative;
}

.bn_annai2 a {
    padding: 37px 10px;
    background: #E7E0CB;
    display: block;
    text-align: center;
    position: relative;
}

.bn_annai2 a:before {
    left: auto;
    right: 8%;
    width: 20px;
    height: 20px;
    background: url(../img/fix/ico_arrow_circle.png) no-repeat 0 0;
    background-size: contain;
}

.bn_annai a:before {
    left: auto;
    right: 8%;
    width: 20px;
    height: 20px;
    background: url(../img/fix/ico_arrow_circle.png) no-repeat 0 0;
    background-size: contain;
}
/* 20181114 Comment out
@media screen and (max-width: 500px) {
  .bn_tomonokai img, .bn_annai img, .bn_annai2 img {
    height: 20px;
    width: auto; } }*/
/* 20181114 Additional top
--------------------------------------------------------------*/

@media screen and (min-width: 480px) {
    #wrap_top3fb {
        display: block;
    }
}

#wrap_top3fb .area_top3fb a,
#wrap_top3fb .area_top3fb-r a {
    padding: 45px 3% 30px;
    display: block;
    border-bottom: #fff 5px solid;
    width: 100%;
    text-align: center;
    text-decoration: none;
    font-size: large;
}

#wrap_top3fb .area_top3fb a {
    background: #F7F0DB;
    color: #333;
}

#wrap_top3fb .area_top3fb-r a {
    background: #DE5678;
    color: #fff;
}

@media screen and (min-width: 500px) {
    #wrap_top3fb {
        display: -webkit-flex;
        display: flex;
        flex-direction: row;
        flex-wrap: wrap;
        -ms-flex-line-pack: justify;
        align-content: space-between;
    }
}

#wrap_top3fb > * {
    flex-basis: 10%;
    background: #fff;
    text-align: center;
}

#wrap_top3fb .area_top3fb,
#wrap_top3fb .area_top3fb-r {
    min-width: 33.3%;
    padding: 10px 2%;
    width: 100%;
    box-sizing: border-box;
}
/* Banner background */

#wrap_top3fb .area_top3fb a,
#wrap_top3fb .area_top3fb-r a {
    padding: 35px 3% 30px;
    text-decoration: none;
    font-size: 20px;
    border-bottom: none;
    box-sizing: border-box;
}

#wrap_top3fb .area_top3fb a {
    color: #555;
}

#wrap_top3fb .area_top3fb-r a {
    color: #ddd;
}

#wrap_top3fb .area_top3fb a:hover {
    color: #000;
}

#wrap_top3fb .area_top3fb-r a:hover {
    color: #fff;
}
/* 20181114 Additional tail
--------------------------------------------------------------*/
/*------------------------------------------------------
Common style
------------------------------------------------------*/

.wc_module {
    line-height: 1.8;
}
/*Title style*/

.cap_lv1 {
    margin: 40px 0 20px 0;
}

.cap_lv2 {
    margin: 20px 0 20px 0;
}

.cap_lv3 {
    margin: 20px 0 10px 0;
}

.fs_lv1 {
    font-size: 12px;
}

.fs_lv2 {
    font-size: 14px;
}

.fs_lv3 {
    font-size: 16px;
}

@media screen and (max-width: 500px) {
    .fs_lv3 {
        font-size: 15px;
    }
}

.fs_lv4 {
    font-size: 18px;
}

.fs_lv5 {
    font-size: 20px;
}

.fs_lv6 {
    font-size: 24px;
}

.fs_lv7 {
    font-size: 32px;
}
/* Generic Layout Style
 * =================================================================================
**/

.cap-l,
.cap-l-t2,
.cap-l-t2 h2,
.cap-l-t3,
.cap-m,
.cap-s {
    margin: 8px 0 24px 0;
}

@media screen and (max-width: 500px) {
    .cap-l, .cap-l-t2, .cap-l-t2 h2, .cap-l-t3, .cap-m, .cap-s {
        margin-top: 40px;
        margin: 8px 0 8px 0;
    }
}

.cap-l {
    font-size: 20px;
    font-weight: 700;
    padding: 8px;
    text-align: center;
}

.cap-l.cl-3 {
    text-align: right;
}

.cap-l.cap-l2 {
    text-align: left;
    position: relative;
    padding: 0 16px;
    font-size: 26px;
}

.cap-l.cap-l2:before {
    content: '';
    display: block;
    position: absolute;
    top: 16%;
    left: 0;
    height: 60%;
    width: 6px;
    background: #11AC6F;
}

@media screen and (max-width: 500px) {
    .cap-l.cap-l2 {
        margin-top: 40px;
        font-size: 22px;
    }
}

.cap-l-t2 {
    text-align: center;
}

.cap-l-t2 h2 {
    font-size: 28px;
    margin-top: 60px;
    font-weight: 900;
    padding: 8px;
    display: block;
    position: relative;
}

@media screen and (max-width: 500px) {
    .cap-l-t2 h2 {
        margin-top: 40px;
        font-size: 22px;
    }
}

.cap-l-t2.lead-title h2 {
    display: inline-block;
    position: relative;
}

.cap-l-t2.lead-title h2:after {
    border-bottom: 1px solid #11AC6F;
    width: 100%;
    top: auto;
}

.cap-l-t2.clt2 h2 {
    margin-top: 80px;
    border: none;
    color: #11AC6F;
}

.cap-l-t2.clt2 h2:after {
    content: '';
    display: block;
    position: absolute;
    top: -10px;
    width: 60px;
    border-bottom: solid 3px #11AC6F;
    left: 0;
    right: 0;
    margin: auto;
}

@media screen and (max-width: 500px) {
    .cap-l-t2.clt2 h2 {
        margin-top: 40px;
    }
}

.cap-l-t2.clt3 h2 {
    padding: 0 0 0 30px;
    text-align: left;
    position: relative;
}

.cap-l-t2.clt3 h2:before {
    width: 10px;
    height: 10px;
    border: 6px solid #11AC6F;
    border-radius: 50%;
}

.cap-l-t3 {
    margin-top: 80px;
    border-top: solid 1px #79796A;
    padding: 16px 0;
    display: flex;
    flex-flow: row wrap;
    justify-content: space-between;
    align-items: baseline;
}

.cap-l-t3 h2,
.cap-l-t3 p {
    flex: 0 0 auto;
    display: block;
}

.cap-l-t3 h2 {
    font-size: 22px;
    font-weight: 700;
    color: #11AC6F;
    flex-basis: 80%;
}

.cap-l-t3 p {
    float: right;
    flex-basis: 20%;
    text-align: right;
}

@media screen and (max-width: 500px) {
    .cap-l-t3 {
        margin-top: 40px;
        display: block;
    }
}

.cap-m {
    margin-top: 70px;
    position: relative;
    text-align: center;
}

@media screen and (max-width: 500px) {
    .cap-m {
        margin-top: 30px;
    }
}

.cap-m h3 {
    font-size: 24px;
    font-weight: 700;
    position: relative;
}

@media screen and (max-width: 500px) {
    .cap-m h3 {
        font-size: 18px;
    }
}

.cap-m.cm-2 {
    text-align: left;
}

.cap-m.cm-2 h3 {
    border: none;
    padding: 0;
}

.cap-m.cm-3 {
    text-align: left;
}

.cap-m.cm-3 h3 {
    position: relative;
    color: #333;
    padding: 15px 20px;
    background: #E6FEDC;
    border-bottom: solid 1px #11AC6F;
    font-size: 22px;
}

@media screen and (max-width: 500px) {
    .cap-m.cm-3 h3 {
        font-size: 18px;
    }
}

.cap-m.cm-4 {
    text-align: left;
}

.cap-m.cm-4 h3 {
    position: relative;
    padding-bottom: 4px;
    border-bottom: 1px solid #ccc;
    color: #11AC6F;
}

.cap-m.cm-4 h3:after {
    position: absolute;
    bottom: -1px;
    left: 0;
    z-index: 2;
    content: '';
    width: 10%;
    height: 1px;
    background-color: #11AC6F;
}

.cap-s {
    margin-bottom: 0;
}

.cap-s h4 {
    font-size: 18px;
    font-weight: 700;
    position: relative;
}

.cap-s.cs-2 h4 {
    position: relative;
    padding-left: 14px;
    color: #11AC6F;
}

.cap-s.cs-2 h4:before {
    content: '';
    display: block;
    position: absolute;
    top: 6px;
    left: 0;
    height: 20px;
    width: 5px;
    background: #11AC6F;
}

.cap-s.cs-3 {
    background: #F5F2E9;
}

.cap-s.cs-3 h4 {
    padding: 8px 16px;
}
/*Block style*/

.w-half {
    width: 47%;
}

.w-tt {
    width: 63%;
}

.txt-img-box .txt {
    width: 60%;
}

@media screen and (max-width: 500px) {
    .txt-img-box .txt {
        width: 100%;
    }
}

.txt-img-box .img {
    width: 30%;
}

@media screen and (max-width: 500px) {
    .txt-img-box .img {
        width: 100%;
    }
}

.boxwrap1,
.boxwrap2,
.boxwrap3,
.to-buttonbox,
.csflexbox {
    margin: 15px auto 30px;
    padding: 0;
    position: relative;
    line-height: 1.9;
}

.boxwrap2 {
    padding: 32px;
    border: 3px solid #11AC6F;
    border-radius: 10px;
    line-height: 1.9;
}

.boxwrap2.bg {
    background-color: #E6FEDC;
    border: 0;
}

.boxwrap2 .cap-m,
.boxwrap2 .cap-s {
    margin: 0 0 10px 0;
}

.boxwrap3 img.il {
    margin-right: 8px;
}

.boxwrap3 img.ir {
    margin-left: 8px;
}

.boxwrap-w {
    margin: 30px 0;
    padding: 0;
    position: relative;
    line-height: 1.9;
}

.boxwrap-w .cap-m {
    margin-top: 0;
}

.tar {
    text-align: right;
}

.tal {
    text-align: left;
}

.tac {
    text-align: center;
}

.imgfull {
    margin-bottom: 80px;
    text-align: center;
}

.imgfull img {
    max-width: 100%;
    height: auto;
}

@media screen and (max-width: 500px) {
    .imgfull img {
        width: 100%;
        height: auto;
    }
}

.ir {
    margin-left: 16px;
}

.il {
    margin-right: 16px;
}

@media screen and (max-width: 500px) {
    .ir, .il {
        width: 100%;
        height: auto;
        margin: 0 0 8px 0;
    }
}

.i1,
.i2,
.i3,
.i4,
.i5,
.i6 {
    margin-bottom: 80px;
}

.i1 .in-wrap,
.i2 .in-wrap,
.i3 .in-wrap,
.i4 .in-wrap,
.i5 .in-wrap,
.i6 .in-wrap {
    display: flex;
    flex-flow: row wrap;
}

.i1 .in-wrap div,
.i2 .in-wrap div,
.i3 .in-wrap div,
.i4 .in-wrap div,
.i5 .in-wrap div,
.i6 .in-wrap div {
    margin: 0 2% 0 0;
    padding: 0;
    text-align: center;
}

.i1 .in-wrap div figure,
.i2 .in-wrap div figure,
.i3 .in-wrap div figure,
.i4 .in-wrap div figure,
.i5 .in-wrap div figure,
.i6 .in-wrap div figure {
    padding: 0;
    margin: 0;
}

.i1 .in-wrap div figure figcaption,
.i2 .in-wrap div figure figcaption,
.i3 .in-wrap div figure figcaption,
.i4 .in-wrap div figure figcaption,
.i5 .in-wrap div figure figcaption,
.i6 .in-wrap div figure figcaption {
    font-size: 14px;
}

.i1 .in-wrap div img,
.i2 .in-wrap div img,
.i3 .in-wrap div img,
.i4 .in-wrap div img,
.i5 .in-wrap div img,
.i6 .in-wrap div img {
    margin-bottom: 8px;
}

.no-borderradius .i1 .in-wrap,
.no-borderradius .i2 .in-wrap,
.no-borderradius .i3 .in-wrap,
.no-borderradius .i4 .in-wrap,
.no-borderradius .i5 .in-wrap,
.no-borderradius .i6 .in-wrap {
    margin-right: -2%;
}

.no-borderradius .i1 .in-wrap div,
.no-borderradius .i2 .in-wrap div,
.no-borderradius .i3 .in-wrap div,
.no-borderradius .i4 .in-wrap div,
.no-borderradius .i5 .in-wrap div,
.no-borderradius .i6 .in-wrap div {
    float: left;
    margin-right: 1%;
}

.no-flexbox .i1 div,
.no-flexbox .i2 div,
.no-flexbox .i3 div,
.no-flexbox .i4 div,
.no-flexbox .i5 div,
.no-flexbox .i6 div {
    float: left;
}

.i1 {
    margin: 40px auto;
}

.i1 .i1div {
    width: 100%;
}

.i1 .i1div:nth-child(1n) {
    margin-right: 0;
}

@media screen and (max-width: 500px) {
    .i1 .i1div img {
        width: 100%;
        height: auto;
    }
}

.i1.btcap div img {
    margin-bottom: 0;
}

.i1.boxwrap-w {
    margin: 40px 0;
}

.i2 {
    margin: 40px auto;
}

.i2 .i2div {
    width: 47.5%;
}

.i2 .i2div:nth-child(2n) {
    margin-right: 0;
}

@media screen and (max-width: 500px) {
    .i2 .i2div img {
        width: 100%;
        height: auto;
    }
}

.i2.btcap div img {
    margin-bottom: 0;
}

.i2.boxwrap-w {
    margin: 40px 0;
}

.i3 {
    margin: 40px auto;
}

.i3 .i3div {
    width: 31.5%;
}

.i3 .i3div:nth-child(3n) {
    margin-right: 0;
}

@media screen and (max-width: 500px) {
    .i3 .i3div img {
        width: 100%;
        height: auto;
    }
}

.i3.btcap div img {
    margin-bottom: 0;
}

.i3.boxwrap-w {
    margin: 40px 0;
}

.i4 {
    margin: 40px auto;
}

.i4 .i4div {
    width: 23.5%;
}

.i4 .i4div:nth-child(4n) {
    margin-right: 0;
}

@media screen and (max-width: 500px) {
    .i4 .i4div img {
        width: 100%;
        height: auto;
    }
}

.i4.btcap div img {
    margin-bottom: 0;
}

.i4.boxwrap-w {
    margin: 40px 0;
}

.i5 {
    margin: 40px auto;
}

.i5 .i5div {
    width: 18.4%;
}

.i5 .i5div:nth-child(5n) {
    margin-right: 0;
}

@media screen and (max-width: 500px) {
    .i5 .i5div img {
        width: 100%;
        height: auto;
    }
}

.i5.btcap div img {
    margin-bottom: 0;
}

.i5.boxwrap-w {
    margin: 40px 0;
}

.i6 {
    margin: 40px auto;
}

.i6 .i6div {
    width: 15.8%;
}

.i6 .i6div:nth-child(6n) {
    margin-right: 0;
}

@media screen and (max-width: 500px) {
    .i6 .i6div img {
        width: 100%;
        height: auto;
    }
}

.i6.btcap div img {
    margin-bottom: 0;
}

.i6.boxwrap-w {
    margin: 40px 0;
}

.i2 .in-wrap div {
    margin-right: 5%;
}

.i3 .in-wrap div {
    margin-right: 2.75%;
}

@media screen and (max-width: 500px) {
    .i3 .in-wrap div {
        width: 100%;
        margin: 0 0 10px 0;
    }
}

@media screen and (max-width: 500px) {
    .i4 .in-wrap div {
        margin-right: 2%;
        margin-bottom: 8px;
        border: solid 1px #79796A;
        padding: 8px;
        width: 49%;
    }
    .i4 .in-wrap div:nth-child(2n) {
        margin-right: 0;
    }
    .i4 .in-wrap img {
        width: 100%;
        height: auto;
    }
}

.i6 .in-wrap div {
    margin-right: 1%;
}

@media screen and (max-width: 500px) {
    .i6 .in-wrap div {
        margin-right: 1%;
        width: 32.6%;
    }
    .i6 .in-wrap div:nth-child(3n) {
        margin-right: 0;
    }
}

.i6 .in-wrap div figure {
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
}

.i6 .in-wrap div figure img {
    width: 100%;
    height: auto;
}

.i-sh {
    box-shadow: 1px 1px 4px rgba(0, 0, 0, 0.3);
}

.line-hr {
    margin-bottom: 80px;
}

.line-hr hr {
    height: 1px;
    overflow: hidden;
    border: none;
    border-bottom: solid 1px #aaa;
}

.line-hr.fl-arrow {
    position: relative;
}

.line-hr.fl-arrow hr {
    width: 0;
    height: 0;
    border: 40px solid transparent;
    border-top: 40px solid #11AC6F;
    right: 0;
    margin: auto;
}

@media screen and (max-width: 500px) {
    .line-hr {
        margin-bottom: 40px;
    }
}

.noline-hr {
    margin-bottom: 80px;
}

.noline-hr hr {
    height: 1px;
    overflow: hidden;
    border: none;
}

@media screen and (max-width: 500px) {
    .noline-hr {
        margin-bottom: 40px;
    }
}

.dibox {
    margin: 30px auto;
}

.access-data dt {
    color: #E6FEDC;
    font-weight: bold;
    margin-top: 10px;
}

.access-data dd {
    font-size: 16px;
}

.hov {
    transition: all 0.6s;
}

.hov:hover {
    opacity: 0.8;
}
/* 汎用テーブルレイアウト
 * =================================================================================
 */

.tb-box1,
.tb-box1-2,
.tb-box1-3,
.tb-box2,
.tb-box3,
.tb-service-ichiran {
    width: 100%;
    table-layout: auto;
    margin: 0;
    border-collapse: collapse;
    border-top: 1px solid #ccc;
}

.tb-box1 th,
.tb-box1-2 th,
.tb-box1-3 th,
.tb-box2 th,
.tb-box3 th,
.tb-service-ichiran th {
    background: #E6FEDC;
    padding: 16px 16px;
    border-bottom: 1px solid #ccc;
    border-right: 1px solid #fff;
    font-weight: bold;
}

.tb-box1 th.hd_bggr,
.tb-box1-2 th.hd_bggr,
.tb-box1-3 th.hd_bggr,
.tb-box2 th.hd_bggr,
.tb-box3 th.hd_bggr,
.tb-service-ichiran th.hd_bggr {
    background: #11AC6F;
    color: #fff;
}

.tb-box1 td,
.tb-box1-2 td,
.tb-box1-3 td,
.tb-box2 td,
.tb-box3 td,
.tb-service-ichiran td {
    padding: 16px;
    background: #F7FBF4;
    border-bottom: 1px solid #ccc;
    overflow: hidden;
}

.tb-box1 th {
    width: 30%;
}

.tb-box1 th.th-01 {
    width: 70%;
}

.tb-box1 td {
    width: 70%;
}

.tb-box1 td.td-01 {
    width: 30%;
}

@media screen and (max-width: 500px) {
    .tb-box1 {
        width: 100%;
    }
    .tb-box1 tr {
        width: 100%;
        display: block;
    }
    .tb-box1 tr th {
        width: 100%;
        display: block;
    }
    .tb-box1 tr th.th-01 {
        width: 100%;
    }
    .tb-box1 tr td {
        width: 100%;
        display: block;
    }
    .tb-box1 tr td.td-01 {
        width: 100%;
    }
}

.tb-box1-2 th {
    width: 50%;
}

.tb-box1-2 td {
    width: 50%;
}

.tb-box1-3 th {
    width: 70%;
    text-align: left;
}

.tb-box1-3 td {
    width: 30%;
}

@media screen and (max-width: 500px) {
    .tb-box1-3 {
        width: 100%;
    }
    .tb-box1-3 tr {
        width: 100%;
        display: block;
    }
    .tb-box1-3 tr th {
        width: 100%;
        display: block;
    }
    .tb-box1-3 tr td {
        width: 100%;
        display: block;
    }
}

.tb-box2 th {
    width: 33%;
}

.tb-box2 td {
    width: 33%;
}

.tb-box3 th {
    width: 20%;
}

.tb-box3 td {
    width: 20%;
}

.tb-box-b,
.tb-box-b2,
.tb-box-b3,
.tb-box-b4,
.tb-box-b5,
.tb-box-b6 {
    width: 100%;
    table-layout: auto;
    margin: 0;
    border-collapse: collapse;
    border: 1px solid #79796A;
}

.tb-box-b th,
.tb-box-b2 th,
.tb-box-b3 th,
.tb-box-b4 th,
.tb-box-b5 th,
.tb-box-b6 th {
    background: #FDECE6;
    padding: 16px;
    border: 1px solid #79796A;
    color: #F4792F;
}

.tb-box-b td,
.tb-box-b2 td,
.tb-box-b3 td,
.tb-box-b4 td,
.tb-box-b5 td,
.tb-box-b6 td {
    background: transparent;
    padding: 16px;
    border: 1px solid #79796A;
}

.tb-box-b th {
    width: 35%;
}

.tb-box-b th:nth-child(1) {
    background: #F5F2E9;
}

.tb-box-b td {
    width: 35%;
}

.tb-box-b th:nth-child(1),
.tb-box-b td:nth-child(1) {
    width: 30%;
}

.tb-box-b2 th {
    width: 23.3%;
}

.tb-box-b2 th:nth-child(1) {
    background: #F5F2E9;
}

.tb-box-b2 td {
    width: 23.3%;
}

.tb-box-b2 th:nth-child(1),
.tb-box-b2 td:nth-child(1) {
    width: 30%;
}

.tb-box-b3 th {
    width: 17.5%;
}

.tb-box-b3 th:nth-child(1) {
    background: #F1F0EE;
}

.tb-box-b3 td {
    width: 17.5%;
}

.tb-box-b3 th:nth-child(1),
.tb-box-b3 td:nth-child(1) {
    width: 30%;
}

.tb-box-b4 th {
    width: 14%;
}

.tb-box-b4 th:nth-child(1) {
    background: #F1F0EE;
}

.tb-box-b4 td {
    width: 14%;
}

.tb-box-b4 th:nth-child(1),
.tb-box-b4 td:nth-child(1) {
    width: 30%;
}

.tb-box-b5 th {
    width: 11.6%;
}

.tb-box-b5 th:nth-child(1) {
    background: #F1F0EE;
}

.tb-box-b5 td {
    width: 11.6%;
}

.tb-box-b5 th:nth-child(1),
.tb-box-b5 td:nth-child(1) {
    width: 30%;
}

.tb-box-b6 th {
    width: 10%;
}

.tb-box-b6 th:nth-child(1) {
    background: #F1F0EE;
}

.tb-box-b6 td {
    width: 10%;
}

.tb-box-b6 th:nth-child(1),
.tb-box-b6 td:nth-child(1) {
    width: 30%;
}

.wrap-tb-sb {
    width: 100%;
    overflow: auto;
}

.tb-service-ichiran {
    border-left: 1px solid #ccc;
}

.tb-service-ichiran th {
    width: 20%;
}

.tb-service-ichiran td {
    border-right: 1px solid #ccc;
    text-align: center;
    height: 50px;
}

.tb-service-ichiran tr:nth-child(2n) td {
    background: #eee;
}

.tb-service-ichiran .area {
    width: 5%;
    background: #11AC6F !important;
    color: #fff;
}

.tb-service-ichiran .area p {
    padding: 0;
    display: inline;
    color: #fff;
    writing-mode: tb-rl;
    /* IE用 */
    
    writing-mode: vertical-rl;
    /* Chrome、Firefox用 */
    
    margin: 0 auto;
    white-space: nowrap;
    width: 1em;
    /* firefox対策 */
    
    line-height: 1em;
    /* firefox対策 */
    
    text-orientation: upright;
}

.tb-service-ichiran .sb {
    border-right: 1px solid #ccc;
    width: 2em;
}

.tb-service-ichiran .sb p {
    display: inline;
    writing-mode: tb-rl;
    /* IE用 */
    
    writing-mode: vertical-rl;
    /* Chrome、Firefox用 */
    
    margin: 0 auto;
    white-space: nowrap;
    width: 1em;
    /* firefox対策 */
    
    line-height: 1em;
    /* firefox対策 */
    
    text-orientation: upright;
}

@media only screen and (max-width: 420px) {
    .tb-service-ichiran {
        position: relative;
    }
    .tb-service-ichiran .title {
        width: 200px !important;
    }
    .tb-service-ichiran td {
        padding: 0;
    }
    .tb-service-ichiran th {
        padding: 0;
    }
    .tb-service-ichiran thead {
        display: block;
        width: 100%;
        height: 300px;
    }
}

.dl-box1 {
    margin: 30px auto;
    margin-bottom: 80px;
    display: block;
}

.dl-box1 dl {
    display: table;
    width: 100%;
}

.dl-box1 dl dt,
.dl-box1 dl dd {
    display: table-cell;
    position: relative;
}

.dl-box1 dl dt {
    width: 30%;
    padding: 16px 2%;
    margin-right: 1%;
    font-weight: bold;
}

.dl-box1 dl dt:after {
    position: absolute;
    bottom: 0;
    left: 0;
    content: '';
    display: block;
    width: 99%;
    height: 0;
    border-bottom: solid 1px #282828;
}

.dl-box1 dl dd {
    width: 70%;
    padding: 16px 1%;
}

.dl-box1 dl dd:after {
    position: absolute;
    bottom: 0;
    left: 0;
    content: '';
    display: block;
    width: 100%;
    height: 0;
    border-bottom: solid 1px #ccc;
}

@media screen and (max-width: 500px) {
    .dl-box1 dl dt {
        width: 25%;
    }
    .dl-box1 dl dd {
        width: 75%;
    }
}

#pagetop {
    position: fixed;
    bottom: 50px;
    right: 50px;
    z-index: 8888;
}

@media screen and (max-width: 500px) {
    #pagetop {
        display: none;
    }
}


.to-buttonbox {
	width: 70%;
	margin-bottom: 60px;
	border-collapse: collapse;
}
.to-buttonbox th,
.to-buttonbox td{
	border: 1px solid #ccc;
	border-collapse: collapse;
	
}

.to-buttonbox th,
.to-buttonbox td{
	padding: 10px;
}

@media screen and (max-width: 500px) {
    .to-buttonbox {
        display: flex;
        flex-direction: column-reverse;
    }
}


.to-buttonbox .to-bt2 a {
    padding: 5px 10px 5px 40px;
}

.to-buttonbox p.txt {
    padding: 5px;
}

.to-bt {
    margin-bottom: 32px;
}

.to-bt {
    padding: 0;
    margin: 0;
    font-weight: 700;
}

.to-bt a {
    display: inline-block;
    padding: 20px 40px 20px 70px;
    text-align: center;
    color: #fff;
    text-decoration: none;
    transition: all 0.6s;
    position: relative;
    background: #5AA7E0;
    background-size: 7px 11px;
    border: solid 1px transparent;
    position: relative;
    font-size: 18px;
    box-shadow: 3px 3px 3px rgba(0, 0, 0, 0.3);
}

.to-bt a:before {
    width: 19px;
    height: 19px;
    -webkit-border-radius: 50%;
    border-radius: 50%;
    left: 20px;
    background: #fff;
}

.to-bt a:after {
    left: 23px;
    width: 7px;
    height: 7px;
    border-top: 2px solid #DE5678;
    border-right: 2px solid #DE5678;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
}

.to-bt a:hover {
    background: #DE5678;
}

.to-bt2 {
    text-align: center;
}

.to-bt2 {
    padding: 0;
    margin: 0;
    font-weight: 700;
}

.to-bt2 a {
    display: inline-block;
    padding: 8px 40px;
    text-align: center;
    background: #fff;
    color: #262626;
    border: #bbb 1px solid;
    border-radius: 2px;
    text-decoration: none;
    transition: all 0.6s;
    position: relative;
}

.to-bt2 a:hover {
    background: linear-gradient(to top, #fff, #ddd);
}

.to-bt2 a[href*=".pdf"]:before {
    content: '';
    display: block;
    position: absolute;
}

.to-bt2 a[href*=".pdf"]:before {
    top: 0;
    bottom: 0;
    margin: auto;
    left: 4px;
    width: 31px;
    height: 36px;
    background: url("../img/icon-pdf-m.svg") no-repeat left center;
    background-size: 24px 24px;
}

.to-bt2 a[href*=".doc"]:before {
    content: '';
    display: block;
    position: absolute;
}

.to-bt2 a[href*=".doc"]:before {
    top: 0;
    bottom: 0;
    margin: auto;
    left: 4px;
    width: 31px;
    height: 36px;
    background: url("../img/icon-word-m.svg") no-repeat left center;
    background-size: 24px 24px;
}

.to-bt2 a[href*=".xls"]:before {
    content: '';
    display: block;
    position: absolute;
}

.to-bt2 a[href*=".xls"]:before {
    top: 0;
    bottom: 0;
    margin: auto;
    left: 4px;
    width: 31px;
    height: 36px;
    background: url("../img/icon-xcel-m.svg") no-repeat left center;
    background-size: 24px 24px;
}

.to-bt2 a[href*=".xlsx"]:before {
    content: '';
    display: block;
    position: absolute;
}

.to-bt2 a[href*=".xlsx"]:before {
    top: 0;
    bottom: 0;
    margin: auto;
    left: 4px;
    width: 31px;
    height: 36px;
    background: url("../img/icon-xcel-m.svg") no-repeat left center;
    background-size: 24px 24px;
}

#main .to-bt {
    margin: 30px auto;
}

.qabox {
    margin: 30px auto;
    overflow: hidden;
}

.qabox dl dt,
.qabox dl dd {
    position: relative;
}

.qabox dl dt:before,
.qabox dl dd:before {
    display: block;
    position: absolute;
    top: 0;
    font-size: 30px;
}

.qabox dl dt {
    color: #11AC6F;
    margin-bottom: 10px;
    padding: 15px 0 10px 45px;
    font-weight: 700;
    position: relative;
    font-size: 18px;
    border-bottom: 1px solid #79796A;
}

.qabox dl dt:before {
    font-family: 'Arial';
    content: 'Q.';
    font-weight: 300;
    left: 10px;
}

.qabox dl dt p {
    position: absolute;
    top: 50%;
    right: 0;
    margin-top: -8px;
    z-index: 10;
}

.containerbox .qabox dl {
    padding: 0;
}

.stepbox {
    margin: 30px auto;
    overflow: hidden;
}

.stepbox ul {
    padding: 0;
}

.stepbox ul li {
    display: table;
    width: 100%;
    margin-bottom: 3%;
    position: relative;
}

.stepbox ul li .left,
.stepbox ul li .il,
.stepbox ul li .right,
.stepbox ul li .ir {
    display: table-cell;
    float: none;
    position: relative;
}

.stepbox ul li .left,
.stepbox ul li .il {
    width: 10%;
    color: #fff;
    text-align: center;
    vertical-align: top;
}

.stepbox ul li .left p,
.stepbox ul li .il p {
    margin-top: 16px;
}

.stepbox ul li .left h2,
.stepbox ul li .il h2 {
    padding-top: 15px;
    width: 80px;
    height: 80px;
    border-radius: 100%;
    color: #fff;
    background: #5AA7E0;
    line-height: 1.3;
    font-size: 26px;
    font-family: Arial, Helvetica, "sans-serif";
}

.stepbox ul li .left h2 .step,
.stepbox ul li .il h2 .step {
    font-size: 13px;
    display: block;
}

.stepbox ul li .left:after,
.stepbox ul li .il:after {
    position: absolute;
    content: "";
    width: 5px;
    height: 130%;
    z-index: -1;
    top: 5px;
    left: 38px;
    right: 0;
    background: linear-gradient(#ccc 70%, #fff);
}

.stepbox ul li .left .boxwrap2,
.stepbox ul li .il .boxwrap2 {
    box-sizing: border-box;
}

.stepbox ul li .right,
.stepbox ul li .ir {
    width: 90%;
}

.stepbox ul li .right h3,
.stepbox ul li .ir h3,
.stepbox ul li .right .stepbox-maintxt,
.stepbox ul li .ir .stepbox-maintxt,
.stepbox ul li .right .stepbox-subtxt,
.stepbox ul li .ir .stepbox-subtxt {
    margin: 0 0 1% 4%;
}

.stepbox ul li .right h3,
.stepbox ul li .ir h3 {
    font-size: 18px;
    line-height: 1.7;
    font-weight: 700;
    color: #262515;
    margin-top: 8px;
}

.stepbox ul li .right .stepbox-maintxt img,
.stepbox ul li .ir .stepbox-maintxt img {
    float: right;
}

.stepbox ul li .right .i3,
.stepbox ul li .ir .i3 {
    margin-bottom: 20px;
}

.stepbox ul li:after {
    content: '';
    display: block;
    position: absolute;
    bottom: -1%;
    left: 7%;
    width: 0;
    height: 0;
    border: solid 1% transparent;
    border-top: solid 1% #5AA7E0;
    border-bottom: 2%;
}

.stepbox ul li:last-child:after {
    border: none;
    display: none;
}

@media screen and (max-width: 500px) {
    .stepbox ul li .left, .stepbox ul li .il, .stepbox ul li .right, .stepbox ul li .ir {
        display: block;
        width: 100%;
    }
    .stepbox ul li .left p,
    .stepbox ul li .il p,
    .stepbox ul li .left h2,
    .stepbox ul li .il h2 {
        display: inline-block;
    }
    .stepbox ul li .left h2,
    .stepbox ul li .il h2 {
        font-size: 26px;
    }
    .stepbox ul li .left:after,
    .stepbox ul li .il:after {
        content: none;
    }
    .stepbox ul li .right h3,
    .stepbox ul li .ir h3,
    .stepbox ul li .right p.stepbox-maintxt,
    .stepbox ul li .ir p.stepbox-maintxt {
        margin: 10px 0 0;
        text-align: center;
    }
    .stepbox ul li .right:after,
    .stepbox ul li .ir:after {
        content: '';
        position: absolute;
        width: 0;
        height: 0;
        border: 10px solid transparent;
        border-top: 10px solid #ccc;
        left: 0;
        right: 0;
        bottom: -30px;
        top: auto;
        margin: auto;
    }
    .stepbox ul li:last-child .right:after,
    .stepbox ul li:last-child .ir:after {
        content: none;
    }
}

.stepbox-subtxt {
    background: url("../img/back-lesson.gif") repeat top left;
    border: double 4px #79796A;
    padding: 1% 1% 1% 3%;
    position: relative;
}

.stepbox-subtxt:before {
    content: '';
    display: block;
    width: 1%;
    height: 2px;
    position: absolute;
    top: 2%;
    left: 1%;
    background: #11AC6F;
}

.block-listed p {
    padding-top: 8px;
    padding-left: 30px;
}

/*.block-listed p:before {
    width: 10px;
    height: 100%;
    background: #11AC6F;
}

.block-listed p:after {
    left: 0;
    width: 6px;
    height: 6px;
    border-top: 1px solid #fff;
    border-right: 1px solid #fff;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
}*/

.sub-box {
    border-top: 4px solid #11AC6F;
}

.sub-box h4 {
    padding: 10px 0;
    margin-bottom: 20px;
    font-size: 16px;
    font-weight: bold;
    border-bottom: 1px solid #79796A;
    text-align: left;
}

.sub-box p {
    text-align: left;
}

.sub-box-wide {
    display: flex;
}

@media screen and (max-width: 500px) {
    .sub-box-wide {
        display: block;
        width: 100%;
    }
}

.sub-box-wide .img {
    width: 40%;
}

.sub-box-wide .img img {
    width: 100%;
    height: auto;
}

.sub-box-wide .img.img-twin img {
    width: 48%;
}

.sub-box-wide .img img:first-child {
    margin-right: 10px;
}

@media screen and (max-width: 500px) {
    .sub-box-wide .img {
        text-align: center;
        width: 100%;
    }
    .sub-box-wide .img img {
        margin: 10px auto;
        width: 48% !important;
        height: auto;
    }
}

@media screen and (max-width: 500px) {
    .sub-box-wide p {
        width: 100%;
    }
}

.sub-box-wide .txt-area {
    width: 60%;
}

@media screen and (max-width: 500px) {
    .sub-box-wide .txt-area {
        width: 100%;
    }
}

.sub-box-wide h4 {
    padding-left: 16px;
    font-size: 18px;
    font-weight: bold;
    margin-bottom: 20px;
    position: relative;
    color: #11AC6F;
}

.sub-box-wide h4:before {
    content: "";
    width: 6px;
    height: 100%;
    background: #11AC6F;
    top: 0;
    bottom: 0;
    left: 0;
    position: absolute;
}

.sub-box-wide.txt-right .txt-area {
    padding-left: 30px;
}

@media screen and (max-width: 500px) {
    .sub-box-wide.txt-right .txt-area {
        padding-left: 0;
    }
}

.sub-box-wide.txt-left {
    flex-flow: row-reverse;
}

.sub-box-wide.txt-left .txt-area {
    padding-right: 30px;
}

@media screen and (max-width: 500px) {
    .sub-box-wide.txt-left .txt-area {
        padding-right: 0;
    }
}
/*inquiry_form style*/

#contactbox {
    border-top: 1px solid #79796A;
}

#contactbox input.fm-txt,
#contactbox select,
#contactbox .fm-texa {
    margin-bottom: 10px;
    padding: 15px;
    border-radius: 3px;
    background-color: #F5F2E9;
    width: 100%;
    box-sizing: border-box;
    border: 1px solid #79796A;
}

#contactbox input.fm-txt.zipcode,
#contactbox select.zipcode,
#contactbox .fm-texa.zipcode {
    width: 40%;
}

#contactbox input.fm-txt:focus,
#contactbox select:focus,
#contactbox .fm-texa:focus {
    outline: none;
    border-color: #11AC6F;
    background: #fff;
}

#contactbox input.fm-chk,
#contactbox input.fm-rad {
    margin-bottom: 10px;
}

#contactbox label {
    display: block;
}

#contactbox tr {
    width: 100%;
    display: block;
}

#contactbox th {
    width: 100%;
    padding: 15px 15px 0 15px;
    display: list-item;
    list-style: none;
    text-align: left;
    background: #fff;
    color: #000;
}

#contactbox td {
    width: 100%;
    padding: 15px 15px 5px 15px;
    display: list-item;
    list-style: none;
    background: #fff;
}

#contactbox td p {
    margin-bottom: 10px;
}

#contactbox th {
    font-weight: bold;
}

#contactbox .to-submit input,
#contactbox .to-submit button {
    padding: 10px;
    border-radius: 5px;
    width: 100%;
    background: #79796A;
    color: #11AC6F;
    border: 2px solid #79796A;
    font-weight: bold;
    cursor: pointer;
}

.hissu:before {
    margin-right: 1em;
    content: "*";
    color: #F00;
    position: relative;
    top: 50%;
    left: 1em;
    font-weight: bold;
}

.to-submit #submit,
.to-submit #reset {
    margin: 0 auto 1px;
    padding: 1em 3em;
    display: block;
}

.to-submit #submit {
    margin-bottom: 1em;
    width: 60%;
    padding: 20px 3em;
    border: none;
    background: #666;
    color: #fff;
    letter-spacing: 0.3em;
    font-weight: bold;
}

.to-submit #reset,
.to-submit #back {
    margin-bottom: 1em;
    padding: 1em 3em;
    border: 1px solid #ccc;
    background: #fff;
    color: #666;
    letter-spacing: 0.3em;
    font-family: "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}

#submit:hover,
#reset:hover,
#back:hover {
    background: #003F7D;
    cursor: pointer;
    color: #fff;
}
/* Each page Style
 * =================================================================================
**/

.csflexbox {
    width: 1100px;
    margin-top: 30px;
    display: -webkit-flex;
    display: flex;
    -webkit-flex-direction: column;
    flex-direction: column;
    flex-wrap: wrap;
    align-items: center;
    align-content: flex-start;
    min-height: 1100px;
    height: 60vw;
}

@media screen and (max-width: 500px) {
    .csflexbox {
        width: 100%;
        display: block;
        height: auto;
    }
}

.csflexbox * {
    margin: auto;
}

.csflexbox .csitem {
    position: relative;
    width: 32.7%;
    margin: 0 1% 10px 0;
    border: 4px solid #11AC6F;
    border-radius: 10px;
    padding: 20px;
}

@media screen and (max-width: 500px) {
    .csflexbox .csitem {
        width: 100%;
    }
}

.csflexbox .csitem .img {
    margin: 10px auto;
    text-align: center;
}

.csflexbox .csitem .img img {
    width: 80%;
    height: auto;
}

.csflexbox .csitem .title {
    margin-bottom: 10px;
    font-size: 20px;
    padding-left: 25px;
    font-weight: bold;
    color: #11AC6F;
    position: relative;
}

.csflexbox .csitem .title:before {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    border: 6px solid #11AC6F;
}

_:-ms-fullscreen,
:root .csflexbox {
    flex-direction: column;
    min-height: 1100px;
}

_:-ms-fullscreen,
:root .csitem {
    min-height: 100px;
}

#rec-nav {
    position: relative;
}

#rec-nav ul {
    position: absolute;
    top: -120px;
    left: 0;
    right: 0;
    margin: auto;
    display: flex;
    flex-flow: row nowrap;
    justify-content: center;
    align-content: center;
}

#rec-nav ul li {
    flex-basis: 140px;
    height: 140px;
    margin: 20px;
    text-align: center;
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
}

#rec-nav ul li .maru {
    width: 140px;
    height: 140px;
    border-radius: 50%;
    position: absolute;
    left: 0;
    top: 0;
}

#rec-nav ul li.sinsotsu .maru {
    background: #11AC6F;
}

#rec-nav ul li.career .maru {
    background: #F4792F;
}

#rec-nav ul li.company .maru {
    background: #5AA7E0;
}

#rec-nav ul li h3 {
    font-size: 20px;
    color: #fff;
    font-weight: bold;
    position: relative;
    z-index: 10;
    display: block;
}

#rec-nav ul li * {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    -webkit-transition: all 0.35s ease;
    transition: all 0.35s ease;
}

#rec-nav ul li:hover .maru {
    animation: purun2 0.4s linear 0s 1;
}

#rec-nav ul li a {
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    position: absolute;
    z-index: 110;
}

@media screen and (max-width: 500px) {
    #rec-nav ul {
        top: -90px;
    }
    #rec-nav ul li {
        margin: 0;
        flex-basis: 100px;
        height: 100px;
    }
    #rec-nav ul li .maru {
        width: 100px;
        height: 100px;
    }
    #rec-nav ul li h3 {
        font-size: 14px;
        text-align: center;
    }
}

.wrap-message {
    background: #D8F0FE;
    padding-bottom: 50px;
}

.wrap-message h2 {
    color: #11AC6F;
}

.wrap-message .pagenav {
    padding-top: 10px;
}

.wrap-message_sinsotsu {
    background: #11AC6F;
    padding-bottom: 20px;
    position: relative;
    z-index: 200;
}

.wrap-message_sinsotsu h2 {
    margin-bottom: 0;
    color: #fff;
}

.wrap-message_sinsotsu .pagenav {
    padding-top: 10px;
}

.wrap-message_career {
    background: #F4792F;
    padding-bottom: 20px;
    position: relative;
    z-index: 200;
}

.wrap-message_career h2 {
    margin-bottom: 0;
    color: #fff;
}

.wrap-message_career .pagenav {
    padding-top: 10px;
}

.container-rec {
    background: url(../img/fix/bg_rec.jpg) no-repeat -50% -100px;
    position: relative;
}

.container-rec-bosyu {
    padding-top: 40px;
    position: relative;
}

@media screen and (max-width: 500px) {
    .container-rec-bosyu {
        padding-top: 0;
    }
}

.top-rec-bosyu {
    position: absolute;
    top: -1px;
    left: 0;
    right: 0;
    margin: auto;
}

.cls-1 {
    color: #11AC6F;
    fill: #11AC6F;
}

.cls-2 {
    color: #F4792F;
    fill: #F4792F;
}

.irad {
    border-radius: 10px;
}

.bn_navi a {
    padding: 20px;
    display: block;
    background: #fff;
    box-shadow: 0px 0px 4px rgba(0, 0, 0, 0.5);
    border: 1px solid #F5F2E9;
    text-align: center;
    border-radius: 10px;
    position: relative;
}

.bn_navi a:after {
    width: 20px;
    height: 20px;
    left: auto;
    right: 20px;
    background: url(../img/fix/ico_arrow_circle.png) no-repeat 0 0;
    background-size: contain;
}

.bn_navi a img {
    height: 40px;
    width: auto;
}

@media screen and (max-width: 500px) {
    .bn_navi a:after {
        content: none;
    }
}

@media screen and (max-width: 500px) {
    .i2div .bt_bkrad a {
        padding: 10px 10px;
        display: block;
        font-size: 14px;
    }
}

.syokusyu-nav {
    display: flex;
}

.syokusyu-nav * {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    -webkit-transition: all 0.35s ease;
    transition: all 0.35s ease;
}

.syokusyu-nav li {
    flex-basis: 32%;
    margin-right: 3%;
    text-align: center;
    position: relative;
    border: 1px solid #11AC6F;
}

.syokusyu-nav li:nth-child(3n) {
    margin-right: 0;
}

.syokusyu-nav li h3 {
    padding: 15px 0 15px;
    color: #11AC6F;
    font-size: 16px;
    font-weight: bold;
    position: relative;
}

.syokusyu-nav li h3:after {
    content: "";
    width: 10px;
    height: 10px;
    border-top: 1px solid #11AC6F;
    border-right: 1px solid #11AC6F;
    transform: rotate(45deg);
    position: absolute;
    top: 0;
    bottom: 0;
    right: 30px;
    margin: auto;
}

.syokusyu-nav li:hover {
    background: #11AC6F;
}

.syokusyu-nav li:hover h3 {
    color: #fff;
}

.syokusyu-nav li:hover h3:after {
    border-color: #fff;
}

.syokusyu-nav li a {
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    position: absolute;
    z-index: 11;
}
/* WC Edit Style
 * =================================================================================
**/

.wcedit_40017C701901 #topslide {
    width: 100%;
    margin: 0 auto;
    height: 724px;
    overflow-x: scroll;
}

.wcedit_40017C701901 #topslide .sp-slide {
    position: relative;
}

.wcedit_40017C701901 #slide {
    width: 100%;
    margin: 0 auto;
    height: 650px;
    overflow-x: scroll;
}

.wcedit_40017C701901 #slide .sp-slide {
    position: relative;
    text-align: center;
}

.wcedit_40017C701901 #navigation > div {
    display: flex;
    flex-flow: row wrap;
}

.wcedit_40017C701901 .title-navi ul > div {
    display: flex;
    flex-flow: row wrap;
}

.wcedit_40017C701901 .wrap-top-bn a {
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    position: relative;
    z-index: 1;
}

.wcedit_40017C701901 .loading {
    display: none;
}
/* WC Select Style
 * =================================================================================
**/

.wcselect_40017C701901 .i1 .in-wrap {
    width: 100%;
}

.wcselect_40017C701901 .i1 .in-wrap > div {
    width: 100%;
    display: flex;
    flex-flow: row wrap;
}

.wcselect_40017C701901 .i2 .in-wrap {
    width: 100%;
}

.wcselect_40017C701901 .i2 .in-wrap > div {
    width: 100%;
    display: flex;
    flex-flow: row wrap;
}

.wcselect_40017C701901 .i3 .in-wrap {
    width: 100%;
}

.wcselect_40017C701901 .i3 .in-wrap > div {
    width: 100%;
    display: flex;
    flex-flow: row wrap;
}

.wcselect_40017C701901 .i4 .in-wrap {
    width: 100%;
}

.wcselect_40017C701901 .i4 .in-wrap > div {
    width: 100%;
    display: flex;
    flex-flow: row wrap;
}

.wcselect_40017C701901 .i5 .in-wrap {
    width: 100%;
}

.wcselect_40017C701901 .i5 .in-wrap > div {
    width: 100%;
    display: flex;
    flex-flow: row wrap;
}

.wcselect_40017C701901 .i6 .in-wrap {
    width: 100%;
}

.wcselect_40017C701901 .i6 .in-wrap > div {
    width: 100%;
    display: flex;
    flex-flow: row wrap;
}

.wcselect_40017C701901 #navigation > div {
    display: flex;
    flex-flow: row wrap;
}

.wcselect_40017C701901 .title-navi ul > div {
    display: flex;
    flex-flow: row wrap;
}

.wcselect_40017C701901 .loading {
    display: none;
}

.wcselect_40017C701901 #slide {
    width: 100%;
    margin: 0 auto;
    height: 650px;
    overflow-x: scroll;
}

.wcselect_40017C701901 #slide .sp-slide {
    position: relative;
    text-align: center;
}

.wcselect_40017C701901 .csflexbox {
    height: auto;
}

.wcselect_40017C701901 .csflexbox > div {
    display: flex;
    width: 100%;
    flex-direction: column;
    flex-wrap: wrap;
    align-items: center;
    align-content: flex-start;
    height: 1100px;
}
/* END:WC Select Style
 * =================================================================================
**/
/* WC Area Style
 * =================================================================================
**/

.wcarea_40017C701901 table {
    width: 80%;
}

.wcarea_40017C701901 table th,
.wcarea_40017C701901 table td {
    padding: 16px;
    width: auto;
}

.wcarea_40017C701901 table th {
    background-color: #e9e9e9;
}

.wcarea_40017C701901 .sp-slide {
    position: relative;
}

.wcarea_40017C701901 .md-bosyu .bosyu-cont {
    display: block;
}

.wcarea_40017C701901 .loading {
    display: none;
}
/* END:WC Area Style
 * =================================================================================
**/

.scanc {
    padding-top: 150px;
    margin-top: -150px;
    position: absolute;
    top: 0px;
}

#slide-insta .sp-slide {
    width: 174px;
}

@media screen and (max-width: 500px) {
    .sp-slide .i6div {
        width: 174px !important;
    }
    .sp-slide figure {
        margin: 0;
    }
}

.wcedit_40017C701901 #slide-insta .sp-slide {
    position: relative;
}

.wcedit_40017C701901 #slide-insta {
    width: 100%;
    margin: 0 auto;
    height: 180px;
    overflow: scroll;
}

.wcedit_40017C701901 #slide-insta .sp-slide {
    position: relative;
    text-align: center;
    float: left;
}

.wcselect_40017C701901 #slide-insta {
    width: 100%;
    margin: 0 auto;
    height: 180px;
    overflow: scroll;
}

.wcselect_40017C701901 #slide-insta .sp-slide {
    position: relative;
    text-align: center;
    float: left;
}

#preloader_1 {
    position: absolute;
    left: 50%;
    top: 50%;
    margin-left: -25px;
    margin-top: -5px;
}

#preloader_1 span {
    display: block;
    bottom: 0px;
    width: 9px;
    height: 5px;
    background: #9b59b6;
    position: absolute;
    animation: preloader_1 1.5s infinite ease-in-out;
}

#preloader_1 span:nth-child(2) {
    left: 11px;
    animation-delay: .2s;
}

#preloader_1 span:nth-child(3) {
    left: 22px;
    animation-delay: .4s;
}

#preloader_1 span:nth-child(4) {
    left: 33px;
    animation-delay: .6s;
}

#preloader_1 span:nth-child(5) {
    left: 44px;
    animation-delay: .8s;
}

@keyframes preloader_1 {
    0% {
        height: 5px;
        transform: translateY(0px);
        background: #9b59b6;
    }
    25% {
        height: 30px;
        transform: translateY(15px);
        background: #3498db;
    }
    50% {
        height: 5px;
        transform: translateY(0px);
        background: #9b59b6;
    }
    100% {
        height: 5px;
        transform: translateY(0px);
        background: #9b59b6;
    }
}


.top-bn h2 {
/*    font-family: 'M PLUS Rounded 1c', sans-serif;*/
    color: #fff;
    font-size: 1.2rem;
}
.bn_event_top h2 {
    font-family: 'M PLUS Rounded 1c', sans-serif;
    font-size: 1.5rem;
}

.drawer-container > div:last-child {
	z-index: 100;
	position: relative;
}

#navigation span.secondary {
	display: none;
}
header.drawer-navbar {
	padding-bottom: 0;
}






@media screen and (max-width: 500px) and (min-width: 1px) {
	#section_primary h2 {
		font-size: 1.5rem;
	}
	#section_secondary .wrap-top-bn {
		flex-direction: column;
	}
	.news_dl {
		overflow: hidden;
		display: block;
	}
	#navigation,
	header.drawer-navbar .drawer-nav {
		padding-top: 0;
		margin-top: 0;
	}
	
	
}

/*===============================ヘッダー===============================*/
#sns{
	width: 30px;
	height: 30px;
	padding-top: 20px;
	position: absolute;
	right: 0;
}
#sns img{
	width: 100%;
	height: auto;
}
/*===============================SEO===============================*/
#seo{
	padding: 115px 0;
    background: url(../img/seo-bg.png) no-repeat center -10px;
    position: relative;
}

.seo-wrap:before{
	position: absolute;
	display: block;
	right: 0;
	top: 0;
	bottom: 0;
	margin: auto 0;
	width: 170px;
	height: 158px;
	background-size: contain;
	background: url("../img/seo-img.png") no-repeat center;
}

#seo h2 {
    font-size: 2rem;
    text-align: center;
	font-weight: bold;
}

#seo p {
    margin: 30px auto;
    max-width: 790px;
	font-size: 1.1rem;
	text-align: center;
	word-break: break-all;
}
/*===============================施設バナー===============================*/
.facility{
	display:flex;
	flex-wrap: wrap;
	justify-content: space-between;
	position: relative;
    z-index: -9999;
}
.yuwa,
.green-city{
	position: relative;
	z-index: -99;
	width: 50%;
}

/*.yuwa:before,
.green-city:before{
	display: block;
	content: "";
	position: absolute;
	width: 95%;
	height: 85%;
	margin: 2.5%;
	z-index: 1;
}
.yuwa:before{
	background: linear-gradient(rgba(0, 162, 98, 0.8), rgba(3, 136, 131, 0.8))
}
.green-city:before{
	background: linear-gradient(rgba(243, 151, 0, 0.8), rgba(233, 94, 0, 0.8))
}*/

/*.bnr-title{
	position: absolute;
	color: #fff;
	font-weight: bold;
	font-size: 30px;
	top: 0;
	bottom: 0;
	margin: auto;
	left: 0;
	right: 0;
	height: 50px;
	text-align: center;
	z-index: 6;
}*/
.yuwa .bnr-title a{
	background-color:rgba(0, 162, 98, 0.8);
    background-image:linear-gradient(transparent,rgba(3, 136, 131, 0.8));
}

.green-city .bnr-title a{
	background-color:rgba(243, 151, 0, 0.8);
    background-image:linear-gradient(transparent,rgba(233, 94, 0, 0.8));
	transition: all 0.5s;
}

.bnr-title a{
	position: absolute;
	display: block;
	width: 95%;
	height: 17%;
	margin: 2.5%;
	top: 0;
	text-align: center;
	padding: 12% 0;
	z-index: 999;
	text-decoration: none;
	font-size: 30px;
	color: #fff;
	font-weight: bold;
	transition: all 0.5s;
}

.facility .yuwa .bnr-title a:hover,
.facility .green-city .bnr-title a:hover{
	text-shadow: #fff 0px 0px 5px;
	background: none;
}
.yuwa .bnr-title a:hover{
	color: #006f43;
}
.green-city .bnr-title a:hover{
	color: #ec5106;
}

.facility img{
	opacity: 0.8;
}
/*===============================3列バナー===============================*/
.img{
    overflow: hidden;
}
.btn-title{
	font-size: 23px;
	display: contents;
}
/*===============================ニュース===============================*/
#wrap_newstopics:before{
	position: absolute;
	background-size: contain;
	margin:auto;
	width: 100%;
	height: 100%;
	top: 0;
	bottom: 0;
	left: 0;
	display: block;
	content: "";
	background: url("../img/news-bg.png") no-repeat top 30px center;
	opacity: 0.7;
	z-index: -1;
}
#wrap_newstopics h3.news-title{
	font-size: 24px;
}
.area_news{
	width: 900px;
	margin: 0 auto;
}

.space-left{
	padding-left: 20px;
}
.txt-only{
	padding: 30px 15px;
}

.news-btn{
	padding: 20px 20px 0 20px;
	width: 250px;
	float: right;
	
}

.news-btn a{
	position: relative;
	display: block;
	padding: 10px 18px 10px 10px;
	color: #00aaeb;
	font-weight: bold;
	text-decoration: none;
	text-align: center;
	border: 1px solid #00aaeb;
	background: #fff;
	transition: all 0.5s;														 
}
.news-btn a:hover{
	color: #fff;
	background: #00aaeb;
	transition: 0.5s;
}

.news-btn a:hover:after{
	color: #fff;
	transition: 0.5s;
}
.news-btn a:hover:before{
	bottom: 0px;
	right: 0px;
	transition: 0.5s;
}

.news-btn a:before{
	display: block;
	content: "";
	position: absolute;
	width: 200px;
	padding: 22px 0;
	border-bottom: 1px solid #00aaeb;
	border-right: 1px solid #00aaeb;
	bottom: -10px;
	right: -10px;
	transition: all 0.5s;
}
.news-btn a:after{
	position: absolute;
	display: block;
	content: "➔";
	color: #00aaeb;
	right: 10px;
	bottom: 0;
	top: 0;
	margin: auto 0;
	height: 30px;
}

/*===============================フッター===============================*/
#footer{
	background: #ededed;
}
.contents-f{
	display: flex;
	justify-content: space-between;
	width: 1100px;
	margin: 0 auto;
	position: relative;
}

/*#footer:before {
	width: 100%;
	height: 80px;
	position: absolute;
	content: "";
	background: url(../img/fix/bg_bottomline.png) repeat-x 0 0;
	top: 0;
}*/

#footer .flink{
	width: 55%;
}
.info-f{
	font-weight: bold;
	text-align: center;
}
.nav-f{
	margin-bottom: 8px;
}
.flink-drop {
	margin-left: 15px;
	margin-bottom: 8px;
}
.flink-drop dt{
	font-weight: bold;
	font-size: 14px;
}
.flink-drop dd{
	display: inline-block;
	padding: 0 0 0 15px;
	margin-right: 10px;
    margin-bottom: 8px;
	font-size: 14px;
	position: relative;
}
.flink-drop dt a,
.flink-drop dd a{
	text-decoration: none;
}
.flink-drop dd:before{
	content: "・";
	display: block;
	position: absolute;
	left: 0;
}

/*===============================レスポンシブ===============================*/
@media screen and (max-width: 1100px) {
	.contents-f{
		width: 100%;
	}
	.area_news{
		width: 80%;
	}
	.bnr-title a{
		font-size: 24px;
	}
}

@media screen and (max-width: 800px) {
	#navigation li{
		font-size: 14px;
		padding: 10px 0;
	}
	#navigation li a{
		padding: 5px 0 5px 2px;
	}
	.facility{
		display: block;
	}
	.yuwa,
	.green-city{
		width: 100%;
	}
	.bnr-title a{
		font-size: 24px;
	}
	#footer .logo-f,
	#footer .flink{
		margin: 0 auto;
	}
	#footer .flink{
		width: 80%;
	}
	.contents-f{
		display: block;
	}
	.to-buttonbox{
		width: 100%;
	}
}
@media screen and (max-width: 950px) {
	.table{
		overflow-x: scroll;
	}
}
@media screen and (max-width: 560px) {
	.module_embed iframe{
		width: 100%;
		}
}
@media screen and (max-width: 500px) {
	h1#logo a{
		width: 300px;
	}
	.drawer-navbar .drawer-navbar-header{
		z-index: 0;
	}
	#navigation li{
		padding: 0;
	}
	#navigation li a{
		padding: 15px 20px;
	}
	#sns{
		margin-right: 20px;
		padding: 0;
		margin-top: 20px;
		float: right;
		position: relative;
	}
	#seo{
		background-size: cover;
		padding: 45px 0;
	}
	#seo h2{
		font-size: 20px;
	}
	#seo p{
		word-break: break-all;
		margin: 200px auto 30px;
		padding: 0 2%;
	}
	.seo-wrap:before{
		margin: 0 auto;
		left: 0;
		top: 14%;
	}
	.bnr-title a{
		font-size: 18px;
	}
	.area_news{
		width: 100%;
	}
	#footer .logo-f{
		width: 300px;
	}
	#footer .flink{
		width: 100%;
	}

	#footer .flink li{
		margin: 0;
		padding: 0 7% 10px;
	}
	.flink-drop{
		margin: 0 7% 10px;
	}
}




/*===============================追加編集===============================*/

.posi-center a{
	margin: 0 auto;
}
.posi-right a{
	margin-left: auto;
}

.inspace-right{
	padding-right: 30px;
}
.privacy-title{
	font-size: 32px;
	text-align: center;
	margin-bottom: 50px;
	color: #444;
	font-weight: bold;
}
#main .space{
	padding: 30px;
}

.space-updown{
	padding: 30px 0;
}
.space-updown a{
	color: #f00;
}
.space-updown a:hover{
	text-decoration: none;
}