@charset "UTF-8";
@import url(https://fonts.googleapis.com/css?family=Montserrat:400,700,800);
@import url('https://fonts.googleapis.com/css2?family=M+PLUS+1p:wght@100;300;400;500;700;800;900&family=Noto+Serif+JP:wght@200;300;400;500;600;700;900&family=Quicksand:wght@300;400;500;600;700&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Raleway:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Sawarabi+Gothic&family=Sawarabi+Mincho&display=swap');
@import url('https://fonts.googleapis.com/css2?family=BIZ+UDPGothic:wght@400;700&family=BIZ+UDPMincho&family=M+PLUS+2:wght@100;200;400;500;600;700;800;900&display=swap');

/* reset
========================================================================== */

body,
h1,
h2,
h3,
h4,
h5,
h6,
div,
p,
ul,
ol,
li,
dl,
dt,
dd,
table,
tr,
thead,
tbody,
tfoot,
th,
td,
header,
footer,
nav,
article,
aside,
section,
figure,
figcaption {
    margin: 0;
    padding: 0;
}

h1,
h2,
h3,
h4,
h5,
h6 {
    font-weight: normal;
}

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

select,
option,
input,
button,
label,
textarea {
    line-height: 1;
}

input {
    vertical-align: middle;
}

ol,
ul {
    list-style: none;
}

em {
    font-style: normal;
}

table {
    width: 100%;
    border-spacing: 0;
    border-collapse: collapse;
    table-layout: fixed;
}

table th,
table td {
    word-break: break-all;
}

table.mobile td {
    align: left;
    valign: top;
}

table.mobile {
    width: 100%;
}

img,
a img {
    border: none;
}

img {
    vertical-align: top;
    font-size: 0;
    line-height: 0;
}

:root * {
    box-sizing: border-box;
}

a {
    word-wrap: break-word;
}

input,
button,
textarea,
select {
    margin: 0;
    padding: 0;
    background: none;
    border: none;
    border-radius: 0;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
}

select::-ms-expand {
    display: none;
}

input::-ms-clear,
input::-ms-reveal {
    visibility: hidden;
}


/* import
========================================================================== */


/* base
========================================================================== */

html {
    font-size: 62.5%;
}

body {
    color: #263238;
    font-size: 1.6em;
    font-family: 'Noto Serif JP', serif;
    line-height: 1.8;
    -webkit-text-size-adjust: 100%;
    -webkit-print-color-adjust: exact;
    min-width: 1120px;
    word-break: normal;
    width: 100%;
    height: 100%;
    background: #eaedf7;
}

body,
html {
    width: 100%;
}

a:active,
a:focus,
a:visited,
a:link {
    text-decoration: underline;
    -webkit-text-decoration-color: #5c6569;
    text-decoration-color: #5c6569;
    color: #263238;
    -webkit-transition: 0.3s;
    transition: 0.3s;
}

a:hover {
    color: #263238;
    opacity: 0.7;
}

img {
    max-width: 100%;
}

*:focus {
    outline: none;
}


/* # =================================================================
/* # Utility
# ================================================================= */

.en {
    font-family: 'Raleway', sans-serif;
}

.mt0 {
    margin-top: 0px !important;
}

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

.mt16 {
    margin-top: 16px !important;
}

.mt24 {
    margin-top: 24px !important;
}

.mt32 {
    margin-top: 32px !important;
}

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

.mt48 {
    margin-top: 48px !important;
}

.mt56 {
    margin-top: 56px !important;
}

.mt64 {
    margin-top: 64px !important;
}

.mt72 {
    margin-top: 72px !important;
}

.mt80 {
    margin-top: 80px !important;
}

.mb0 {
    margin-bottom: 0px !important;
}

.mb8 {
    margin-bottom: 8px !important;
}

.mb16 {
    margin-bottom: 16px !important;
}

.mb24 {
    margin-bottom: 24px !important;
}

.mb32 {
    margin-bottom: 32px !important;
}

.mb40 {
    margin-bottom: 40px !important;
}

.mb48 {
    margin-bottom: 48px !important;
}

.mb56 {
    margin-bottom: 56px !important;
}

.mb64 {
    margin-bottom: 64px !important;
}

.mb72 {
    margin-bottom: 72px !important;
}

.mb80 {
    margin-bottom: 80px !important;
}

.mr0 {
    margin-right: 0px !important;
}

.mr8 {
    margin-right: 8px !important;
}

.mr16 {
    margin-right: 16px !important;
}

.mr24 {
    margin-right: 24px !important;
}

.mr32 {
    margin-right: 32px !important;
}

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

.mr48 {
    margin-right: 48px !important;
}

.mr56 {
    margin-right: 56px !important;
}

.mr64 {
    margin-right: 64px !important;
}

.mr72 {
    margin-right: 72px !important;
}

.mr80 {
    margin-right: 80px !important;
}

.ml0 {
    margin-left: 0px !important;
}

.ml8 {
    margin-left: 8px !important;
}

.ml16 {
    margin-left: 16px !important;
}

.ml24 {
    margin-left: 24px !important;
}

.ml32 {
    margin-left: 32px !important;
}

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

.ml48 {
    margin-left: 48px !important;
}

.ml56 {
    margin-left: 56px !important;
}

.ml64 {
    margin-left: 64px !important;
}

.ml72 {
    margin-left: 72px !important;
}

.ml80 {
    margin-left: 80px !important;
}

.pt0 {
    padding-top: 0px !important;
}

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

.pt16 {
    padding-top: 16px !important;
}

.pt24 {
    padding-top: 24px !important;
}

.pt32 {
    padding-top: 32px !important;
}

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

.pt48 {
    padding-top: 48px !important;
}

.pt56 {
    padding-top: 56px !important;
}

.pt64 {
    padding-top: 64px !important;
}

.pt72 {
    padding-top: 72px !important;
}

.pt80 {
    padding-top: 80px !important;
}

.pb0 {
    padding-bottom: 0px !important;
}

.pb8 {
    padding-bottom: 8px !important;
}

.pb16 {
    padding-bottom: 16px !important;
}

.pb24 {
    padding-bottom: 24px !important;
}

.pb32 {
    padding-bottom: 32px !important;
}

.pb40 {
    padding-bottom: 40px !important;
}

.pb48 {
    padding-bottom: 48px !important;
}

.pb56 {
    padding-bottom: 56px !important;
}

.pb64 {
    padding-bottom: 64px !important;
}

.pb72 {
    padding-bottom: 72px !important;
}

.pb80 {
    padding-bottom: 80px !important;
}

.pr0 {
    padding-right: 0px !important;
}

.pr8 {
    padding-right: 8px !important;
}

.pr16 {
    padding-right: 16px !important;
}

.pr24 {
    padding-right: 24px !important;
}

.pr32 {
    padding-right: 32px !important;
}

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

.pr48 {
    padding-right: 48px !important;
}

.pr56 {
    padding-right: 56px !important;
}

.pr64 {
    padding-right: 64px !important;
}

.pr72 {
    padding-right: 72px !important;
}

.pr80 {
    padding-right: 80px !important;
}

.pl0 {
    padding-left: 0px !important;
}

.pl8 {
    padding-left: 8px !important;
}

.pl16 {
    padding-left: 16px !important;
}

.pl24 {
    padding-left: 24px !important;
}

.pl32 {
    padding-left: 32px !important;
}

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

.pl48 {
    padding-left: 48px !important;
}

.pl56 {
    padding-left: 56px !important;
}

.pl64 {
    padding-left: 64px !important;
}

.pl72 {
    padding-left: 72px !important;
}

.pl80 {
    padding-left: 80px !important;
}

.w10p {
    width: 10% !important;
}

.w20p {
    width: 20% !important;
}

.w30p {
    width: 30% !important;
}

.w40p {
    width: 40% !important;
}

.w50p {
    width: 50% !important;
}

.w60p {
    width: 60% !important;
}

.w70p {
    width: 70% !important;
}

.w80p {
    width: 80% !important;
}

.w90p {
    width: 90% !important;
}

.w100p {
    width: 100% !important;
}

.align_c {
    text-align: center !important;
}

.align_l {
    text-align: left !important;
}

.align_r {
    text-align: right !important;
}

.hidden {
    visibility: hidden;
    position: absolute;
    width: 0;
    height: 0;
    overflow: hidden;
}

.display_pc {
    display: block !important;
}

.display_sp {
    display: none !important;
}

.fs14 {
    font-size: 1.4rem !important;
}

.fs16 {
    font-size: 1.6rem !important;
}

.fs18 {
    font-size: 1.8rem !important;
}

.fs20 {
    font-size: 2.0rem !important;
}

.fs22 {
    font-size: 2.2rem !important;
}

.fs24 {
    font-size: 2.4rem !important;
}

.fs28 {
    font-size: 2.8rem !important;
}

.fs30 {
    font-size: 3.0rem !important;
}

.fs32 {
    font-size: 3.2rem !important;
}

.fw_bold {
    font-weight: bold !important;
}

.fw_normal {
    font-weight: normal !important;
}

.sup_text {
    font-size: 75.5%;
    vertical-align: top;
    position: relative;
    top: -0.1em;
}

.sub_text {
    font-size: 75.5%;
    vertical-align: bottom;
    position: relative;
    top: 0.1em;
}

.box_center {
    position: relative;
    top: 50%;
    left: 50%;
    -ms-transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
}


/***
header
--------------------------------------------------------- */

header {
    width: 100%;
    height: 56px;
    position: relative;
}

header .logo {
    position: absolute;
    top: 32px;
    left: 32px;
    z-index: 1;
}

header .logo a {
    display: block;
}

header .logo a img {
    width: 100%;
}

header .logo.is_show {
    position: fixed;
}


/***
gnav
--------------------------------------------------------- */

#l_menu {
    position: fixed;
    top: 0;
    right: 0;
    z-index: 99;
    -webkit-transition: all 0.3s;
    transition: all 0.3s;
    opacity: 1;
}

