@charset "UTF-8";
/* flex呼び出し方法 *****************************
@include flex(0, center, 0, 0, 1);
第1引数：justify-content
第2引数：align-items
第3引数：flex-wrap
第4引数：align-content
第5引数：flex-column
**********************************************/
/* ----------------------------------------------------------------------
 reset
---------------------------------------------------------------------- */
*, *::before, *::after {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}

body, h1, h2, h3, h4, p, figure, blockquote, dl, dd {
    margin: 0;
}

ul[role="list"], ol[role="list"] {
    list-style: none;
}

html:focus-within {
    scroll-behavior: smooth;
}

body {
    min-height: 100vh;
    text-rendering: optimizeSpeed;
    line-height: 1.5;
}

a:not([class]) {
    -webkit-text-decoration-skip: ink;
    text-decoration-skip-ink: auto;
}

img, picture {
    max-width: 100%;
    display: block;
}

input, button, textarea, select {
    font: inherit;
}

@media (prefers-reduced-motion: reduce) {
    html:focus-within {
        scroll-behavior: auto;
    }
    *, *::before, *::after {
        -webkit-animation-duration: .01ms !important;
        animation-duration: .01ms !important;
        -webkit-animation-iteration-count: 1 !important;
        animation-iteration-count: 1 !important;
        -webkit-transition-duration: .01ms !important;
        transition-duration: .01ms !important;
        scroll-behavior: auto !important;
    }
}

html {
    font-size: 62.5%;
    line-height: 1.8;
    color: #595757;
}

img {
    margin: 0;
    padding: 0;
    vertical-align: bottom;
}

a:link img {
    -webkit-transition: 1s;
    transition: 1s;
}

a:hover img {
    filter: alpha(opacity=70);
    -moz-opacity: 0.7;
    opacity: 0.7;
}

a:focus {
    outline: 2px solid #c1c1c1;
    outline: 2px solid rgba(51, 51, 51, 0.3);
}

a:link {
    -webkit-transition: 1s;
    transition: 1s;
}

a:link,
a:visited,
a:active {
    color: unset;
    outline: 0;
    text-decoration: none;
}

a:hover {
    color: unset;
}

a img {
    border: 0;
}

::-moz-selection {
    background: #F0F0E1;
}

::selection {
    background: #F0F0E1;
}

::-moz-selection {
    background: #F0F0E1;
}

/* ---------- clearfix hack ---------- */
.clearfix:after {
    display: block;
    clear: both;
    height: 0px;
    line-height: 0px;
    visibility: hidden;
    content: ".";
    overflow: hidden;
    font-size: 0.1em;
    line-height: 0;
}

.clearfix {
    display: block;
    /* for IE8 */
}

.clear {
    clear: both;
}

/* ----------------------------------------------------------------------
 box
---------------------------------------------------------------------- */
.box10 {
    width: 10% !important;
}

.box20 {
    width: 20% !important;
}

.box30 {
    width: 30% !important;
}

.box40 {
    width: 40% !important;
}

.box50 {
    width: 50% !important;
}

.box60 {
    width: 60% !important;
}

.box70 {
    width: 70% !important;
}

.box80 {
    width: 80% !important;
}

.box90 {
    width: 90% !important;
}

.box100 {
    width: 100% !important;
}

/*************************************************************
font
*************************************************************/
.font10 {
    font-size: 10px;
}

.font11 {
    font-size: 11px;
}

.font12 {
    font-size: 12px;
}

.font13 {
    font-size: 13px;
}

.font14 {
    font-size: 14px;
}

.font15 {
    font-size: 15px;
}

.font16 {
    font-size: 16px;
}

.font17 {
    font-size: 17px;
}

.font18 {
    font-size: 18px;
}

.font19 {
    font-size: 19px;
}

.font20 {
    font-size: 20px;
}

/*************************************************************
margin
*************************************************************/
.m0 {
    margin: 0 !important;
}

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

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

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

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

.m5 {
    margin: 5px !important;
}

.mt5 {
    margin-top: 5px !important;
}

.mr5 {
    margin-right: 5px !important;
}

.mb5 {
    margin-bottom: 5px !important;
}

.ml5 {
    margin-left: 5px !important;
}

.m10 {
    margin: 10px !important;
}

.mt10 {
    margin-top: 10px !important;
}

.mr10 {
    margin-right: 10px !important;
}

.mb10 {
    margin-bottom: 10px !important;
}

.ml10 {
    margin-left: 10px !important;
}

.m15 {
    margin: 15px !important;
}

.mt15 {
    margin-top: 15px !important;
}

.mr15 {
    margin-right: 15px !important;
}

.mb15 {
    margin-bottom: 15px !important;
}

.ml15 {
    margin-left: 15px !important;
}

.m20 {
    margin: 20px !important;
}

.mt20 {
    margin-top: 20px !important;
}

.mr20 {
    margin-right: 20px !important;
}

.mb20 {
    margin-bottom: 20px !important;
}

.ml20 {
    margin-left: 20px !important;
}

.m25 {
    margin: 25px !important;
}

.mt25 {
    margin-top: 25px !important;
}

.mr25 {
    margin-right: 25px !important;
}

.mb25 {
    margin-bottom: 25px !important;
}

.ml25 {
    margin-left: 25px !important;
}

.m30 {
    margin: 30px !important;
}

.mt30 {
    margin-top: 30px !important;
}

.mr30 {
    margin-right: 30px !important;
}

.mb30 {
    margin-bottom: 30px !important;
}

.ml30 {
    margin-left: 30px !important;
}

.m35 {
    margin: 35px !important;
}

.mt35 {
    margin-top: 35px !important;
}

.mr35 {
    margin-right: 35px !important;
}

.mb35 {
    margin-bottom: 35px !important;
}

