@charset "utf-8";
/*------------------------------------------------------------
	デフォルトスタイル
------------------------------------------------------------*/
html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, font, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td {
    margin: 0;
    padding: 0;
    background: transparent;
    border: 0;
    outline: 0;
    font-size: 1em;
}
html {
    font-size: 62.5%;
}
body, table, input, textarea, select, option {
    font-family: 'Zen Maru Gothic', serif;
}
article, aside, canvas, details, figcaption, figure, footer, header, hgroup, menu, nav, section, summary {
    display: block;
}
ol, ul {
    list-style: none;
    box-sizing: border-box;
}
blockquote, q {
    quotes: none;
}
:focus {
    outline: 0;
}
ins {
    text-decoration: none;
}
del {
    text-decoration: line-through;
}
img {
    vertical-align: top;
    max-width: 100%;
    height: auto;
}
a, a:link {
    color: #4F4F4F;
    text-decoration: none;
    transition: .3s;
}
a:visited {
    color: #4F4F4F;
}
a:hover {
    color: #4F4F4F;
}
a:active {
    color: #4F4F4F;
}
/*------------------------------------------------------------
	レイアウト
------------------------------------------------------------*/
body {
    color: #4F4F4F;
    font-size: 1.6rem;
    line-height: 1.5;
    font-weight: 500;
    text-size-adjust: none;
    -webkit-text-size-adjust: none;
    background-color: #FFF;
}
body.fixed {
    position: fixed;
    width: 100%;
    height: 100%;
}
#container {
    text-align: left;
}
#main {
    display: block;
}
@media all and (max-width: 896px) {
    .pc {
        display: none !important;
    }
}
@media all and (min-width: 897px) {
    body {
        min-width: 1306px;
    }
    a[href^="tel:"] {
        cursor: default;
        pointer-events: none;
    }
    .sp {
        display: none !important;
    }
}
/*------------------------------------------------------------
	ヘッダー
------------------------------------------------------------*/
#header {
    position: fixed;
    left: 0;
    top: 0;
    width: 100%;
    padding: 24px 105px;
    background: linear-gradient(180deg, #FFF 0%, rgba(255, 255, 255, 0.00) 100%);
    display: flex;
    justify-content: space-between;
    box-sizing: border-box;
    z-index: 100;
}
h1 {
    margin-top: 4px;
    font-weight: 500;
    line-height: 1.625;
    letter-spacing: 0.1em;
}
#header .r-box {
    flex: 1;
    display: flex;
    align-items: center;
    justify-content: flex-end;
}
#g-navi {
    margin-right: 7px;
}
#g-navi ul {
    display: flex;
    justify-content: flex-end;
}
#g-navi li {
    margin-right: 21px;
}
#g-navi a {
    padding: 0 10px;
    border-radius: 100px;
    display: inline-block;
    line-height: 1.625;
    letter-spacing: 0.1em;
}
#g-navi .en {
    font-size: 1.8rem;
    line-height: 1.5;
}
#header .com-btn a {
    box-shadow: none;
    width: 200px;
    height: 60px;
    font-size: 1.8rem;
}
#header .com-btn a .txt {
    padding-right: 18px;
    background-size: 15px auto;
}
@media all and (max-width: 1520px) {
    #header {
        padding: 24px 3vw;
    }
    #g-navi li {
        margin-right: 0.7vw;
    }
}
@media all and (max-width: 1300px) {
    #header {
        padding: 24px 2vw;
    }
    #g-navi li {
        margin-right: 0.05vw;
    }
    #header .com-btn a {
        width: 15vw;
    }
}
@media all and (max-width: 1200px) {
    h1 {
        font-size: 1.33vw;
    }
    #g-navi {
        margin-right: 0.1vw;
    }
    #g-navi li a {
        font-size: 1.33vw;
    }
    #g-navi .en {
        font-size: 1.45vw;
    }
    #header .com-btn a {
        width: 14vw;
        height: 5vw;
        font-size: 1.48vw;
    }
    #header .com-btn a .txt {
        padding-right: 1.4vw;
        background-size: 1.2vw auto;
    }
}
@media all and (min-width: 897px) {
    #g-navi a:hover {
        color: #2CA4E4;
        background-color: #fff;
    }
    .menu-box {
        display: none !important;
    }
}
@media all and (max-width: 896px) {
    #header {
        padding: 14px;
        align-items: center;
    }
    h1 {
        margin-top: 10px;
        font-size: 1.4rem;
        line-height: 1.5;
    }
    .menu {
        position: fixed;
        right: 14px;
        top: 14px;
        z-index: 101;
    }
    .menu .close {
        display: none;
    }
    .menu.on .close {
        display: block;
    }
    .menu.on .open {
        display: none;
    }
    .menu-box {
        display: none;
        padding: 0 50px;
        position: fixed;
        left: 0;
        top: 0;
        width: 100%;
        max-height: 100%;
        overflow-y: auto;
        background: url(../../images/common/menu_bg.png) no-repeat center top/100% 100%;
        box-sizing: border-box;
        z-index: 100;
    }
    .menu-box .menu-list {
        margin: 90px 0 50px;
    }
    .menu-box .menu-list li {
        margin-bottom: 32px;
    }
    .menu-box .menu-list a {
        padding-right: 26px;
        display: inline-block;
        color: #fff;
        font-size: 2rem;
        line-height: 1.35;
        letter-spacing: 0.1em;
        background: url(../../images/common/arrow02.svg) no-repeat right center/14px auto;
    }
    .menu-box .com-btn {
        margin-bottom: 90px;
    }
    .menu-box .com-btn a {
        width: 200px;
        height: 60px;
        font-size: 1.8rem;
        color: #2CA4E4;
        box-shadow: 0px 4px 0px 0px #69DAD3;
        background-color: #fff;
    }
    .menu-box .com-btn a .txt {
        background-image: url(../../images/common/arrow01.svg);
    }
}
@media all and (max-width: 359px) {
    .menu-box {
        padding: 0 30px;
    }
}
/*------------------------------------------------------------
	フッター
------------------------------------------------------------*/
#footer {
    margin-top: 135px;
    padding-top: 6.3vw;
    background: url(../../images/common/footer_bg.png) no-repeat center top/cover;
}
#footer .company {
    margin-bottom: 124px;
    max-width: 926px;
    display: flex;
    align-items: flex-start;
}
#footer .company .headline01 {
    margin-top: 28px;
    width: 343px;
}
#footer .company .headline01 .ttl-sub {
    color: #fff;
    background-image: url(../../images/common/icon03.svg);
}
#footer .company .r-box {
    flex: 1;
}
#footer .company .info-list li {
	padding: 22.5px 0;
	display: flex;
	align-items: center;
	color: #fff;
    letter-spacing: 0.09em;
    font-size: 1.7rem;
    line-height: 1.59;
	border-bottom: 2px dotted #fff;
}
#footer .company .info-list li:last-child {
	border-bottom: none;
}
#footer .company .info-list .ttl {
	width: 33%;
    font-weight: 700;
}
#footer .company .info-list .txt {
	flex: 1;
}
#footer .company .info-list a {
	color: #fff;
}
#footer address {
    border-top: 1px solid #fff;
    padding: 30px 20px;
    font-size: 1.4rem;
    font-style: 400;
    font-style: normal;
    letter-spacing: 0.1em;
    color: #fff;
    text-align: center;
    font-family: 'Varela Round', sans-serif;
}
@media all and (max-width: 896px) {
    #footer {
        margin-top: 50px;
        padding-top: 16.2vw;
        background-image: url(../../images/common/footer_bg_sp.png);
    }
    #footer .company {
        margin-bottom: 23px;
        display: block;
    }
    #footer .company .headline01 {
        margin: 0 0 40px;
        width: auto;
        text-align: center;
    }
	#footer .company .info-list li {
		padding: 16.5px 0;
        border-width: 1px;
        font-size: 1.2rem;
        line-height: 1.67;
	}
	#footer .company .info-list .ttl {
		width: 38%;
		font-size: 1.3rem;
	}
    #footer address {
        padding: 30px 20px;
        font-size: 1.2rem;
    }
}