@charset "UTF-8";

/* http://meyerweb.com/eric/tools/css/reset/ 
v2.0 | 20110126
License: none (public domain)
*/
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, 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,
article, aside, canvas, details, embed, 
figure, figcaption, footer, header, hgroup, 
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
margin: 0; padding: 0; border: 0;
}
/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure, 
footer, header, hgroup, menu, nav, section {
display: block;
}
/* css reset end */

/************************************************************/
/*   :root   */
/************************************************************/
:root {
    /* フォントサイズ */
    --font10: 10px;
    --font11: 11px;
    --font12: 12px;
    --font13: 13px;
    --font14: 14px;
    --font15: 15px;
    --font16: 16px;
    --font17: 17px;
    --font18: 18px;
    --font19: 19px;
    --font20: 20px;
    --font21: 21px;
    --font22: 22px;
    --font23: 23px;
    --font24: 24px;
    --font25: 25px;
    --font26: 26px;
    --font27: 27px;
    --font28: 28px;
    --font29: 29px;
    --font30: 30px;
    --font31: 31px;
    --font32: 32px;
    --font33: 33px;
    --font34: 34px;
    --font35: 35px;
    --font36: 36px;
    --font37: 37px;
    --font38: 38px;
    --font39: 39px;
    --font40: 40px;
    --font41: 41px;
    --font42: 42px;
    --font43: 43px;
    --font44: 44px;
    --font45: 45px;
    --font46: 46px;
    --font47: 47px;
    --font48: 48px;
    --font49: 49px;
    --font50: 50px;
    --font60: 60px;
}
@media screen and (min-width:768px) and ( max-width:1119px) { /*TB*/
    :root {
        /* フォントサイズ */
        --font10: 0.94vw;
        --font11: 1.04vw;
        --font12: 1.13vw;
        --font13: 1.23vw;
        --font14: 1.32vw;
        --font15: 1.42vw;
        --font16: 1.51vw;
        --font17: 1.60vw;
        --font18: 1.70vw;
        --font19: 1.79vw;
        --font20: 1.89vw;
        --font21: 1.98vw;
        --font22: 2.08vw;
        --font23: 2.17vw;
        --font24: 2.26vw;
        --font25: 2.36vw;
        --font26: 2.45vw;
        --font27: 2.55vw;
        --font28: 2.64vw;
        --font29: 2.74vw;
        --font30: 2.83vw;
        --font31: 2.92vw;
        --font32: 3.02vw;
        --font33: 3.11vw;
        --font34: 3.21vw;
        --font35: 3.30vw;
        --font36: 3.40vw;
        --font37: 3.49vw;
        --font38: 3.58vw;
        --font39: 3.68vw;
        --font40: 3.77vw;
        --font41: 3.87vw;
        --font42: 3.96vw;
        --font43: 4.06vw;
        --font44: 4.15vw;
        --font45: 4.25vw;
        --font46: 4.34vw;
        --font47: 4.43vw;
        --font48: 4.53vw;
        --font49: 4.62vw;
        --font50: 4.72vw;
        --font60: 5.66vw;
    }
}

/************************************************************/
/*   setting   */
/************************************************************/
*{
	box-sizing: border-box;
	-webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    -ms-box-sizing: border-box;
	word-wrap: break-word;
	-webkit-font-smoothing: antialiased;
}
body {
    font-family: "Noto Serif JP", serif;
    font-optical-sizing: auto;
    font-weight: 400;
    font-style: normal;
    color: #000;
    background-color: #ffffff;
}
@media screen and (max-width:767px) { /*SP*/
    body{
        font-size: var(--font15);
        line-height: 1.6;
    }
}
@media screen and (min-width:768px) , print { /*PC&TB*/
    body{
        font-size: var(--font19);
        line-height:  2.0;
    }
}

img {
    width: 100%;
    vertical-align: bottom;
    -webkit-backface-visibility: hidden;
}

/*------------------------------------------------*/
html,body{background-color: #fff!important;}
@media print { body{width: 100%!important;}}
/********** Protected **********/
.forPrint {display: none;}
.Protected {
	touch-callout:none;
	user-select:none;
	-webkit-touch-callout:none;
	-webkit-user-select:none;
	-moz-touch-callout:none;
	-moz-user-select:none;
}
@media print {
	.Protected {display: none;}
	.forPrint {display: block;}
	.ClearFix:after {content: ".";height: 1px;overflow: hidden;visibility: hidden;}
}

/********** A **********/
@media screen and (max-width:767px) { /*SP*/
    a {
        color: var(--green01);
        text-decoration: underline;
    }
    button{
        color: var(--green01);
        background-color: transparent;
        border: none;
        padding: 0; margin: 0;
    }
}
@media screen and (min-width:768px) , print { /*PC&TB*/
    a[href^="tel:"] {
        pointer-events: none;
    }
    a {
        color: var(--green01);
        text-decoration: underline;
        transition: 0.3s ease;
    }
    a:hover{
        opacity: 0.6;
    }
    button{
        color: var(--green01);
        background-color: transparent;
        border: none;
        padding: 0; margin: 0;
        transition: 0.3s ease;
    }
    button:hover{
        cursor: pointer;
    }
}

/********** BR **********/
@media screen and (max-width:767px) { /*SP*/
    .spNone{display: none;}
    .pcNone{display: inline;}
}
@media screen and (min-width:768px) , print { /*PC&TB*/
    .spNone{display: inline;}
    .pcNone{display: none;}
}

/********** GRID **********/
.windowWidth{
    width: 100%;
    display: flex;
    flex-wrap: nowrap;
    flex-direction: column;
    align-items: center;
}

@media screen and (max-width:767px) { /*SP*/
    .contentsWidth{
        width: calc(100% - 30px);
        display: flex;
        flex-wrap: nowrap;
        flex-direction: column;
        align-items: center;
    }
}
@media screen and (min-width:768px) and ( max-width:1119px) { /*TB*/
    .contentsWidth{
        /* width: 1060px; */
        width: 94.64vw;
        display: flex;
        flex-wrap: nowrap;
        flex-direction: column;
        align-items: center;
    }
}
@media screen and (min-width:1120px) , print { /*PC*/
    .contentsWidth{
        width: 1060px;
        display: flex;
        flex-wrap: nowrap;
        flex-direction: column;
        align-items: center;
    }
}