#l_menu .contact {
    position: relative;
    top: 24px;
    right: 24px;
    z-index: 1;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
}

#l_menu .contact a {
    padding: 12px 24px;
    line-height: 1.6rem;
    font-size: 1.4rem;
    border: solid 1px #6a8cac;
    border-radius: 24px;
    color: #ffffff;
    text-decoration: none;
    font-weight: normal;
}

#l_menu .contact a span {
    margin-right: 10px;
    height: 15px;
}

#l_menu nav.gnav {
    margin-top: 12px;
    color: #ffffff;
    font-size: 1.4rem;
    font-weight: bold;
    position: relative;
    top: 24px;
    right: 0;
    z-index: 1;
    width: 160px;
}

#l_menu nav.gnav a {
    color: #ffffff;
    text-decoration: none;
}

#l_menu nav.gnav .gnav_list {
    width: 100%;
}

#l_menu nav.gnav .gnav_list li {
    padding-left: 32px;
    line-height: 1;
}

#l_menu nav.gnav .gnav_list li a {
    position: relative;
    display: block;
    padding: 8px 0;
    font-weight: normal;
}

#l_menu nav.gnav .gnav_list li a:hover:before {
    content: '';
    width: 16px;
    height: 14px;
    background: url(../../img/common/hover_icon.svg) no-repeat;
    position: absolute;
    top: 50%;
    left: -16px;
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    z-index: 1;
}

#l_menu .menu_bg {
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 0 363px 570px 0;
    border-color: transparent #00a968 transparent transparent;
    position: absolute;
    top: 0;
    right: 0;
    z-index: 0;
    pointer-events: none;
    opacity: .5;
}

#l_menu.is_hide {
    -webkit-transition: all 0.3s;
    transition: all 0.3s;
    opacity: 0;
    z-index: -1;
}


/***
btn_nav_menu
--------------------------------------------------------- */

#btn_nav_menu {
    background: #00a968;
    color: #ffffff;
    height: 52px;
    width: 52px;
    position: fixed;
    top: 16px;
    right: 32px;
    z-index: 0;
    border-radius: 50%;
    -webkit-transition: all 0.3s;
    transition: all 0.3s;
    cursor: pointer;
    visibility: hidden;
}

#btn_nav_menu:hover>div>span {
    opacity: 0.7;
}

#btn_nav_menu>div {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    margin: auto;
    height: 22px;
    width: 17px;
    margin: auto;
    z-index: 100;
}

#btn_nav_menu>div span {
    position: absolute;
    left: 0;
    width: 100%;
    height: 2px;
    border-bottom: solid 2px #ffffff;
    -webkit-transition: all .2s;
    transition: all .2s;
}

#btn_nav_menu>div span:nth-of-type(1) {
    top: 48%;
    left: 5px;
    -webkit-transform: rotate(-90deg);
    -ms-transform: rotate(-90deg);
    transform: rotate(-90deg);
}

#btn_nav_menu>div span:nth-of-type(2) {
    -webkit-transform: rotate(-90deg);
    -ms-transform: rotate(-90deg);
    transform: rotate(-90deg);
    top: 48%;
    left: -5px;
}

#btn_nav_menu.is_show {
    top: 32px;
    visibility: visible;
    z-index: 101;
}

#btn_nav_menu.is_menuOpen {
    background: #ffffff;
}

#btn_nav_menu.is_menuOpen span {
    border-bottom: solid 2px #2a5a88;
}

#btn_nav_menu.is_menuOpen span:nth-of-type(1) {
    -webkit-transform: translateX(-5px) rotate(-315deg);
    -ms-transform: translateX(-5px) rotate(-315deg);
    transform: translateX(-5px) rotate(-315deg);
}

#btn_nav_menu.is_menuOpen span:nth-of-type(2) {
    -webkit-transform: translateX(5px) rotate(315deg);
    -ms-transform: translateX(5px) rotate(315deg);
    transform: translateX(5px) rotate(315deg);
}

#btn_nav_contact {
    background: #2a5a88;
    color: #ffffff;
    width: 52px;
    height: 52px;
    position: fixed;
    top: 80px;
    right: 32px;
    z-index: 0;
    border-radius: 50%;
    -webkit-transition: all 0.3s;
    transition: all 0.3s;
    visibility: hidden;
}

#btn_nav_contact a {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    width: 100%;
    height: 100%;
}

#btn_nav_contact.is_show {
    top: 96px;
    visibility: visible;
    z-index: 100;
}

#btn_nav_contact.is_hide {
    top: 80px;
    opacity: 0;
    z-index: -1;
}

.l_menu_content {
    display: none;
    position: fixed;
    top: -100%;
    right: -100%;
    z-index: 100;
    width: 0;
    height: 0;
    overflow: hidden;
    background: #008000;
    -webkit-transition: all 0.5s;
    transition: all 0.5s;
}

.l_menu_content p.logo {
    position: absolute;
    top: 24px;
    left: 24px;
}

.l_menu_content p.logo a {
    display: block;
}

.l_menu_content .l_menu_container {
    position: absolute;
    top: 50%;
    left: 0;
    width: 100%;
    max-height: 100%;
    padding: 50px 0 100px;
    overflow-x: hidden;
    overflow-y: auto;
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%);
}

.l_menu_content .l_menu_container ul {
    list-style-type: none;
    width: 245px;
    margin: 0 auto;
    padding: 0;
}

.l_menu_content .l_menu_container ul li {
    margin-top: 32px;
    padding-left: 32px;
    line-height: 1;
    font-size: 2rem;
}

.l_menu_content .l_menu_container ul li.nav_link_01 {
    -webkit-animation: animation01 0.2s ease forwards;
    animation: animation01 0.2s ease forwards;
}

.l_menu_content .l_menu_container ul li.nav_link_02 {
    -webkit-animation: animation01 0.4s ease forwards;
    animation: animation01 0.4s ease forwards;
}

.l_menu_content .l_menu_container ul li.nav_link_03 {
    -webkit-animation: animation01 0.6s ease forwards;
    animation: animation01 0.6s ease forwards;
}

.l_menu_content .l_menu_container ul li.nav_link_04 {
    -webkit-animation: animation01 0.8s ease forwards;
    animation: animation01 0.8s ease forwards;
}

.l_menu_content .l_menu_container ul li.nav_link_05 {
    -webkit-animation: animation01 1.0s ease forwards;
    animation: animation01 1.0s ease forwards;
}

.l_menu_content .l_menu_container ul li.nav_link_06 {
    -webkit-animation: animation01 1.2s ease forwards;
    animation: animation01 1.2s ease forwards;
}

.l_menu_content .l_menu_container ul li a {
    position: relative;
    display: block;
    color: #ffffff;
    text-decoration: none;
    padding: 8px 0;
}

.l_menu_content .l_menu_container ul li a:hover:before {
    content: '';
    width: 33px;
    height: 29px;
    background: url(../../img/common/hover_icon.svg) no-repeat;
    position: absolute;
    top: 50%;
    left: -22px;
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    z-index: 1;
    background-size: 100%;
}

.l_menu_content .contact {
    position: absolute;
    bottom: 48px;
    right: 0;
    left: 0;
    margin: auto;
    z-index: 1;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    width: 73%;
    text-align: center;
}

.l_menu_content .contact a {
    padding: 12px 24px;
    line-height: 1;
    font-size: 1.4rem;
    border: solid 2px #98fb98;
    border-radius: 24px;
    color: #ffffff;
    text-decoration: none;
    width: 100%;
}

.l_menu_content .contact a span {
    margin-right: 10px;
}

.l_menu_content.is_show {
    display: block;
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    width: 360px;
    height: 100%;
    -webkit-transition: all 0.5s;
    transition: all 0.5s;
}


/***
layout
--------------------------------------------------------- */

main>article>section:first-child {
    margin: 64px auto 0;
}

main+.information {
    margin-top: 120px;
}

section {
    margin: 0 auto;
}

section .inner {
    width: 1120px;
    margin: 0 auto;
    position: relative;
}

section .inner+* {
    margin-top: 48px;
}

@media screen and (max-width: 768px) {
    section .inner {
        margin: 2%;
    }
}


/* pagetop
--------------------------------------------------------- */

.pagetop {
    width: 64px;
    height: 64px;
    position: fixed;
    bottom: 22px;
    right: 0;
    background: #000080;
    cursor: pointer;
    z-index: 100;
    -webkit-transition: all 0.3s;
    transition: all 0.3s;
    opacity: 0;
    visibility: hidden;
    border-radius: .5em;
}

.pagetop:before {
    content: "";
    position: absolute;
    top: 45%;
    left: 40%;
    -ms-transform: translate(-45%, -45%);
    -webkit-transform: translate(-45%, -45%);
    transform: translate(-45%, -45%);
    width: 15px;
    height: 15px;
    border-bottom: 3px solid #dfdfdf;
    border-left: 3px solid #dfdfdf;
    -webkit-transform: rotate(135deg);
    -ms-transform: rotate(135deg);
    transform: rotate(135deg);
}

