@charset "UTF-8";
/* -------------------------------------------

reset

------------------------------------------- */
html {
    scroll-behavior: smooth;
}

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

a, hr {
    padding:0
}

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

ins, mark {
    background-color: #ff9;
    color:#000
}

nav ul, ol li, ul li {
    list-style:none
}

blockquote, q {
    quotes:none
}

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

a {
    margin: 0;
    font-size: 100%;
    vertical-align: baseline;
    background:0 0
}

ins {
    text-decoration:none
}

mark {
    font-style: italic;
    font-weight:700
}

del {
    text-decoration:line-through
}

abbr[title], dfn[title] {
    border-bottom: 1px dotted;
    cursor:help
}

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

hr {
    height: 1px;
    border: 0;
    border-top: 1px solid #ccc;
    margin:1em 0
}

input, select {
    vertical-align:middle
}

iframe, img {
    vertical-align:bottom
}

* {
    box-sizing: border-box;
}

img {
    width: 100%;
    height: auto;
}

address, i {
    font-style: normal;
}

#google_translate img {
    width: auto;
    height: auto;
}

video {
	vertical-align: bottom;
}

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

p {
    line-height: 2;
}



/* -------------------------------------------

font-size

------------------------------------------- */
html {
    font-size: 0.833vw;
}
@media screen and (max-width: 768px) {
    html {
        font-size: 1.303vw;
    }	
}
@media screen and (max-width: 540px) {
    html {
        font-size: 1.851vw;
    }	
}
@media screen and (max-width: 414px) {
    html {
        font-size: 2.415vw;
    }	
}
/* 
@media screen and (min-width: 1401px) {
    html {
		font-size: 0.714vw;
    }	
@media screen and (min-width: 1601px) {
    html {
        font-size: 0.625vw;
    }	
} */



/* -------------------------------------------

link

------------------------------------------- */
a {
	text-decoration: none;
    transition: 0.3s ease-in-out; 
}
a.line {
	text-decoration: underline;
}
a:hover.line {
	text-decoration: none;
}
a:hover {
    opacity: 0.5;
} 
@media screen and (min-width: 769px) {
    a[href^="tel:"] {
        pointer-events: none;
    }
}
@media screen and (max-width: 768px) {
    a[href^="tel:"] {
        text-decoration: underline;
    }
}