
@import url('https://fonts.googleapis.com/css?family=Noto+Sans+JP:100,300,400,500,700,900|Oswald&display=swap');

@charset 'UTF-8';
/* bg */
/* mono tone */

/* CSS Document */
/*====================================================================

	common.css

	=====================================================================*/
/* ========================================
 * foundation
 ======================================= */
/* html5reset-1.6.1.css */
html,
body,
div,
span,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
abbr,
address,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
samp,
small,
strong,
sub,
sup,
var,
address,
b,
i,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section,
summary,
time,
mark,
audio,
video
{
    font-size: 100%;

    margin: 0;
    padding: 0;

    border-collapse: collapse;

    vertical-align: baseline;

    border: 0;
    outline: 0;
    background: transparent;
    /* added */

    -webkit-text-size-adjust: none;
    /* added */
}

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

address
{
    font-style: normal;
}

nav ul
{
    list-style: none;
}

ul li
{
    list-style: none;
}

/* added */
ol li
{
    list-style: none;
}

/* added */
blockquote,
q
{
    quotes: none;
}

blockquote:before,
blockquote:after,
q:before,
q:after
{
    content: '';
    content: none;
}

a
{
    font-size: 100%;

    margin: 0;
    padding: 0;

    vertical-align: middle;

    background: transparent;
}

/* change colours to suit your needs */
ins
{
    text-decoration: none; 

    color: #000;
    background-color: #ff9;
}

/* change colours to suit your needs */
mark
{
    font-weight: bold; 
    font-style: italic;

    color: #000;
    background-color: #ff9;
}

del
{
    text-decoration: line-through;
}

abbr[title],
dfn[title]
{
    cursor: help; 

    border-bottom: 1px dotted;
}

table
{
    border-spacing: 0; 
    border-collapse: collapse;
}

/* change border colour to suit your needs */
hr
{
    display: block;

    height: 1px;
    margin: 1em 0;
    padding: 0; 

    border: 0;
    border-top: 1px solid #ccc;
}

input,
select
{
    vertical-align: middle;
}

/*--------------------------------------------------------------------/
	format
/--------------------------------------------------------------------*/
*,
*:before,
*:after
{
    box-sizing: border-box;
}

img
{
    max-width: 100%;

    vertical-align: middle;
}

a img
{
    display: block;

    width: auto;
}

a.hover img
{
    transition: .3s ease all;
}
a.hover img:hover
{
    opacity: .6;

    -ms-filter: 'progid:DXImageTransform.Microsoft.Alpha(Opacity=60)';
}

/* link- */
*[id^='link-']
{
    position: relative; 

    margin-top: -64px;
    margin-top: -4rem;
    padding-top: 64px;
    padding-top: 4rem;
}

/*--------------------------------------------------------------------/
	body
/--------------------------------------------------------------------*/
html
{
    font-size: 100%;
}

body
{
    font-family: -apple-system, BlinkMacSystemFont, 'Noto Sans JP', 'Hiragino Sans', 'ヒラギノ角ゴ ProN W3', 'Hiragino Kaku Gothic ProN', '游ゴシック', 'Yu Gothic', '游ゴシック体', YuGothicM, YuGothic, 'メイリオ', Meiryo, sans-serif;
    font-size: 12.96px;
    font-size: .81rem;
    font-weight: 400;
    line-height: 2;

    letter-spacing: 1px;

    color: #edefef;
    background: #000005;
}

/*
section:after,
article:after {
	content: "";
	clear: both;
	display: block;
}
*/
/* a
----------------------------------------------------------------*/
a
{
    color: #f3e900;
}

a:link,
a:visited
{
    text-decoration: none;
}

a:hover,
a:active
{
    text-decoration: none;
}

.txt a
{
    vertical-align: bottom;
}

.txt a:link,
.txt a:visited
{
    text-decoration: underline !important;
}

.txt a:hover,
.txt a:active
{
    text-decoration: none !important;
}

/* Google font */
/* icomoon　*/
@font-face
{
    font-family: 'icomoon';
    font-weight: normal;
    font-style: normal;

    src: url('../fonts/icomoon.eot?ftclcf');
    src: url('../fonts/icomoon.eot?ftclcf#iefix') format('embedded-opentype'), url('../fonts/icomoon.ttf?ftclcf') format('truetype'), url('../fonts/icomoon.woff?ftclcf') format('woff'), url('../fonts/icomoon.svg?ftclcf#icomoon') format('svg');
    font-display: block;
}