.pagetop:hover {
    background: #7f8183;
}

.pagetop.show {
    z-index: 10;
    opacity: 0.7;
    visibility: visible;
}


/***
footer
--------------------------------------------------------- */

footer {
    width: 100%;
    background: #00533f;
    padding: 64px 0;
}

footer .inner {
    width: 1120px;
    margin: 0 auto;
}

footer .inner nav.footer_nav {
    font-size: 1.4rem;
    position: relative;
    width: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
}

footer .inner nav.footer_nav .footer_nav_list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    position: relative;
    top: 0;
    left: 0;
}

footer .inner nav.footer_nav .footer_nav_list li {
    margin-right: 40px;
}

footer .inner nav.footer_nav .footer_nav_list li a {
    display: block;
    color: #ffffff;
    text-decoration: none;
}

footer .inner nav.footer_nav .footer_nav_list li:last-child {
    margin-right: 0;
}

footer .inner nav.footer_nav .sns_list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    position: absolute;
    top: 0;
    right: 0;
    z-index: 11;
}

footer .inner nav.footer_nav .sns_list li {
    margin-right: 24px;
}

footer .inner nav.footer_nav .sns_list li a {
    display: block;
    color: #ffffff;
    background: #263238;
    text-decoration: none;
    width: 40px;
    height: 40px;
    border: solid 1px #666e72;
    border-radius: 50%;
    position: relative;
}

footer .inner nav.footer_nav .sns_list li a>img {
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    z-index: 2;
}

footer .inner nav.footer_nav .sns_list li a:before {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    margin: -5px auto auto -5px;
    display: block;
    width: 10px;
    height: 10px;
    border-radius: 5px;
    background-color: #676f73;
    z-index: 1;
    -webkit-transform: scale(0);
    -ms-transform: scale(0);
    transform: scale(0);
    transition: -webkit-transform .3s;
    -webkit-transition: -webkit-transform .3s;
    transition: transform .3s;
    transition: transform .3s, -webkit-transform .3s;
}

footer .inner nav.footer_nav .sns_list li a:hover:before {
    -webkit-transform: scale(5);
    -ms-transform: scale(5);
    transform: scale(5);
}

footer .inner nav.footer_nav .sns_list li:last-child {
    margin-right: 0;
}

footer .inner .copy {
    position: relative;
    margin-top: 40px;
    color: #88bfbf;
    width: 100%;
    display: block;
}


/***
animation
--------------------------------------------------------- */

@-webkit-keyframes animation01 {
    0% {
        opacity: 0;
        -webkit-transform: translate3d(100px, 0, 0);
        transform: translate3d(100px, 0, 0);
    }
    to {
        opacity: 1;
        -webkit-transform: none;
        transform: none;
    }
}

@keyframes animation01 {
    0% {
        opacity: 0;
        -webkit-transform: translate3d(100px, 0, 0);
        transform: translate3d(100px, 0, 0);
    }
    to {
        opacity: 1;
        -webkit-transform: none;
        transform: none;
    }
}

@-webkit-keyframes animation02 {
    0% {
        opacity: 0;
        -webkit-transform: translate3d(150px, 0, 0);
        transform: translate3d(150px, 0, 0);
    }
    to {
        opacity: 1;
        -webkit-transform: none;
        transform: none;
    }
}

@keyframes animation02 {
    0% {
        opacity: 0;
        -webkit-transform: translate3d(150px, 0, 0);
        transform: translate3d(150px, 0, 0);
    }
    to {
        opacity: 1;
        -webkit-transform: none;
        transform: none;
    }
}


/* layout
--------------------------------------------------------- */

section {
    /* &:last-child {
    padding-bottom: $baseSize * 10 + px;
    @include sp {
      padding-bottom: $baseSize * 3 + px;
    }
  } */
}

section.w_bk {
    background: #ffffe0;
    padding: 40px;
    width: 1120px;
    margin: 32px auto 40px;
    border-radius: 3rem;
}

section.w_bk>.inner_in {
    width: 1040px;
}

section.w_bk+section.w_bk {
    margin-top: 48px;
}

section.navbtn_bk {
    background: #edebe4;
    padding: 80px 0;
    width: 100%;
    margin-top: 120px;
}

section.navbtn_bk .box.box_column03>div {
    width: 352px;
}

section.navbtn_bk+.information {
    margin-top: 0;
}

section.information {
    /*
    background: #a1d8e2;
    */
    padding: 56px 0 64px;
    width: 100%;
}

section.information+.section {
    margin-top: 0;
}

section+section {
    margin-top: 32px;
}

.display_sp_img {
    display: none;
}

.display_pc_img {
    display: inline-block;
}

.indent {
    text-indent: 1em;
}


/* hedding
--------------------------------------------------------- */

h1.l_ttl {
    line-height: 1;
}

h1.l_ttl span.en {
    font-weight: 800;
    font-size: 7.2rem;
    display: inline-block;
}

h1.l_ttl span.en:after {
    content: '';
    width: 60px;
    height: 54px;
    background: url(../../img/common/icon_point.svg) no-repeat;
    display: inline-block;
    margin-left: 16px;
}

h1.l_ttl span.txt {
    font-weight: bold;
    position: relative;
    line-height: 1;
    font-size: 2.0rem;
    display: block;
    letter-spacing: 1px;
    margin-top: 16px;
}

h2.l_ttl {
    margin-top: 40px;
    padding: 0 0 0 32px;
    font-size: 3.2rem;
    line-height: 1.6;
    position: relative;
    font-weight: bold;
}

h2.l_ttl:before {
    content: '';
    display: block;
    width: 8px;
    height: 100%;
    background: #2a5a88;
    position: absolute;
    top: 0;
    left: 0;
}

h2.l_ttl span.shoulder {
    font-size: 1.4rem;
    display: block;
}

h2.l_ttl+* {
    margin-top: 48px;
}

h3.l_ttl {
    font-size: 2.4rem;
    position: relative;
    margin-top: 48px;
    font-weight: bold;
    line-height: 1.6;
}

h3.l_ttl+* {
    margin-top: 48px;
}

h4.l_ttl {
    font-size: 2.0rem;
    line-height: 1.6;
    position: relative;
    margin-top: 48px;
    font-weight: bold;
    padding: 0 0 0 16px;
}

h4.l_ttl:before {
    content: '';
    display: block;
    width: 4px;
    height: 100%;
    background: #cccbc8;
    position: absolute;
    top: 0;
    left: 0;
}

h4.l_ttl+* {
    margin-top: 48px;
}

h4.l_ttl+.contact_box,
h4.l_ttl+.contact_box02 {
    margin-top: 12px;
}


/* breadcrumb
--------------------------------------------------------- */

ul.breadcrumb {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    font-size: 1.2rem;
    text-align: left;
    width: 1120px;
    margin: 64px auto 0;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
}

ul.breadcrumb li {
    padding: 0 40px 0 0;
    position: relative;
}

ul.breadcrumb li:after {
    content: '';
    width: 20px;
    height: 1px;
    background: #cccbc8;
    position: absolute;
    top: 50%;
    right: 10px;
}

ul.breadcrumb li a {
    display: block;
}

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


/* txt
--------------------------------------------------------- */

.txt_bold {
    font-weight: bold;
}

.txt_small {
    font-size: 1.4rem;
}

.txt_important {
    color: #ea2b02;
}

.txt_lead {
    font-size: 1.6rem;
    line-height: 2.8rem;
}

.txt_lead span {
    font-weight: bold;
}

.txt_lead+* {
    margin-top: 40px;
}

.txt_under {
    text-decoration: underline;
}

.txt_center {
    text-align: center;
}


/* box
--------------------------------------------------------- */

.box {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    margin-top: 32px;
}

.box.box_column04>div {
    margin-left: 40px;
    position: relative;
    width: 230px;
}

.box.box_column04>div:first-child {
    margin-left: 0;
}

.box.box_column04>div:nth-child(4n+1) {
    margin-left: 0;
}

.box.box_column04>div:nth-child(n+5) {
    margin-top: 16px;
}

.box.box_column03>div {
    margin-left: 32px;
    position: relative;
    width: 325px;
}

.box.box_column03>div:first-child {
    margin-top: 0;
    margin-left: 0;
}

.box.box_column03>div:nth-child(3n+1) {
    margin-left: 0;
}

.box.box_column03>div:nth-child(n+4) {
    margin-top: 16px;
}

.box.box_column02>div {
    margin-left: 40px;
    margin-top: 16px;
    position: relative;
    width: 500px;
}

.box.box_column02>div:first-child {
    margin-left: 0;
}

.box.box_column02>div:nth-child(-n+2) {
    margin-top: 0;
}

.box.box_column02>div:nth-child(odd) {
    margin-left: 0;
}

.box+* {
    margin-top: 32px;
}


/* contact_box
--------------------------------------------------------- */

.contact_box {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    margin-top: 88px;
    padding: 32px;
    border: 2px solid #cccbc8;
    background: #ffffff;
}

.contact_box>div {
    padding-right: 40px;
    width: 50%;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    text-align: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -ms-flex-item-align: center;
    align-self: center;
}