.ml35 {
    margin-left: 35px !important;
}

.m40 {
    margin: 40px !important;
}

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

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

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

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

.m45 {
    margin: 45px !important;
}

.mt45 {
    margin-top: 45px !important;
}

.mr45 {
    margin-right: 45px !important;
}

.mb45 {
    margin-bottom: 45px !important;
}

.ml45 {
    margin-left: 45px !important;
}

.m50 {
    margin: 50px !important;
}

.mt50 {
    margin-top: 50px !important;
}

.mr50 {
    margin-right: 50px !important;
}

.mb50 {
    margin-bottom: 50px !important;
}

.ml50 {
    margin-left: 50px !important;
}

.m55 {
    margin: 55px !important;
}

.mt55 {
    margin-top: 55px !important;
}

.mr55 {
    margin-right: 55px !important;
}

.mb55 {
    margin-bottom: 55px !important;
}

.ml55 {
    margin-left: 55px !important;
}

.m60 {
    margin: 60px !important;
}

.mt60 {
    margin-top: 60px !important;
}

.mr60 {
    margin-right: 60px !important;
}

.mb60 {
    margin-bottom: 60px !important;
}

.ml60 {
    margin-left: 60px !important;
}

.m65 {
    margin: 65px !important;
}

.mt65 {
    margin-top: 65px !important;
}

.mr65 {
    margin-right: 65px !important;
}

.mb65 {
    margin-bottom: 65px !important;
}

.ml65 {
    margin-left: 65px !important;
}

.m70 {
    margin: 70px !important;
}

.mr70 {
    margin-right: 70px !important;
}

.mb70 {
    margin-bottom: 70px !important;
}

.ml70 {
    margin-left: 70px !important;
}

.m75 {
    margin: 75px !important;
}

.mt75 {
    margin-top: 75px !important;
}

.mr75 {
    margin-right: 75px !important;
}

.mb75 {
    margin-bottom: 75px !important;
}

.ml75 {
    margin-left: 75px !important;
}

.m80 {
    margin: 80px !important;
}

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

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

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

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

.m90 {
    margin: 90px !important;
}

.mt90 {
    margin-top: 90px !important;
}

.mr90 {
    margin-right: 90px !important;
}

.mb90 {
    margin-bottom: 90px !important;
}

.ml90 {
    margin-left: 90px !important;
}

.m100 {
    margin: 10px !important;
}

.mt100 {
    margin-top: 100px !important;
}

.mr100 {
    margin-right: 100px !important;
}

.mb100 {
    margin-bottom: 100px !important;
}

.ml100 {
    margin-left: 100px !important;
}

.m110 {
    margin: 110px !important;
}

.mt110 {
    margin-top: 110px !important;
}

.mr110 {
    margin-right: 110px !important;
}

.mb110 {
    margin-bottom: 110px !important;
}

.ml110 {
    margin-left: 110px !important;
}

.m120 {
    margin: 120px !important;
}

.mt120 {
    margin-top: 120px !important;
}

.mr120 {
    margin-right: 120px !important;
}

.mb120 {
    margin-bottom: 120px !important;
}

.ml120 {
    margin-left: 120px !important;
}

/**************************************************************
padding
**************************************************************/
.p0 {
    padding: 0 !important;
}

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

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

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

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

.p5 {
    padding: 5px !important;
}

.pt5 {
    padding-top: 5px !important;
}

.pr5 {
    padding-right: 5px !important;
}

.pb5 {
    padding-bottom: 5px !important;
}

.pl5 {
    padding-left: 5px !important;
}

.p10 {
    padding: 10px !important;
}

.pt10 {
    padding-top: 10px !important;
}

.pr10 {
    padding-right: 10px !important;
}

.pb10 {
    padding-bottom: 10px !important;
}

.pl10 {
    padding-left: 10px !important;
}

.pt50 {
    padding-top: 50px !important;
}

.pt60 {
    padding-top: 60px !important;
}

/**************************************************************
 align
**************************************************************/
.al {
    text-align: left;
}

.ar {
    text-align: right;
}

.ac {
    text-align: center;
}

/**************************************************************
 pc sp
**************************************************************/
@media screen and (min-width: 641px) {
    .sp-only {
        display: none !important;
    }
}

@media screen and (max-width: 640px) {
    .pc-only {
        display: none !important;
    }
}

/*=============================================
 top
=============================================*/
#container {
    width: 100%;
    max-width: 1280px;
    margin: auto;
}

footer {
    padding: 20px 0;
    text-align: center;
}

.f-logo {
    margin-bottom: 40px;
    text-align: center;
}

.f-logo img {
    display: block;
    margin: auto;
}

.f-name {
    margin-bottom: 15px;
    font-size: 1.5rem;
    font-weight: 600;
    text-align: center;
}

.f-name img {
    margin: auto;
}

.f-address {
    margin-bottom: 20px;
    font-size: 1.4rem;
}

.f-address img {
    margin: auto;
}

.f-aurl {
    margin-bottom: 20px;
    font-size: 1.4rem;
}

.copy {
    font-size: 1.2rem;
    color: #386AAE;
}

.btn-link {
    position: fixed;
    top: 50%;
    right: 11.78%;
    z-index: 5;
}

@media screen and (max-width: 640px) {
    #container {
        width: 100%;
        max-width: 640px;
        margin: auto;
    }
    #container img {
        width: 100%;
        max-width: 100% !important;
        height: auto;
    }
    .btn-link {
        position: fixed;
        top: 0;
        right: 0;
        bottom: -85%;
        left: 0;
        width: 160px;
        height: 70px;
        margin: auto;
        z-index: 5;
    }
    footer {
        margin-bottom: 95px;
        padding: 20px 0;
        text-align: center;
    }
}