[class^='icon-'],
[class*=' icon-']
{
    /* use !important to prevent issues with browser extensions that change fonts */
    font-family: 'icomoon' !important;
    font-weight: normal;
    font-style: normal;
    font-variant: normal;
    line-height: 1;

    text-transform: none;

    speak: none;
    /* Better Font Rendering =========== */
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

.icon-pagetop:before
{
    content: '\e900';
}

.icon-check:before
{
    content: '\e901';
}

.icon-down_arrow:before
{
    content: '\e313';
}

.icon-left_arrow:before
{
    content: '\e314';
}

.icon-right_arrow:before
{
    content: '\e315';
}

.icon-top_arrow:before
{
    content: '\e316';
}

.icon-search-plus:before
{
    content: '\e906';
}

.icon-home:before
{
    content: '\e90b';
}

.icon-mail:before
{
    content: '\e902';
}

.icon-phone:before
{
    content: '\e0cd';
}

.tel-link
{
    text-decoration: none;
}

/*--------------------------------------------------------------------/
		header
	/--------------------------------------------------------------------*/
#wrapper
{
    position: relative;

    margin: 0 auto;
}

header
{
    position: fixed;
    z-index: 100;
    top: 0;
    left: 0;

    width: 100%;
    width: 100%;
    height: 64px;
    height: 4rem; 

    color: #000005;
    background: #f3e900;
}
header:after
{
    display: block;
    clear: both; 

    content: '';
}

.h-inner
{
    position: relative;

    display: -ms-flexbox;
    display: flex;

    max-width: 1040px;
    margin: 0 auto;
    padding: 3.2px 4%;
    padding: .2rem 4%;

    transition: .6s ease all;

    -ms-flex-pack: justify;
    justify-content: space-between;
    -ms-flex-align: center;
    align-items: center;
}

.h-logo
{
    font-weight: normal;

    display: inline-block;

    width: 70%;
    max-width: 200px; 

    text-align: left;
    letter-spacing: 0;
}

.h-tel
{
    font-family: 'Oswald','Noto Sans JP', serif;
    font-size: 20px;
    font-size: 1.25rem;
    font-weight: 500;
    line-height: 1; 

    vertical-align: top;
}
.h-tel i
{
    font-size: 22.08px;
    font-size: 1.38rem;
    line-height: 1;

    margin-right: 4.8px;
    margin-right: .3rem; 

    vertical-align: -2px;
}
.h-tel .tel-link a
{
    vertical-align: top; 

    color: #000005;
}

/*--------------------------------------------------------------------/
		main
	/--------------------------------------------------------------------*/
main
{
    position: relative; 

    display: block;
    overflow: hidden;

    margin: 0 auto;
    padding-top: 64px;
    padding-top: 4rem;
}
main:after
{
    display: block;
    clear: both; 

    content: '';
}

/*--------------------------------------------------------------------/
	menu
/--------------------------------------------------------------------*/
/*--------------------------------------------------------------------/
		nav global
/--------------------------------------------------------------------*/
#global
{
    -ms-flex-preferred-size: 56%;
    flex-basis: 56%;
}

.g-nav
{
    display: -ms-flexbox;
    display: flex;

    -ms-flex-pack: end;
    justify-content: flex-end;
}
.g-nav > li:not(:last-child)
{
    margin-right: 24px;
    margin-right: 1.5rem;
}
.g-nav > li a
{
    position: relative;

    padding-bottom: 28px; 

    transition: .3s ease all;

    color: #000005;
}
.g-nav > li a:before
{
    position: absolute;
    bottom: 0;
    left: 0;

    width: 0;
    height: 2px;

    content: '';
    transition: .3s ease all; 

    background-color: #000005;
}
.g-nav > li a:hover:before
{
    width: 100%;
}

.g-nav
{
    display: -ms-flexbox;
    display: flex;

    -ms-flex-pack: end;
    justify-content: flex-end;
}
.g-nav > li:not(:last-child)
{
    margin-right: 24px;
    margin-right: 1.5rem;
}
.g-nav > li a
{
    font-size: 1.07em;
    font-weight: 500;

    position: relative;

    padding-bottom: 7px; 

    transition: .3s ease all;

    color: #000005;
}
.g-nav > li a:before
{
    position: absolute;
    bottom: 0;
    left: 0;

    width: 0;
    height: 1px;

    content: '';
    transition: .3s ease all; 

    background-color: #000005;
}
.g-nav > li a:hover:before
{
    width: 100%;
}

.body-fixed
{
    position: fixed;

    width: 100%;
    height: 100%;
}

.hamburger-btn
{
    position: fixed;
    z-index: 999; 
    top: 4.8px;
    top: .3rem;
    right: 0;
}

.hamburger-trigger
{
    position: relative;

    display: block;

    box-sizing: border-box; 
    width: 52px;
    height: 52px;
    padding: 10px;

    cursor: pointer;
    transition: all .4s;
}
.hamburger-trigger span
{
    position: absolute;
    left: 17px;

    display: inline-block;

    box-sizing: border-box;
    width: 18px;
    height: 1px;

    transition: all .4s;

    border-radius: 2px; 
    background-color: #000005;
}
.hamburger-trigger span:nth-of-type(1)
{
    top: 18px;

    animation: menu-bar01 .75s forwards;
}
.hamburger-trigger span:nth-of-type(2)
{
    top: 25px;

    transition: all .25s .25s;

    opacity: 1;

    -ms-filter: 'progid:DXImageTransform.Microsoft.Alpha(Opacity=100)';
}
.hamburger-trigger span:nth-of-type(3)
{
    bottom: 19px;

    animation: menu-bar02 .75s forwards;
}
.hamburger-trigger.active span
{
    background-color: #fff;
}
.hamburger-trigger.active span:nth-of-type(1)
{
    animation: active-menu-bar01 .75s forwards;
}
.hamburger-trigger.active span:nth-child(2)
{
    opacity: 0;

    -ms-filter: 'progid:DXImageTransform.Microsoft.Alpha(Opacity=0)';
}
.hamburger-trigger.active span:nth-of-type(3)
{
    animation: active-menu-bar03 .75s forwards;
}

.open .hamburger-trigger
{
    background: transparent;
}

@keyframes menu-bar01
{
    0%
    {
        transform: translateY(7px) rotate(45deg);
    }
    50%
    {
        transform: translateY(7px) rotate(0);
    }
    100%
    {
        transform: translateY(0) rotate(0);
    }
}

@keyframes menu-bar02
{
    0%
    {
        transform: translateY(-7px) rotate(-45deg);
    }
    50%
    {
        transform: translateY(-7px) rotate(0);
    }
    100%
    {
        transform: translateY(0) rotate(0);
    }
}

@keyframes active-menu-bar01
{
    0%
    {
        transform: translateY(0) rotate(0);
    }
    50%
    {
        transform: translateY(7px) rotate(0);
    }
    100%
    {
        transform: translateY(7px) rotate(45deg);
    }
}

@keyframes active-menu-bar03
{
    0%
    {
        transform: translateY(0) rotate(0);
    }
    50%
    {
        transform: translateY(-7px) rotate(0);
    }
    100%
    {
        transform: translateY(-7px) rotate(-45deg);
    }
}

.nav__tel
{
    width: 80%;
    margin: 16px 10%;
    margin: 1rem 10%;
    padding: 12px 0;
    padding: .75rem 0;

    opacity: 0;
    border-radius: 32px;
    background: #f3e900; 

    -ms-filter: 'progid:DXImageTransform.Microsoft.Alpha(Opacity=0)';
}
body.open .nav__tel
{
    transition: .5s ease 1.3s; 

    opacity: 1;

    -ms-filter: 'progid:DXImageTransform.Microsoft.Alpha(Opacity=100)';
}
.nav__tel li
{
    font-size: calc(1.5rem + 4 * (100vw - 320px) / 937); 
    font-weight: 400;
    line-height: 1.2;

    text-align: center;

    color: #000005;
}
.nav__tel li span
{
    font-family: 'Oswald','Noto Sans JP', serif; 

    display: block;
}
.nav__tel li span:before
{
    font-family: 'icomoon';
    font-weight: 100;

    margin-right: 3.2px;
    margin-right: .2rem;

    content: '\e0cd';
    vertical-align: middle;

    color: #000005;
}
.nav__tel li .tel-link a
{
    color: #000005;
}

body.open .nav > li
{
    margin-top: 0; 

    opacity: 1;

    -ms-filter: 'progid:DXImageTransform.Microsoft.Alpha(Opacity=100)';
}
body.open .nav > li:nth-child(1)
{
    transition: .5s ease .3s;
}
body.open .nav > li:nth-child(2)
{
    transition: .5s ease .4s;
}
body.open .nav > li:nth-child(3)
{
    transition: .5s ease .5s;
}
body.open .nav > li:nth-child(4)
{
    transition: .5s ease .6s;
}
body.open .nav > li:nth-child(5)
{
    transition: .5s ease .7s;
}
body.open .nav > li:nth-child(6)
{
    transition: .5s ease .8s;
}
body.open .nav > li:nth-child(7)
{
    transition: .5s ease .9s;
}
body.open .nav > li:nth-child(8)
{
    transition: .5s ease 1s;
}
body.open .nav > li:nth-child(9)
{
    transition: .5s ease 1.1s;
}
body.open .nav > li:nth-child(10)
{
    transition: .5s ease 1.2s;
}
body.open .nav > li:nth-child(11)
{
    transition: .5s ease 1.2s;
}

/*--------------------------------------------------------------------/
		footer
	/--------------------------------------------------------------------*/
footer
{
    padding-top: 64px;
    padding-top: 4rem;
    padding-bottom: 48px;
    padding-bottom: 3rem;

    background: url(../img/common/dot_01.png), url(../img/common/f_bg.jpg) center center/cover no-repeat;
}

.f-info__tit
{
    font-size: 1.07em;
    font-weight: 400;

    margin-bottom: 4.8px;
    margin-bottom: .3rem;
}

.f-border
{
    border-top: 1px solid #edefef;
}

.f-copy
{
    font-size: 11.04px;
    font-size: .69rem;

    padding: 8px 4%;
    padding: .5rem 4%;

    text-align: center; 

    color: #fff;
}

.f-nav
{
    margin-bottom: 24px;
    margin-bottom: 1.5rem;
}
.f-nav__items li
{
    line-height: 1.2;
}
.f-nav__items li:not(:last-child) a:after
{
    position: absolute;
    top: 15%; 
    right: 0;

    width: 1px;
    height: 70%;

    content: '';

    background: #fff;
}
.f-nav__items a
{
    position: relative;

    padding: 3.2px 12px;
    padding: .2rem .75rem;

    transition: .3s ease all; 

    color: #fff;
}
.f-nav__items a:hover
{
    color: #f3e900;
}

/* fixed parts
	--------------------------------------------------------------------*/
.pagetop
{
    position: fixed;
    z-index: 99;
    right: 8px;
    right: .5rem; 
    bottom: 16px;
    bottom: 1rem;
}
.pagetop a
{
    font-size: 30.08px;
    font-size: 1.88rem;

    display: block;

    transition: .3s ease all;

    color: #ccc;
}
.pagetop a:hover
{
    color: #f3e900;
}

/*----------------------------------------------------------------
	component(common)
----------------------------------------------------------------*/
/* table
----------------------------------------------------------------*/
.common-table table
{
    width: 100%;
    margin-right: auto;
    margin-bottom: 32px;
    margin-bottom: 2rem; 
    margin-left: auto;
}
.common-table table tr:not(:last-child)
{
    border-bottom: 1px solid #ccc;
}
.common-table table th,
.common-table table td.column-1
{
    font-weight: normal;

    padding: 16px 0 12.8px;
    padding: 1rem 0 .8rem; 

    text-align: left;
}
.common-table table td
{
    padding: 16px 20px 16px 8px;
    padding: 1rem 1.25rem 1rem .5rem;
}

/* table press CSS */
.tablepress td,
.tablepress th
{
    padding: none;
}

.tablepress tbody td,
.tablepress tfoot th
{
    border-top: none !important;
}

/*--------------------------------------------------------------------/
	common-parts
/--------------------------------------------------------------------*/
.l-cont
{
    max-width: 1040px; 
    margin-right: auto;
    margin-left: auto;
    padding: 0 4%;
}

h3,
h4,
h5
{
    line-height: 1.4;
}

.txt p
{
    margin-bottom: 16px;
    margin-bottom: 1rem;

    letter-spacing: 1px;
}
.txt p:last-child
{
    margin-bottom: 0;
}

.alignright
{
    float: right;

    margin: 0 0 16px 16px;
    margin: 0 0 1rem 1rem;
}

.alignleft
{
    float: left;

    margin: 16px 16px 0 0;
    margin: 1rem 1rem 0 0;
}

.aligncenter
{
    display: block;

    margin: 0 auto 16px;
    margin: 0 auto 1rem;
}

/* column
----------------------------------------------------------------*/
.col-4
{
    display: -ms-flexbox;
    display: flex;

    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
}
.col-4 > *
{
    width: 48%;
    margin-bottom: 16px;
    margin-bottom: 1rem;
}
.col-4 > *:not(:nth-of-type(2n))
{
    margin-right: 4%;
}

/*--------------------------------------------------------------------/
	others
/--------------------------------------------------------------------*/
/*--------------------------------------------------------------------/
	h3,h4,h5
/--------------------------------------------------------------------*/
.cont-tit
{
    font-size: calc(1.14rem + 6 * (100vw - 320px) / 937);
    font-weight: 500;

    margin-bottom: calc(1rem + .5em); 

    color: #f3e900;
}
.cont-tit span
{
    font-family: 'Oswald','Noto Sans JP', serif;

    letter-spacing: .08em;
}

.cont-tit2
{
    font-size: calc(1rem + 4 * (100vw - 320px) / 937);
    font-weight: 500;

    margin-bottom: calc(1rem + .5em); 

    color: #f3e900;
}
.cont-tit2 span
{
    font-family: 'Oswald','Noto Sans JP', serif;

    letter-spacing: .08em;
}

.normal-tit
{
    font-size: calc(1rem + 1 * (100vw - 320px) / 937); 
    font-weight: 400;

    position: relative;

    margin-bottom: calc(1rem + .2em);
    padding-bottom: 12px;
    padding-bottom: .75rem;
}
.normal-tit:after
{
    position: absolute;
    bottom: 0;
    left: 0;

    width: 48px;
    width: 3rem;
    height: 1px;

    content: '';

    background: #f3e900;
}

.normal-tit2
{
    font-size: calc(1rem + 2 * (100vw - 320px) / 937); 
    font-weight: 400;

    position: relative;

    margin-bottom: calc(.5rem + .5em);

    text-align: left;
}

.normal-tit3
{
    font-size: calc(1rem + 2 * (100vw - 320px) / 937); 
    font-weight: 400;

    position: relative;

    margin-bottom: calc(.5rem + .5em);
    padding-bottom: 12px;
    padding-bottom: .75rem;

    text-align: left;
}
.normal-tit3:after
{
    position: absolute;
    bottom: 0;
    left: 0;

    width: 48px;
    width: 3rem;
    height: 1px;

    content: '';

    background: #f3e900;
}

h5.normal
{
    font-size: calc(.93rem + 2 * (100vw - 320px) / 937); 
    font-weight: normal;
    font-weight: 500;

    margin-bottom: 12px;
    margin-bottom: .75rem;
    padding: 8px 0;
    padding: .5rem 0;

    color: #222;
    border-bottom: 1px dashed #ccc;
}

/*--------------------------------------------------------------------/
	ol
/--------------------------------------------------------------------*/
ol.normal
{
    margin-left: 5px;

    counter-reset: number;
}
ol.normal > li
{
    line-height: 1.4;

    position: relative; 

    padding-left: 20px;
    padding-left: 1.25rem;
}
ol.normal > li:before
{
    line-height: 24px;
    line-height: 1.5rem;

    position: absolute;
    top: -3.2px;
    top: -.2rem;
    left: 0;

    content: counter(number) '.';
    counter-increment: number;
    text-align: center;
}
ol.normal > li:not(:last-child)
{
    margin-bottom: 16px;
    margin-bottom: 1rem;
}

/*--------------------------------------------------------------------/
	ul
/--------------------------------------------------------------------*/
ul.normal
{
    margin-left: 5px;
}
ul.normal li
{
    line-height: 1.4;

    position: relative; 

    padding-left: 20px;
    padding-left: 1.25rem;
}
ul.normal li:before
{
    font-size: .8em; 

    position: absolute;
    top: 0;
    left: 0;

    content: '●';

    color: #434343;
}
ul.normal li:not(:last-child)
{
    margin-bottom: 8px;
    margin-bottom: .5rem;
}

ul.normal2
{
    margin-left: 5px;
}
ul.normal2 li
{
    line-height: 1.4;

    position: relative; 

    padding-left: 16px;
    padding-left: 1rem;
}
ul.normal2 li:before
{
    position: absolute;
    top: 0; 
    left: 0;

    content: '・';

    color: #000005;
}
ul.normal2 li:not(:last-child)
{
    margin-bottom: 4.8px;
    margin-bottom: .3rem;
}

ul.caution
{
    margin-left: 5px;
}
ul.caution li
{
    line-height: 1.4;

    position: relative;

    padding-left: 19.2px;
    padding-left: 1.2rem;

    color: #df2f2f;
}
ul.caution li:before
{
    position: absolute;
    top: 0; 
    left: 0;

    content: '※';
}
ul.caution li:not(:last-child)
{
    margin-bottom: 8px;
    margin-bottom: .5rem;
}

/*--------------------------------------------------------------------/
	dl
/--------------------------------------------------------------------*/
dl.normal
{
    margin-bottom: 32px;
    margin-bottom: 2rem; 
    margin-left: 5px;
}
dl.normal dt
{
    line-height: 1.4;
}
dl.normal dt:before
{
    padding-right: .3em; 

    content: '●';
}
dl.normal dd:not(:last-child)
{
    margin-bottom: 16px;
    margin-bottom: 1rem;
}

/*----------------------------------------------------------------
	 helper
----------------------------------------------------------------*/
/* display */

.block
{
    display: block !important;
}

.in-block
{
    display: inline-block !important;
}

/* btn */
[class*='btn-arrow']
{
    font-family: 'Oswald','Noto Sans JP', serif;
    font-size: 1.07em;
    font-weight: normal;
    line-height: 1.4;

    position: relative;
    position: relative;

    display: block;
    display: inline-block; 

    padding-right: 32px;
    padding-right: 2rem;
    padding-bottom: 12px;
    padding-bottom: .75rem;

    transition: .3s ease all;
    text-decoration: none;

    color: #000005;
}
[class*='btn-arrow']:before
{
    position: absolute;
    bottom: 0;
    left: 0;

    display: block;

    width: 100%;
    height: 1px;

    content: '';
    transition: .3s ease all;
}
[class*='btn-arrow']:after
{
    position: absolute;
    bottom: -2px;
    left: calc(100% - 8px);

    display: block;

    width: 1.4px;
    height: 18px;

    content: '';
    transition: .3s ease all; 
    transform: rotate(-45deg);
}
[class*='btn-arrow']:hover:before
{
    width: calc(100% + 10px);
}
[class*='btn-arrow']:hover:after
{
    left: calc(100% + 2px);
}

a.btn-arrow--yellow
{
    color: #f3e900;
}
a.btn-arrow--yellow:before,
a.btn-arrow--yellow:after
{
    background: #f3e900;
}
a.btn-arrow--yellow:hover
{
    color: #dc2929;
}
a.btn-arrow--yellow:hover:before,
a.btn-arrow--yellow:hover:after
{
    background: #dc2929;
}

span.btn-arrow--yellow
{
    color: #f3e900;
}
span.btn-arrow--yellow:before,
span.btn-arrow--yellow:after
{
    background: #f3e900;
}

/* img */
a.light-box
{
    position: relative; 

    display: block;
    overflow: hidden;
}
a.light-box:after
{
    font-family: 'icomoon';
    font-size: 8px;
    font-size: .5rem;

    position: absolute;
    z-index: 1; 
    top: 50%;
    left: 50%;

    display: block;

    content: '\e906';
    transition: .3s ease all;
    transform: translate(-50%, -50%);

    opacity: 0;
    color: #fff;

    -ms-filter: 'progid:DXImageTransform.Microsoft.Alpha(Opacity=0)';
}
a.light-box img
{
    transition: .3s ease all;
}
a.light-box:hover img
{
    transform: scale(1.1, 1.1);

    filter: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg"><filter id="filter"><feComponentTransfer color-interpolation-filters="sRGB"><feFuncR type="linear" slope="0.5" /><feFuncG type="linear" slope="0.5" /><feFuncB type="linear" slope="0.5" /></feComponentTransfer></filter></svg>#filter');
    filter: brightness(50%);
}
a.light-box:hover:after
{
    font-size: 48px;
    font-size: 3rem;

    opacity: 1;

    -ms-filter: 'progid:DXImageTransform.Microsoft.Alpha(Opacity=100)';
}

a.img-scale figure
{
    overflow: hidden;
}

a.img-scale img
{
    transition: .3s ease all;
}

a.img-scale:hover img
{
    transform: scale(1.1, 1.1);

    opacity: .8;

    -ms-filter: 'progid:DXImageTransform.Microsoft.Alpha(Opacity=80)';
}

/* ofi */
.ofi-contain img
{
    font-family: 'object-fit: contain;'; 

    height: 100%;

    -o-object-fit: contain;
       object-fit: contain;
}

.ofi-cover img
{
    font-family: 'object-fit: cover;'; 

    width: 100%;
    height: 100%;

    -o-object-fit: cover;
       object-fit: cover;
}

.of-hidden
{
    overflow: hidden;
}

.f-right
{
    float: right;
}

.f-left
{
    float: left;
}

/* color */
.cl-red
{
    color: #df2f2f;
}

.cl-blue
{
    color: #2b74e0;
}

/* font-size */
.fs-s
{
    font-size: .875em;
}

.fs-m
{
    font-size: 1.14em;
}

.fs-l
{
    font-size: 1.25em;
}

/* txt-align */
.txt-c
{
    text-align: center;
}

.txt-l
{
    text-align: left;
}

.txt-r
{
    text-align: right;
}

.clearfix:after
{
    display: block;
    clear: both; 

    content: '';
}

/* margin */
.m-a
{
    margin-right: auto; 
    margin-left: auto;
}

.mt-s
{
    margin-top: 4.8px;
    margin-top: .3rem;
}

.mt-m
{
    margin-top: 16px;
    margin-top: 1rem;
}

.mt-l
{
    margin-top: 32px;
    margin-top: 2rem;
}

.mr-s
{
    margin-right: 4.8px;
    margin-right: .3rem;
}

.mr-m
{
    margin-right: 16px;
    margin-right: 1rem;
}

.mr-l
{
    margin-right: 32px;
    margin-right: 2rem;
}

.mb-s
{
    margin-bottom: 4.8px;
    margin-bottom: .3rem;
}

.mb-ms
{
    margin-bottom: 8px;
    margin-bottom: .5rem;
}

.mb-m
{
    margin-bottom: 16px;
    margin-bottom: 1rem;
}

.mb-l
{
    margin-bottom: 32px;
    margin-bottom: 2rem;
}

.mb-ll
{
    margin-bottom: 64px;
    margin-bottom: 4rem;
}

.ml-s
{
    margin-left: 4.8px;
    margin-left: .3rem;
}

.ml-m
{
    margin-left: 16px;
    margin-left: 1rem;
}

.ml-l
{
    margin-left: 32px;
    margin-left: 2rem;
}

.w-280
{
    max-width: 280px; 
    margin-right: auto;
    margin-left: auto;
}

.w-320
{
    max-width: 320px; 
    margin-right: auto;
    margin-left: auto;
}

.w-900
{
    max-width: 900px; 
    margin-right: auto;
    margin-left: auto;
}

@media print, screen and (min-width: 376px)
{
    /*====================================================================/
	/*------------------iPhone 以上----------------
	/====================================================================*/
    html
    {
        width: 100%;
    }
    .col-3
    {
        display: -ms-flexbox;
        display: flex;

        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
    }
    .col-3 > *
    {
        width: 48%;
    }
    .col-3 > *:not(:nth-of-type(2n))
    {
        margin-right: 4%;
    }
    .col-3 > *:not(:nth-last-of-type(-n+2))
    {
        margin-bottom: 1rem;
    }
}

@media print, screen and (min-width: 481px)
{
    /*====================================================================/
	/*------------------タブレットスタイル----------------
	/====================================================================*/
    html
    {
        width: 100%;
    }
    .f-flex
    {
        display: -ms-flexbox;
        display: flex;

        max-width: 600px; 
        margin-right: auto;
        margin-left: auto;

        -ms-flex-pack: justify;
        justify-content: space-between;
    }
    .col-2
    {
        display: -ms-flexbox;
        display: flex;

        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
    }
    .col-2 > *
    {
        width: 48%;
    }
    .col-2 > *:not(:nth-of-type(2n))
    {
        margin-right: 4%;
    }
    .col-2 > *:not(:nth-last-of-type(-n+2))
    {
        margin-bottom: 3rem;
    }
    .txt-c_tb
    {
        text-align: center;
    }
}

@media print, screen and (min-width: 797px)
{
    /*====================================================================/
	/*-------------------小さいPCスタイル----------------
	/====================================================================*/
    html
    {
        width: 100%;
    }
    .h-inner
    {
        height: 4rem; 
        padding: .4rem 20px;
    }
    footer
    {
        padding-top: 4 * 1.5 rem;
        padding-bottom: 3 * 1.5 rem;
    }
    .f-nav__items
    {
        display: -ms-flexbox;
        display: flex;

        -ms-flex-pack: center;
        justify-content: center;
    }
    .pagetop a
    {
        font-size: 2.5rem;
    }
    .common-table table th,
    .common-table table td.column-1
    {
        width: 25%;
        min-width: 180px;
    }
    .common-table table td.column-2
    {
        width: auto;
    }
    .col-3 > *
    {
        width: 31.08%;
    }
    .col-3 > *:not(:nth-of-type(2n))
    {
        margin-right: 0;
    }
    .col-3 > *:not(:nth-of-type(3n))
    {
        margin-right: 3.33%;
    }
    .col-3 > *:not(:nth-last-of-type(-n+2))
    {
        margin-bottom: 0;
    }
    .col-3 > *:not(:nth-last-of-type(-n+3))
    {
        margin-bottom: 2rem;
    }
    .col-3_2
    {
        display: -ms-flexbox;
        display: flex;

        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
    }
    .col-3_2 > *
    {
        width: 31.08%;
    }
    .col-3_2 > *:not(:nth-of-type(2n))
    {
        margin-right: 0;
    }
    .col-3_2 > *:not(:nth-of-type(3n))
    {
        margin-right: 3.33%;
    }
    .col-3_2 > *:not(:nth-last-of-type(-n+2))
    {
        margin-bottom: 0;
    }
    .col-3_2 > *:not(:nth-last-of-type(-n+3))
    {
        margin-bottom: 2rem;
    }
    .pc_s-none
    {
        display: none;
    }
    .f-right_pc_s
    {
        float: right;
    }
    .f-left_pc_s
    {
        float: left;
    }
    .txt-c_pc_s
    {
        text-align: center;
    }
    .mt-s
    {
        margin-top: .5rem;
    }
    .mt-m
    {
        margin-top: 2rem;
    }
    .mt-l
    {
        margin-top: 3rem;
    }
    .mr-s
    {
        margin-right: .5rem;
    }
    .mr-m
    {
        margin-right: 2rem;
    }
    .mr-l
    {
        margin-right: 3rem;
    }
    .mb-s
    {
        margin-bottom: .5rem;
    }
    .mb-ms
    {
        margin-bottom: 1rem;
    }
    .mb-m
    {
        margin-bottom: 2rem;
    }
    .mb-l
    {
        margin-bottom: 3rem;
    }
    .mb-ll
    {
        margin-bottom: 6rem;
    }
    .ml-s
    {
        margin-left: .5rem;
    }
    .ml-m
    {
        margin-left: 2rem;
    }
    .ml-l
    {
        margin-left: 3rem;
    }
}

@media print, screen and (min-width: 1057px)
{
    /*====================================================================/
	/*-------------------PCスタイル-------------------
	/====================================================================*/
    html
    {
        width: 100%;
    }
    *[id^='link-']
    {
        margin-top: -5rem; 
        padding-top: 5rem;
    }
    header
    {
        height: 4.75rem;
    }
    .h-logo
    {
        max-width: 240px; 
        margin-top: .5rem;
    }
    main
    {
        padding-top: 5rem;
    }
    .close-btn__wrap
    {
        display: none;
    }
    .hamburger-btn
    {
        display: none;
    }
    .sp-nav
    {
        display: none;
    }
    .nav__tel li
    {
        font-size: 1.75rem;
    }
    .common-table table th,
    .common-table table td.column-1
    {
        width: 200px;
    }
    .common-table table td.column-2
    {
        width: calc(100% - 200px);
    }
    .l-cont
    {
        padding: 0 20px;
    }
    .col-4 > *
    {
        width: 22%;
        margin-bottom: 2rem;
    }
    .col-4 > *:not(:nth-of-type(2n))
    {
        margin-right: 0;
    }
    .col-4 > *:not(:nth-of-type(4n))
    {
        margin-right: 4%;
    }
    .col-2_2
    {
        display: -ms-flexbox;
        display: flex;

        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
    }
    .col-2_2 > *
    {
        width: 48%;
    }
    .col-2_2 > *:not(:nth-of-type(2n))
    {
        margin-right: 4%;
    }
    .col-2_2 > *:not(:nth-last-of-type(-n+2))
    {
        margin-bottom: 1rem;
    }
    .cont-tit
    {
        font-size: 1.5rem;
    }
    .cont-tit2
    {
        font-size: 1.25rem;
    }
    .normal-tit
    {
        font-size: .88rem;
    }
    .normal-tit2
    {
        font-size: 1.13rem;
    }
    .normal-tit3
    {
        font-size: 1.13rem;
    }
    h5.normal
    {
        font-size: 1.06rem;
    }
    .pc-none
    {
        display: none;
    }
    .txt-c_pc
    {
        text-align: center;
    }
}

@media print, screen and (min-width: 1920px)
{
    /*====================================================================/
	/*-------------------full PCスタイル-------------------
	/====================================================================*/
    html
    {
        width: 100%;
    }
}

@media screen and (max-width: 1056px)
{
    /*====================================================================/
	/*------------------PC以下---------
	/====================================================================*/
    html
    {
        width: 100%;
    }
    .h-tel
    {
        display: none;
    }
    #global
    {
        display: none;
    }
    .close-btn
    {
        font-weight: normal;

        display: block; 

        width: 100%;
        margin-top: -15px;
        padding: 1rem 4%;

        text-align: center;

        opacity: 0;
        color: #fff;
        border: 1px solid #fff;
        background: transparent;

        -ms-filter: 'progid:DXImageTransform.Microsoft.Alpha(Opacity=0)';
    }
    body.open .close-btn
    {
        margin-top: 0;

        transition: .5s ease 1.4s; 

        opacity: 1;

        -ms-filter: 'progid:DXImageTransform.Microsoft.Alpha(Opacity=100)';
    }
    .close-btn__wrap
    {
        width: 80%;
        margin: 1rem auto 0;
        padding-bottom: 3rem;
    }
    .sp-nav
    {
        position: fixed;
        z-index: 100; 
        top: 0;
        left: 0;

        visibility: hidden;

        width: 100%;
        height: 100%;

        background: rgba(0, 0, 5, .9);
    }
    body.open .sp-nav
    {
        visibility: visible;

        cursor: '',auto;
        transition: .5s ease all;

        opacity: 1;

        -ms-filter: 'progid:DXImageTransform.Microsoft.Alpha(Opacity=100)';
    }
    .sp-nav__inner
    {
        position: relative; 

        overflow-y: auto;

        width: 100%;
        height: 100%;

        -webkit-overflow-scrolling: touch;
    }
    .sp-nav .nav
    {
        width: 80%;
        margin: 4rem 10% 0;
    }
    .sp-nav .nav > li
    {
        width: 100%;
        margin: 0 auto;
        margin-top: -15px;

        text-align: left;

        opacity: 0;
        border-bottom: 1px solid #fff; 

        -ms-filter: 'progid:DXImageTransform.Microsoft.Alpha(Opacity=0)';
    }
    .sp-nav .nav > li a
    {
        line-height: 60px;

        position: relative; 

        display: block;

        box-sizing: border-box;
        height: 60px;
        padding-left: 1rem;

        text-decoration: none;

        color: #fff;
    }
    .col-2_2 > *:not(:last-child)
    {
        margin-bottom: 1rem;
    }
    .pc_less-none
    {
        display: none;
    }
}

@media screen and (max-width: 796px)
{
    /*====================================================================/
	/*------------------スマホタブレット共通スタイル---------
	/====================================================================*/
    html
    {
        width: 100%;
    }
    body
    {
        font-size: .81rem;
    }
    .f-logo
    {
        margin-bottom: 1rem;
    }
    .f-nav__items li
    {
        display: inline-block;
    }
    .common-table table th,
    .common-table table td.column-1
    {
        display: block;

        padding-bottom: 0;
    }
    .common-table table td
    {
        display: block;

        padding-left: 0;
    }
    .common-table table td:first-child
    {
        padding-bottom: .1rem;
    }
    .common-table table td:not(:first-child)
    {
        padding-top: 0;
    }
    .col-3_2 > *:not(:last-child)
    {
        margin-bottom: .5rem;
    }
    .tb-none
    {
        display: none;
    }
}

@media screen and (max-width: 480px)
{
    /*====================================================================/
	/*------------------スマホのみスタイル----------------
	/====================================================================*/
    html
    {
        width: 100%;
    }
    body
    {
        font-size: .75rem;
    }
    .col-2 > *:not(:last-child)
    {
        margin-bottom: 1rem;
    }
    .sp-none
    {
        display: none;
    }
}

@media screen and (max-width: 375px)
{
    /*====================================================================/
	/*------------------iPhone 以下----------------
	/====================================================================*/
    html
    {
        width: 100%;
    }
}