.contact_box>div+div {
    padding-left: 40px;
    border-left: 2px solid #e0e0e0;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    text-align: center;
}

.contact_box_num {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
}

.contact_box_num span.icon_tel {
    margin-right: 10px;
    width: 16px;
    height: 24px;
}

.contact_box_num span.icon_tel img {
    width: 100%;
    height: auto;
}

.contact_box_num span.icon_fax {
    margin-right: 10px;
    width: 24px;
    height: 22px;
}

.contact_box_num span.icon_fax img {
    width: 100%;
    height: auto;
}

.contact_box_num span.num {
    font-size: 3.2rem;
    line-height: 1;
    font-weight: bold;
    color: #2a5a88;
}

.contact_box_num span.num a {
    display: block;
    text-decoration: none;
    color: #2a5a88;
    cursor: default;
    pointer-events: none;
}

.contact_box_time {
    margin-top: 8px;
    font-size: 1.4rem;
    width: 100%;
}

.contact_box_mail .btn_link_mail {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    width: 83%;
    margin-top: 0;
}

.contact_box_mail .btn_link_mail>a {
    width: 100%;
    padding: 32px;
    line-height: 1;
    font-weight: bold;
    display: inline-block;
    background: #2a5a88;
    color: #ffffff;
    border-radius: 0;
}

.contact_box_mail .btn_link_mail>a:after {
    display: none;
}

.contact_box_mail .btn_link_mail>a span.icon {
    margin-right: 10px;
    padding: 0;
}

.contact_box02 {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    margin-top: 88px;
    padding: 32px;
    border: 2px solid #cccbc8;
    background: #ffffff;
}

.contact_box02>p {
    width: 100%;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    text-align: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    /* & + div {
      padding-left: 40px;
      border-left: 2px solid #e0e0e0;
      align-items: center;
      text-align: center;
      @include sp {
        padding-left: 0;
        padding-top: $baseSize * 2 + px;
        margin-top: $baseSize + px;
        border-top: 1px solid #e0e0e0;
        border-left: none;
      }
    } */
}

.contact_box02>p+p {
    margin-top: 8px;
}

.contact_box02_num {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
}

.contact_box02_num span.icon_tel {
    margin-right: 10px;
    width: 16px;
    height: 24px;
}

.contact_box02_num span.icon_tel img {
    width: 100%;
    height: auto;
}

.contact_box02_num span.num {
    font-size: 3.2rem;
    line-height: 1;
    font-weight: bold;
}

.contact_box02_num span.num a {
    display: block;
    text-decoration: none;
    color: #2a5a88;
    cursor: default;
    pointer-events: none;
}

.contact_box02_txt {
    width: 100%;
    font-size: 1.4rem;
    color: #666666;
}


/* btn
--------------------------------------------------------- */

.btn {
    position: relative;
}

.btn a {
    color: #263238;
    padding: 24px 32px;
    display: block;
    position: relative;
    text-decoration: none;
    font-weight: bold;
}

.btn a:after {
    content: ' ';
    display: block;
    width: 16px;
    height: 16px;
    background: url(../img/icon_arrow.svg) no-repeat center center;
    background-size: contain;
    position: absolute;
    top: 0;
    bottom: 0;
    right: 16px;
    margin: auto;
    z-index: 1;
}

.btn_effect {
    position: relative;
    background-color: #fff;
    display: inline-block;
    overflow: hidden;
}

.btn_effect:after {
    content: '';
    top: 0;
    left: -100%;
    width: 100%;
    height: 100%;
    position: absolute;
    z-index: -1;
    display: block;
    -webkit-transition: all .2s;
    transition: all .2s;
}

.btn_effect:hover {
    color: #ffffff;
}

.btn_effect:hover:after {
    top: 0;
    left: 0;
    background-color: #2a5a88;
    z-index: 0;
}

.btn_effect02 {
    -webkit-transition: all 0.5s;
    transition: all 0.5s;
    position: relative;
    overflow: hidden;
}

.btn_effect02::before,
.btn_effect02::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: -1;
    -webkit-transition: all 0.5s;
    transition: all 0.5s;
    opacity: 1;
    -webkit-transform: translate(-13%, -190%) rotate(-30deg);
    -ms-transform: translate(-13%, -190%) rotate(-30deg);
    transform: translate(-13%, -190%) rotate(-30deg);
    border-bottom-width: 1px;
    border-bottom-style: solid;
    border-bottom-color: white;
    background-color: rgba(255, 255, 255, 0.25);
}

.btn_effect02::after {
    -webkit-transition-delay: 0.2s;
    transition-delay: 0.2s;
}

.btn_effect02:hover::before,
.btn_effect02:hover::after {
    opacity: 0;
    -webkit-transform: translate(0, 0);
    -ms-transform: translate(0, 0);
    transform: translate(0, 0);
    z-index: 1;
}

.btn_defult {
    margin: 0 auto;
    border: solid 1px #cccccc;
    background: #ffffff;
    text-align: center;
}

.btn_defult+.box {
    margin-top: 16px;
}

.btn_primary>a {
    padding: 24px 32px;
    background: #ffa500;
    color: #ffffff;
    text-align: center;
    border-radius: 3em;
}

.btn_primary>a:after {
    background: url(../../img/common/arrow_w.svg) no-repeat 0 0;
}

.btn_secondary>a {
    padding: 24px 32px;
    background: #e0ddce;
    text-align: center;
}

.btn_tertiary>a {
    padding: 24px 32px 24px 0;
    border-bottom: solid 1px #263238;
    font-size: 1.8rem;
}

.btn_back>a {
    padding: 24px 32px;
    background: #e0ddce;
    line-height: 1;
    min-width: 160px;
    text-align: center;
}

.btn_back>a:before {
    content: ' ';
    display: block;
    width: 16px;
    height: 16px;
    background: url(../img/icon_arrow.svg) no-repeat center center;
    background-size: contain;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 16px;
    margin: auto;
    z-index: 1;
    -webkit-transform: rotate(180deg);
    -ms-transform: rotate(180deg);
    transform: rotate(180deg);
}

.btn_back>a:after {
    display: none;
}

.btn_size_auto {
    width: 100%;
}

.btn_size_l {
    width: 100%;
}

.btn_size_m {
    width: 500px;
}

.btn_size_s {
    width: 352px;
}

.btn_color01 a {
    background: #ffffff;
}

.btn+* {
    margin-top: 40px;
}


/* link
--------------------------------------------------------- */


/* icon
--------------------------------------------------------- */

.icon {
    border-radius: 4px;
    display: inline-block;
    color: #ffffff;
    font-size: 1.4rem;
    line-height: 1;
    margin: 0 8px;
    padding: 10px 14px;
}

.icon:first-child {
    margin: 0 8px 0 0;
}


/* tag
--------------------------------------------------------- */

.tag {
    border-radius: 4px;
    background: #2a5a88;
    display: inline-block;
    color: #ffffff;
    font-size: 1.4rem;
    line-height: 1;
    margin: 0 8px 8px 0;
    padding: 10px 14px;
}

.tag:first-child {
    margin: 0 8px 0 0;
}


/* list
--------------------------------------------------------- */

.list_none {
    margin-top: 16px;
}

.list_none>li {
    position: relative;
    font-size: 1.6rem;
    line-height: 2.4rem;
    margin-top: 16px;
}

.list_none>li:before {
    content: '';
    display: block;
    position: absolute;
    top: 0;
    left: 0;
}

.list_none>li+ {
    margin-top: 4px;
}

.list_square li {
    position: relative;
    padding-left: 1em;
}

.list_square li:before {
    content: '\25A0';
    position: absolute;
    top: 0;
    left: 0;
    margin: auto;
}

.list_square li+li {
    margin-top: 16px;
}

.list_minus li {
    position: relative;
    padding-left: 1em;
}

.list_minus li:before {
    content: '-';
    position: absolute;
    top: 0;
    left: 0;
    margin: auto;
}

.list_minus li+li {
    margin-top: 16px;
}

.list_note {
    margin-top: 16px;
}

.list_note>li {
    padding-left: 16px;
    position: relative;
    font-size: 1.6rem;
    line-height: 2.4rem;
    margin-top: 8px;
}

.list_note>li:before {
    content: '※';
    display: block;
    position: absolute;
    top: 0;
    left: 0;
}

.list_note>li+ {
    margin-top: 4px;
}

.list_default {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
}

.list_default>li {
    position: relative;
}

.list_default>li a {
    color: #222222;
    padding: 8px 0 8px 32px;
    font-size: 1.6rem;
    background: none;
    display: block;
    text-align: left;
}

.list_default>li a:before {
    content: '';
    width: 0;
    height: 0;
    border-left: 5px solid #ea2b02;
    border-top: 5px solid transparent;
    border-bottom: 5px solid transparent;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 16px;
    margin: auto;
}

.list_disc {
    margin-top: 16px;
}

.list_disc:first-child {
    margin-top: 0;
}

.list_disc>li {
    margin-top: 8px;
    list-style-type: disc;
    position: relative;
    margin-left: 1.2em;
}

.list_disc>li:first-child {
    margin-top: 0;
}

.list_disc>li>ul,
.list_disc>li>ol {
    margin-top: 0;
}

.list_number {
    margin-top: 16px;
}

.list_number>li {
    margin-left: 1.5em;
    list-style-type: decimal;
    margin-top: 24px;
}

.list_number_type01>li {
    margin-left: 0;
    padding-left: 32px;
    list-style: none;
    position: relative;
    text-align: center;
}

.list_number_type01>li:before {
    content: '';
    display: block;
    position: absolute;
    top: 0;
    left: 0;
}

.list_number_type02>li {
    margin-left: 0;
    padding-left: 32px;
    list-style: none;
    position: relative;
    margin-top: 16px;
}

.list_number_type02>li:nth-child(1):before {
    content: "（1）";
    display: block;
    position: absolute;
    top: 0;
    left: -10px;
}

.list_number_type02>li:nth-child(2):before {
    content: "（2）";
    display: block;
    position: absolute;
    top: 0;
    left: -10px;
}

.list_number_type02>li:nth-child(3):before {
    content: "（3）";
    display: block;
    position: absolute;
    top: 0;
    left: -10px;
}

.list_number_type02>li:nth-child(4):before {
    content: "（4）";
    display: block;
    position: absolute;
    top: 0;
    left: -10px;
}

.list_number_type02>li:nth-child(5):before {
    content: "（5）";
    display: block;
    position: absolute;
    top: 0;
    left: -10px;
}

.list_number_type02>li:nth-child(6):before {
    content: "（6）";
    display: block;
    position: absolute;
    top: 0;
    left: -10px;
}

.list_number_type02>li:nth-child(7):before {
    content: "（7）";
    display: block;
    position: absolute;
    top: 0;
    left: -10px;
}

.list_number_type02>li:nth-child(8):before {
    content: "（8）";
    display: block;
    position: absolute;
    top: 0;
    left: -10px;
}

.list_number_type02>li:nth-child(9):before {
    content: "（9）";
    display: block;
    position: absolute;
    top: 0;
    left: -10px;
}

.list_number_type03>li {
    margin-left: 0;
    padding-left: 24px;
    list-style: none;
    position: relative;
}

.list_number_type03>li:before {
    content: '';
    display: block;
    position: absolute;
    top: 0;
    left: 3px;
}

.list_number_type03>li:nth-child(1):before {
    content: '\2460';
}

.list_number_type03>li:nth-child(2):before {
    content: '\2461';
}

.list_number_type03>li:nth-child(3):before {
    content: '\2462';
}

.list_number_type03>li:nth-child(4):before {
    content: '\2463';
}

.list_number_type03>li:nth-child(5):before {
    content: '\2464';
}

.list_number_type03>li:nth-child(6):before {
    content: '\2465';
}

.list_number_type03>li:nth-child(7):before {
    content: '\2466';
}

.list_number_type03>li:nth-child(8):before {
    content: '\2467';
}

.list_number_type03>li:nth-child(9):before {
    content: '\2468';
}

.list_alpha {
    margin-top: 16px;
}

.list_alpha>li {
    margin-left: 1.5em;
    list-style-type: lower-alpha;
}

.list_alpha>li>ul,
.list_alpha>li>ol {
    margin-top: 0;
}

.list_alpha_type01>li {
    margin-left: 0;
    padding-left: 32px;
    list-style: none;
    position: relative;
}

.list_alpha_type01>li:before {
    content: '';
    display: block;
    position: absolute;
    top: 0;
    left: -6px;
}

.list_alpha_type01>li:nth-child(1):before {
    content: '（a）';
}

.list_alpha_type01>li:nth-child(2):before {
    content: '（b）';
}

.list_alpha_type01>li:nth-child(3):before {
    content: '（c）';
}

.list_alpha_type01>li:nth-child(4):before {
    content: '（d）';
}

.list_alpha_type01>li:nth-child(5):before {
    content: '（e）';
}

.list_alpha_type01>li:nth-child(6):before {
    content: '（f）';
}

.list_alpha_type01>li:nth-child(7):before {
    content: '（g）';
}

.list_alpha_type01>li:nth-child(8):before {
    content: '（h）';
}

.list_alpha_type01>li:nth-child(9):before {
    content: '（i）';
}

.list_kana {
    margin-top: 16px;
}

.list_kana>li {
    margin-left: 0;
    padding-left: 40px;
    list-style: none;
    position: relative;
}

.list_kana>li:before {
    content: '';
    display: block;
    position: absolute;
    top: 0;
    left: -6px;
}

.list_kana>li:nth-child(1):before {
    content: '（ア）';
}

.list_kana>li:nth-child(2):before {
    content: '（イ）';
}

.list_kana>li:nth-child(3):before {
    content: '（ウ）';
}

.list_kana>li:nth-child(4):before {
    content: '（エ）';
}

.list_kana>li:nth-child(5):before {
    content: '（オ）';
}

.list_kana>li:nth-child(6):before {
    content: '（カ）';
}

.list_kana>li:nth-child(7):before {
    content: '（キ）';
}

.list_kana>li:nth-child(8):before {
    content: '（ク）';
}

.list_kana>li:nth-child(9):before {
    content: '（ケ）';
}

.list_kana>li>ul,
.list_kana>li>ol {
    margin-top: 0;
}

.list+* {
    margin-top: 24px;
}


/*figure
--------------------------------------------------------- */

.figure_column01 {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    margin: 40px auto 0;
}

.figure_column01 a {
    display: inline-block;
}

.figure_column01>.figure+.figure {
    margin-top: 40px;
}

.figure_column01 figcaption {
    margin-top: 16px;
    font-size: 1.4rem;
    text-align: left;
}

.figure_column01_img {
    text-align: center;
}

.figure_column02 {
    margin: 32px auto 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
}

.figure_column02 a {
    display: block;
}

.figure_column02>.figure {
    margin-left: 32px;
}

.figure_column02>.figure:first-child {
    margin-left: 0;
}

.figure_column02>.figure:nth-child(odd) {
    margin-left: 0;
}

.figure_column02>.figure:nth-child(n+3) {
    margin-top: 32px;
}

.figure_column02 figcaption {
    margin-top: 16px;
    font-size: 1.4rem;
    max-width: 484px;
}

.figure_column02_img {
    text-align: center;
}

.figure_column02_img img {
    width: 100%;
    max-width: 484px;
}

.figure_column03 {
    margin: 32px auto 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
}

.figure_column03 a {
    display: block;
}

.figure_column03>.figure {
    margin-left: 32px;
    width: 312px;
}

.figure_column03>.figure:nth-child(3n+1) {
    margin-left: 0;
}

.figure_column03>.figure:nth-child(n+4) {
    margin-top: 32px;
}

.figure_column03 figcaption {
    margin-top: 16px;
    font-size: 1.4rem;
}

.figure_column03_img {
    text-align: center;
}

.figure_column03_img img {
    width: 100%;
}

.figure_column04 {
    margin: 32px auto 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
}

.figure_column04 a {
    display: block;
}

.figure_column04>.figure {
    margin-left: 32px;
    width: 226px;
}

.figure_column04>.figure:first-child {
    margin-left: 0;
}

.figure_column04>.figure:nth-child(4n+1) {
    margin-left: 0;
}

.figure_column04>.figure:nth-child(n+5) {
    margin-top: 32px;
}

.figure_column04>.figure p.txt {
    margin-top: 16px;
    font-size: 1.4rem;
    line-height: 2.4rem;
}

.figure_column04 figcaption {
    margin-top: 16px;
    font-size: 1.4rem;
}

.figure_column04_img {
    text-align: center;
}

.figure_column04_img img {
    width: 100%;
}


/* table
--------------------------------------------------------- */

table {
    margin-top: 48px;
    font-size: inherit;
    width: 100%;
    border-collapse: collapse;
    border-spacing: 0;
    background: #ffffff;
}

table.type01 {
    margin: 48px auto 0;
}

table.type01 tr th {
    background: #f0f0f0;
    padding: 16px;
    border: 1px solid #dbdbdb;
    vertical-align: middle;
    width: 300px;
    font-weight: bold;
    text-align: left;
}

table.type01 tr td {
    padding: 16px;
    border: 1px solid #dbdbdb;
    text-align: left;
}

table.type01 tr td>*:first-child {
    margin-top: 0;
}

table.type01 thead th {
    vertical-align: middle;
}

table.type01 caption {
    font-size: 1.6rem;
    font-weight: bold;
    margin-bottom: 10px;
}

table.type01+* {
    margin-top: 48px;
}


/* table_scroll_set
-------------- */

.table_scroll {
    padding-bottom: 10px;
    overflow: auto;
    -webkit-overflow-scrolling: touch;
    overflow-scrolling: touch;
}

.table_scroll::-webkit-scrollbar {
    height: 10px;
}

.table_scroll::-webkit-scrollbar-track {
    background: #ccc;
    border-radius: 5px;
}

.table_scroll::-webkit-scrollbar-thumb {
    border-radius: 5px;
    background: #666;
}

.table_scroll::-webkit-scrollbar-track-piece {
    background: #ccc;
    border-radius: 5px;
}

.slide_table {
    overflow-x: scroll;
    margin: 0 auto 5px;
}

.slide_table caption {
    font-size: 1.6rem;
    color: #222222;
    font-weight: bold;
    margin-bottom: 16px;
}

.slide_table th {
    vertical-align: middle;
    text-align: left;
    font-weight: bold;
    background: #f3f3f3;
    border: 1px solid #cccccc;
    padding: 16px 20px;
}

.slide_table td {
    text-align: left;
    border: 1px solid #cccccc;
    padding: 16px 20px;
}

.slide_table td:first-child {
    font-weight: normal;
    background: #f3f3f3;
    border: 1px solid #cccccc;
    padding: 16px 20px;
}


/* info_list
--------------------------------------------------------- */

.info_list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
}

.info_list dt {
    width: 26%;
    border-bottom: solid 1px#9d8e87;
    padding: 24px 0;
    font-weight: normal;
    font-family: 'Sawarabi Gothic', sans-serif;
}

.info_list dd {
    width: 74%;
    border-bottom: dotted 2px #9d8e87;
    padding: 24px 0;
    font-family: 'Sawarabi Mincho', sans-serif;
}

.info_list dd>.list {
    margin-top: 0;
}

.info_list dd>.list li {
    margin-top: 8px;
}

.info_list dd>.list li:first-child {
    margin-top: 0;
}

.info_list dd>ul.person_list {
    width: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
}

.info_list dd>ul.person_list:first-child {
    margin-top: 0;
}

.info_list dd>ul.person_list>li {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    width: 100%;
}

.info_list dd>ul.person_list .post {
    width: 144px;
}

.info_list dd>ul.person_list .name {
    width: calc(100% - 144px);
}

.info_list dd>ul.person_list .responsible {
    width: calc(100% - 420px);
}

.info_list dd>.mark_list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
}

.info_list dd>.mark_list li {
    margin-left: 24px;
}

.info_list dd>.mark_list li:nth-child(1) {
    margin-left: 0;
}


/* tab
--------------------------------------------------------- */


/* column
--------------------------------------------------------- */

.column {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    margin-top: 40px;
}

.column>div {
    width: 1040px;
}

.column>div>*:first-child {
    margin-top: 0;
}

.column>div p+p {
    margin-top: 16px;
}

.column>div>.ttl {
    font-weight: bold;
    font-size: 1.8rem;
    margin-top: 16px;
}

.column>div>.ttl:first-child {
    margin-top: 0;
}

.column>div>.ttl+.txt {
    font-size: 1.4rem;
    line-height: 2.6rem;
    margin-top: 8px;
}

.column>div+div {
    margin-left: 40px;
}

.column_img img {
    max-width: 100%;
}

.column_size01 {
    width: 230px !important;
}

.column_size02 {
    width: 726px !important;
}

.column_size03 {
    width: 320px !important;
}

.column_size03 img {
    width: 100%;
    max-width: 100%;
}

.column_size04 {
    width: 664px !important;
}

.column_size05 {
    width: 680px !important;
}

.column_size06 {
    width: 1040px !important;
    margin: 0 10%;
}

.column_05 {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
}

.column_05>div {
    width: 176px;
    height: auto;
}

.column_05>div+div {
    margin-left: 40px;
}

.column_05>div+div:nth-child(5n+1) {
    margin-left: 0;
}

.column_05>div+div:nth-child(n+6) {
    margin-top: 16px;
}

.column_04 {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
}

.column_04>div {
    width: 230px;
    height: auto;
}

.column_04>div+div {
    margin-left: 40px;
}

.column_04>div+div:nth-child(4n+1) {
    margin-left: 0;
}

.column_04>div+div:nth-child(n+5) {
    margin-top: 16px;
}

.column_03 {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
}

.column_03>div {
    width: 320px;
    height: auto;
}

.column_03>div+div {
    margin-left: 40px;
}

.column_03>div+div:nth-child(3n+1) {
    margin-left: 0;
}

.column_03>div+div:nth-child(n+4) {
    margin-top: 16px;
}

.column_02 {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
}

.column_02>div {
    width: 500px;
    height: auto;
}

.column_02>div+div {
    margin-left: 40px;
}

.column_02>div+div:nth-child(2n+1) {
    margin-left: 0;
}

.column_02>div+div:nth-child(n+3) {
    margin-top: 16px;
}


/* cv_wrap
--------------------------------------------------------- */

.cv_wrap {
    margin-top: 128px;
}

.cv_wrap>.txt {
    font-weight: bold;
    text-align: center;
}

.cv_wrap>.cv_btn {
    margin-top: 16px;
}

.cv_wrap>.cv_btn>.btn {
    width: 620px;
    margin: 0 auto;
}

.cv_wrap>.cv_btn>.btn a {
    font-size: 2.4rem;
}

.cv_wrap>.cv_btn>.btn a>span.icon {
    display: inline-block;
    padding: 0;
    line-height: 2.4rem;
    margin-right: 16px;
}

.cv_wrap>.cv_btn>.btn a>span.icon img {
    width: 20px;
    height: 15px;
}


/* information
--------------------------------------------------------- */

.information {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
}

.information .ttl {
    font-family: 'Raleway', sans-serif;
    font-size: 2.2rem;
    font-weight: 700;
    width: 100%;
    text-align: center;
    color: #ff4500;
}

.information .info_btn_wrap {
    width: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    margin-top: 32px;
}

.information .info_btn_wrap li.btn {
    margin-left: 24px;
    margin-top: 0;
    width: 548px;
}

.information .info_btn_wrap li.btn a {
    display: block;
    background: #00608d;
    color: #ffffff;
    text-align: center;
    position: relative;
    border-radius: 2rem;
    line-height: 5rem;
    font-family: 'M PLUS 1p', sans-serif;
    font-weight: 300;
}

.information .info_btn_wrap li.btn a:after {
    content: ' ';
    display: block;
    width: 16px;
    height: 16px;
    background: url(../../img/common/arrow_w.svg) no-repeat center center;
    background-size: contain;
    position: absolute;
    top: 0;
    bottom: 0;
    right: 16px;
    margin: auto;
    z-index: 1;
}

.information .info_btn_wrap li.btn a>span {
    margin-right: 24px;
}

.information .info_btn_wrap li.btn:first-child {
    margin-left: 0;
}

.information .info_list {
    width: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    margin-top: 24px;
}

.information .info_list li.btn {
    margin-left: 24px;
    margin-top: 0;
    width: 262px;
}

.information .info_list li.btn a {
    display: block;
    background: #ffffff;
    color: #263238;
    text-align: center;
    position: relative;
    border: solid 1px #cccccc;
    padding: 16px 0;
    border-radius: 0;
}

.information .info_list li.btn a:after {
    display: none;
}

.information .info_list li.btn:first-child {
    margin-left: 0;
}


/* font
--------------------------------------------------------- */

.font_size_l {
    font-size: 2.4rem;
}


/* modal_contents
--------------------------------------------------------- */


/* accordion_faq
--------------------------------------------------------- */

dl.accordion_faq {
    width: 100%;
    margin: 24px auto 0;
    padding: 0 0 24px;
    border-bottom: solid 1px #cccbc8;
}

dl.accordion_faq dt {
    padding: 0;
    font-size: 1.6rem;
    line-height: 2.8rem;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    position: relative;
    cursor: pointer;
    font-weight: bold;
}

dl.accordion_faq dt.is_active span.point {
    background: #2a5a88;
}

dl.accordion_faq dt span.point {
    font-size: 1.8rem;
    line-height: 36px;
    color: #ffffff;
    background: #2a5a88;
    width: 36px;
    height: 36px;
    vertical-align: middle;
    text-align: center;
}

dl.accordion_faq dt span.txt {
    margin: 4px 0 0 16px;
    width: calc(100% - 56px);
}

dl.accordion_faq dd {
    margin: 16px 0 0;
    border-radius: 0 0 6px 6px;
    font-size: 1.6rem;
    line-height: 2.8rem;
    display: none;
}

dl.accordion_faq dd a {
    margin-top: 0;
}

dl.accordion_faq dd p {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
}

dl.accordion_faq dd p span.point {
    font-size: 1.8rem;
    font-weight: bold;
    line-height: 36px;
    color: #2a5a88;
    border-radius: 4px;
    width: 36px;
    height: 36px;
    vertical-align: middle;
    text-align: center;
}

dl.accordion_faq dd p span.txt {
    margin-left: 16px;
    width: 86%;
}

dl.accordion_faq dd+dt {
    margin: 24px auto 0;
}


/* accordion_normal
--------------------------------------------------------- */

dl.accordion_normal {
    width: 100%;
    margin: 0 auto 0;
    padding: 40px 0 40px;
}

dl.accordion_normal dt {
    padding: 0;
    font-size: 2.4rem;
    line-height: 3.4rem;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    font-weight: bold;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    position: relative;
    cursor: pointer;
}

dl.accordion_normal dt.is_active span.point:after {
    -webkit-transform: rotate(315deg);
    -ms-transform: rotate(315deg);
    transform: rotate(315deg);
}

dl.accordion_normal dt.is_active span.txt {
    font-weight: bold;
}

dl.accordion_normal dt span.point {
    font-size: 1.8rem;
    line-height: 36px;
    color: #ffffff;
    background: #2a5a88;
    width: 36px;
    height: 36px;
    vertical-align: middle;
    text-align: center;
    position: relative;
}

dl.accordion_normal dt span.point:after {
    content: "";
    position: absolute;
    top: 35%;
    left: 0;
    right: 0;
    margin: auto;
    width: 6px;
    height: 6px;
    border-top: 2px solid #ffffff;
    border-right: 2px solid #ffffff;
    -webkit-transform: rotate(135deg);
    -ms-transform: rotate(135deg);
    transform: rotate(135deg);
}

dl.accordion_normal dt span.txt {
    margin: 0 16px;
    width: calc(100% - 56px);
}

dl.accordion_normal dd {
    margin: 16px 0 0;
    border-radius: 0 0 6px 6px;
    font-size: 1.6rem;
    line-height: 2.8rem;
    display: none;
    background: #f5f4f0;
    padding: 40px;
}

dl.accordion_normal dd a {
    margin-top: 0;
    display: inline-block;
}

dl.accordion_normal dd p.txt {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}

dl.accordion_normal dd .close {
    background: #ebeae6;
    text-align: center;
    margin: 24px auto 0;
    padding: 16px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
}

dl.accordion_normal dd .close:hover {
    opacity: 0.7;
}

dl.accordion_normal dd .close span {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    cursor: pointer;
    color: #2a5a88;
    font-weight: bold;
}

dl.accordion_normal dd .close span img {
    width: 11px;
    height: 11px;
    margin-right: 16px;
}

dl.accordion_normal dd+dt {
    margin: 24px auto 0;
}

dl.accordion_normal+h4.l_ttl {
    margin: 64px auto 0;
}


/* javascript
--------------------------------------------------------- */

.js_accordion+* {
    display: none;
}


/***
animation
--------------------------------------------------------- */

.anime_top {
    -webkit-animation-name: animeTop;
    animation-name: animeTop;
}

@-webkit-keyframes animeTop {
    0% {
        opacity: 0;
        -webkit-transform: translate3d(0, 50px, 0);
        transform: translate3d(0, 50px, 0);
    }
    to {
        opacity: 1;
        -webkit-transform: none;
        transform: none;
    }
}

@keyframes animeTop {
    0% {
        opacity: 0;
        -webkit-transform: translate3d(0, 50px, 0);
        transform: translate3d(0, 50px, 0);
    }
    to {
        opacity: 1;
        -webkit-transform: none;
        transform: none;
    }
}

.anime_down {
    -webkit-animation-name: animeDown;
    animation-name: animeDown;
}

@-webkit-keyframes animeDown {
    0% {
        opacity: 0;
        -webkit-transform: translate3d(0, -50px, 0);
        transform: translate3d(0, -50px, 0);
    }
    to {
        opacity: 1;
        -webkit-transform: none;
        transform: none;
    }
}

@keyframes animeDown {
    0% {
        opacity: 0;
        -webkit-transform: translate3d(0, -50px, 0);
        transform: translate3d(0, -50px, 0);
    }
    to {
        opacity: 1;
        -webkit-transform: none;
        transform: none;
    }
}

.anime_left {
    -webkit-animation-name: animeLeft;
    animation-name: animeLeft;
}

@-webkit-keyframes animeLeft {
    0% {
        opacity: 0;
        -webkit-transform: translate3d(-50px, 0, 0);
        transform: translate3d(-50px, 0, 0);
    }
    to {
        opacity: 1;
        -webkit-transform: none;
        transform: none;
    }
}

@keyframes animeLeft {
    0% {
        opacity: 0;
        -webkit-transform: translate3d(-50px, 0, 0);
        transform: translate3d(-50px, 0, 0);
    }
    to {
        opacity: 1;
        -webkit-transform: none;
        transform: none;
    }
}

.anime_right {
    -webkit-animation-name: animeRight;
    animation-name: animeRight;
}

@-webkit-keyframes animeRight {
    0% {
        opacity: 0;
        -webkit-transform: translate3d(50px, 0, 0);
        transform: translate3d(50px, 0, 0);
    }
    to {
        opacity: 1;
        -webkit-transform: none;
        transform: none;
    }
}

@keyframes animeRight {
    0% {
        opacity: 0;
        -webkit-transform: translate3d(50px, 0, 0);
        transform: translate3d(50px, 0, 0);
    }
    to {
        opacity: 1;
        -webkit-transform: none;
        transform: none;
    }
}

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

@media screen and (max-width: 768px) {
    body {
        min-width: 100%;
        overflow-x: hidden;
    }
    a:hover {
        opacity: 1;
    }
    header .logo {
        top: 16px;
        left: 16px;
    }
    header .logo a img {
        width: 88%;
    }
    #l_menu {
        display: none !important;
    }
    #l_menu nav.gnav {
        width: 100%;
    }
    #l_menu .menu_bg {
        display: none;
    }
    #btn_nav_menu {
        opacity: 1;
        right: 30px;
        visibility: visible;
        z-index: 101;
    }
    #btn_nav_menu:hover>div>span {
        opacity: 1;
    }
    #btn_nav_menu.is_show {
        top: 16px;
    }
    #btn_nav_contact {
        opacity: 1;
        right: 16px;
        visibility: visible;
        z-index: 101;
    }
    #btn_nav_contact a img {
        width: 20px;
        height: 16px;
    }
    #btn_nav_contact.is_show {
        top: 80px;
    }
    .l_menu_content p.logo {
        top: 16px;
        left: 16px;
    }
    .l_menu_content .l_menu_container ul {
        height: 100%;
        padding: 0;
    }
    .l_menu_content .l_menu_container ul li {
        margin-top: 13%;
    }
    .l_menu_content .l_menu_container ul li a {
        padding: 4px 0;
    }
    .l_menu_content .l_menu_container ul li a:hover:before {
        display: none;
    }
    .l_menu_content .contact {
        width: 91%;
    }
    .l_menu_content .contact a {
        width: 100%;
        display: block;
        text-align: center;
        font-size: 1.6rem;
        line-height: 1.1;
    }
    .l_menu_content .contact a span img {
        width: 7%;
    }
    .l_menu_content.is_show {
        width: 100%;
    }
    main>article>section:first-child {
        margin: 88px auto 0;
    }
    section .inner {
        width: 94%;
    }
    .pagetop:before {
        top: 40%;
        left: 35%;
    }
    .pagetop:hover {
        opacity: 0.7;
        background: #263238;
    }
    footer {
        padding: 32px 0;
    }
    footer .inner {
        width: 83%;
    }
    footer .inner nav.footer_nav .footer_nav_list {
        display: block;
        position: relative;
        width: 100%;
    }
    footer .inner nav.footer_nav .footer_nav_list li {
        margin-right: 0;
        margin-top: 24px;
        display: block;
        width: 100%;
    }
    footer .inner nav.footer_nav .footer_nav_list li:first-child {
        margin-top: 0px;
    }
    footer .inner nav.footer_nav .sns_list {
        position: relative;
        width: 100%;
        margin-top: 32px;
        -webkit-box-pack: end;
        -ms-flex-pack: end;
        justify-content: flex-end;
    }
    footer .inner nav.footer_nav .sns_list li:first-child img {
        width: 20px;
        height: 17px;
    }
    footer .inner nav.footer_nav .sns_list li:last-child img {
        width: 10px;
        height: 19px;
    }
    footer .inner .copy {
        margin-top: 32px;
        font-size: 0.9rem;
    }
    section.w_bk {
        width: 89%;
        margin: 32px auto 80px;
        /*
        padding: 20px;
        */
        padding: 10px 20px 60px 20px;
    }
    section.w_bk>.inner_in {
        width: 100%;
    }
    section.navbtn_bk {
        padding: 80px 0;
    }
    section.information {
        padding: 48px 0;
        margin-top: 80px;
    }
    section+section {
        margin-top: 32px;
    }
    img {
        max-width: 100%;
        height: auto;
    }
    .display_sp_img {
        display: inline-block;
    }
    .display_pc_img {
        display: none;
    }
    h1.l_ttl span.en {
        font-size: 4.4rem;
        max-width: 100%;
        word-break: break-all;
        line-height: 5.7rem;
    }
    h1.l_ttl span.en:after {
        width: 45px;
        height: 50px;
        background-size: 100%;
        position: absolute;
    }
    h1.l_ttl span.en img {
        width: 100%;
    }
    h1.l_ttl span.txt {
        margin-top: 8px;
        /*
        font-size: 1.4rem;
        */
        font-size: 1.8rem;
        margin-left: 20px;
    }
    h2.l_ttl {
        font-size: 2.8rem;
        padding: 0 0 0 16px;
    }
    h2.l_ttl:before {
        width: 4px;
    }
    h2.l_ttl span.shoulder {
        line-height: 1.7rem;
    }
    h2.l_ttl+* {
        margin-top: 40px;
    }
    h3.l_ttl+* {
        margin-top: 40px;
    }
    h4.l_ttl+* {
        margin-top: 24px;
    }
    ul.breadcrumb {
        width: 89%;
        font-size: 1.0rem;
        line-height: 2.8;
    }
    ul.breadcrumb li:after {
        width: 16px;
        right: 14px;
    }
    .txt_lead {
        font-size: 1.4rem;
        line-height: 2.5rem;
    }
    .box {
        -webkit-box-pack: left;
        -ms-flex-pack: left;
        justify-content: left;
    }
    .box.box_column04>div {
        min-width: 100%;
        width: 100%;
        margin: 8px 0 0 0;
        border-radius: 4px;
    }
    .box.box_column04>div:nth-child(2n+1) {
        margin-left: 0;
    }
    .box.box_column04>div:nth-child(4n+1) {
        margin-left: 0;
    }
    .box.box_column04>div:nth-child(n+5) {
        margin-top: 8px;
    }
    .box.box_column03>div {
        min-width: 100%;
        width: 100%;
        margin: 8px 0 0 0;
        border-radius: 4px;
    }
    .box.box_column03>div:nth-child(3n+1) {
        margin: 8px 0 0 0;
    }
    .box.box_column03>div:nth-child(2n+1) {
        margin-left: 0;
        margin-top: 8px;
    }
    .box.box_column03>div:nth-child(n+4) {
        margin-top: 8px;
    }
    .box.box_column03>div:nth-child(even) {
        margin-left: 0;
    }
    .box.box_column02>div {
        min-width: 100%;
        width: 100%;
        margin-left: 0;
        border-radius: 4px;
    }
    .box.box_column02>div:nth-child(-n+2) {
        margin-top: 16px;
    }
    .box+* {
        margin-top: 24px;
    }
    .contact_box {
        display: block;
        margin-top: 56px;
        padding: 16px;
    }
    .contact_box>div {
        padding-right: 0;
        width: 100%;
    }
    .contact_box>div+div {
        padding-left: 0;
        padding-top: 16px;
        margin-top: 8px;
        border-top: 1px solid #e0e0e0;
        border-left: none;
    }
    .contact_box_num span.num {
        pointer-events: auto;
        font-size: 2.4rem;
    }
    .contact_box_num span.num a {
        pointer-events: auto;
        font-size: 2.8rem;
    }
    .contact_box_time {
        margin-top: 8px;
        font-size: 1.0rem;
    }
    .contact_box_mail .btn_link_mail {
        width: 100%;
    }
    .contact_box_mail .btn_link_mail>a {
        padding: 32px 0;
        font-size: 1.4rem;
        display: block;
        text-align: center;
    }
    .contact_box_mail .btn_link_mail>a:after {
        display: none;
    }
    .contact_box_mail .btn_link_mail>a span.icon img {
        width: 20px;
        height: 15px;
    }
    .contact_box02 {
        display: block;
        margin-top: 56px;
        padding: 24px;
    }
    .contact_box02>p {
        width: 100%;
    }
    .contact_box02_num span.num a {
        font-size: 2.8rem;
        pointer-events: auto;
    }
    .contact_box02_num {
        font-size: 2.8rem;
    }
    .contact_box02_txt {
        font-size: 1.0rem;
    }
    .btn_effect:after {
        display: none;
    }
    .btn_effect:hover {
        color: #263238;
    }
    .btn_defult {
        width: 100%;
    }
    .btn_size_m {
        width: 100%;
    }
    .btn_size_s {
        width: 100%;
    }
    .list_none {
        margin-top: 8px;
    }
    .list_none>li {
        padding-left: 0;
        font-size: 1.3rem;
    }
    .list_square li+li {
        margin-top: 20px;
    }
    .list_minus li+li {
        margin-top: 20px;
    }
    .list_note {
        margin-top: 8px;
    }
    .list_note>li {
        font-size: 1.3rem;
        margin-top: 0;
    }
    .list_default>li {
        min-width: 100%;
    }
    .list_default>li a {
        padding: 8px 0 8px 16px;
    }
    .list_default>li a:before {
        left: 0;
    }
    .figure_column01 {
        margin-top: 24px;
        width: 100%;
    }
    .figure_column01 figcaption {
        margin-top: 8px;
        font-size: 1.2rem;
    }
    .figure_column01_img {
        margin-top: 0;
    }
    .figure_column01_img img {
        width: 100%;
    }
    .figure_column02 {
        margin-top: 24px;
        display: block;
    }
    .figure_column02>.figure {
        margin-top: 16px;
        margin-left: 0;
    }
    .figure_column02>.figure:nth-child(n+3) {
        margin-top: 16px;
    }
    .figure_column02 figcaption {
        margin-top: 8px;
        font-size: 1.2rem;
        max-width: 100%;
    }
    .figure_column02_img {
        margin-top: 32px;
    }
    .figure_column03 {
        margin-top: 24px;
        display: block;
    }
    .figure_column03>.figure {
        margin-left: 0;
        width: 100%;
    }
    .figure_column03>.figure:nth-child(n+4) {
        margin-top: 24px;
    }
    .figure_column03 figcaption {
        margin-bottom: 6px;
        font-size: 1.6rem;
    }
    .figure_column03_img {
        margin-top: 32px;
    }
    .figure_column03_img img {
        width: 100%;
    }
    .figure_column04 {
        margin-top: 24px;
    }
    .figure_column04>.figure {
        margin-left: 8px;
        width: 48%;
    }
    .figure_column04>.figure:nth-child(odd) {
        margin-left: 0;
    }
    .figure_column04>.figure:nth-child(n+5) {
        margin-top: 16px;
    }
    .figure_column04 figcaption {
        margin-bottom: 6px;
        font-size: 1.6rem;
    }
    .figure_column04_img {
        margin-top: 32px;
    }
    .figure_column04_img img {
        width: 100%;
    }
    table {
        margin-top: 24px;
    }
    table.type01 tr th {
        width: 100%;
        display: block;
        border: 1px solid #dbdbdb;
        font-size: 1.4rem;
    }
    table.type01 tr td {
        display: block;
        width: 100%;
        border: none;
        border-left: 1px solid #dbdbdb;
        border-right: 1px solid #dbdbdb;
        border-bottom: 1px solid #dbdbdb;
        font-size: 1.2rem;
    }
    table.type01 tr:nth-child(n+2) th {
        border-top: none;
    }
    .slide_table {
        width: 100%;
    }
    .info_list dt {
        width: 100%;
        font-size: 1.7rem;
        line-height: 2.5rem;
        margin-top: 16px;
        padding: 0 8px;
        border-bottom: none;
    }
    .info_list dd {
        width: 100%;
        font-size: 1.5rem;
        line-height: 2.2rem;
        margin-top: 16px;
        margin-left: 0;
        padding: 0 8px 16px;
    }
    .info_list dd>ul.person_list {
        margin-top: 16px;
    }
    .info_list dd>ul.person_list .post {
        width: 100%;
    }
    .info_list dd>ul.person_list .name {
        width: 100%;
    }
    .info_list dd>ul.person_list .responsible {
        width: 100%;
    }
    .column {
        display: block;
        margin-top: 24px;
    }
    .column>div {
        width: 100%;
    }
    .column>div>.ttl {
        font-size: 1.5rem;
    }
    .column>div+div {
        margin-top: 24px;
        margin-left: 0;
    }
    .column_size01 {
        width: 100% !important;
    }
    .column_size02 {
        width: 100% !important;
    }
    .column_size03 {
        width: 100% !important;
    }
    .column_size04 {
        width: 100% !important;
    }
    .column_size05 {
        width: 100% !important;
    }
    .column_size06 {
        width: 100% !important;
        margin: 0;
    }
    .column_05>div {
        width: 100%;
    }
    .column_05>div+div {
        margin-left: 0;
    }
    .column_05>div+div:nth-child(n+2) {
        margin-top: 16px;
    }
    .column_04>div {
        width: 100%;
    }
    .column_04>div+div {
        margin-left: 0;
    }
    .column_04>div+div:nth-child(n+2) {
        margin-top: 16px;
    }
    .column_03>div {
        width: 100%;
    }
    .column_03>div+div {
        margin-left: 0;
    }
    .column_03>div+div:nth-child(n+2) {
        margin-top: 16px;
    }
    .column_02>div {
        width: 100%;
    }
    .column_02>div+div {
        margin-left: 0;
    }
    .column_02>div+div:nth-child(n+2) {
        margin-top: 16px;
    }
    .cv_wrap {
        margin-top: 64px;
    }
    .cv_wrap>.cv_btn>.btn {
        width: 100%;
    }
    .cv_wrap>.cv_btn>.btn a {
        font-size: 1.6rem;
    }
    .cv_wrap>.cv_btn>.btn a>span.icon {
        line-height: 1.6rem;
    }
    .information .info_btn_wrap li.btn {
        width: 100%;
    }
    .information .info_btn_wrap li.btn a {
        text-align: left;
    }
    .information .info_btn_wrap li.btn a>span {
        position: relative;
    }
    .information .info_btn_wrap li.btn a>span img {
        margin: auto;
        width: 48px;
        height: 48px;
    }
    .information .info_btn_wrap li.btn:nth-child(2) {
        margin-top: 16px;
        margin-left: 0;
    }
    .information .info_list li.btn {
        width: 48%;
        margin-left: 4%;
    }
    .information .info_list li.btn:nth-child(2n+1) {
        margin-left: 0;
    }
    .information .info_list li.btn:nth-child(n+3) {
        margin-top: 16px;
    }
    .font_size_l {
        font-size: 1.6rem;
    }
    dl.accordion_faq dt span.txt {
        margin: 0 0 0 16px;
    }
    dl.accordion_normal dt {
        -webkit-box-align: start;
        -ms-flex-align: start;
        align-items: flex-start;
    }
    dl.accordion_normal dd {
        padding: 20px;
        font-size: 1.4rem;
        line-height: 2.5rem;
    }
    dl.accordion_normal dd p.txt {
        display: block;
    }
}

@media all and (-ms-high-contrast: none) {
    body {
        font-family: 'Noto Serif JP', serif;
    }
}

@media print {
    body {
        -webkit-print-color-adjust: exact;
    }
}

@media screen and (max-width: 640px) {
    .contact_box_num span.num a {
        font-size: 2.4rem;
    }
}

table.mobile td {
    text-align: left;
    vertical-align: top;
}

table.mobile {
    width: 100%;
    table-layout: auto;
    margin: 0px;
    line-height: 26px;
}

.font14 {
    font-size: 14px;
}