@charset "utf-8";


/* reset 2018.11
-------------------------------------------------------*/
/* 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;
font-size: 100%;
font: inherit;
vertical-align: baseline;
}
/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure,
footer, header, hgroup, main, menu, nav, section, small {
display: block;
}
body {
font-family: 'Noto Sans JP','Noto Sans KR', sans-serif;
font-size: 16px;
font-weight: 400;
line-height: 1;
color: #333;
background: #fff;
height: 100%;
-webkit-text-size-adjust: none;
-webkit-overflow-scrolling: touch;/*iOS滑らかスクロール*/
}
a {
color: #333;
text-decoration: none;
transition: .3s;
cursor: pointer;
}
a:hover {
opacity: 0.7;
}
b {
font-weight: bold;
}
img {
width: 100%;
vertical-align: bottom;
}
ol, ul {
list-style: none;
}
blockquote, q {
quotes: none;
}
blockquote:before, blockquote:after,
q:before, q:after {
content: '';
content: none;
}
table {
border-collapse: collapse;
border-spacing: 0;
}
input,select,textarea {
outline: none;
font-family: 'Noto Sans JP','Noto Sans KR', sans-serif;
}
input[type="text"],input[type="password"],input[type="email"],input[type="tel"],textarea,select {
margin: 0;
padding: 10px;
box-sizing: border-box;
line-height: 1;
border: 1px solid #ccc;
}
input[type="checkbox"],input[type="radio"] {
margin-top: 5px;
}
input[type="submit"] {
cursor: pointer;
}
input[type="image"],input[type="button"],input[type="checkbox"],label {
cursor: pointer;
}
input[type="submit"],input[type="button"],input[type="image"] {
transition: .2s;
}
input[type="submit"]:hover,input[type="button"]:hover,input[type="image"]:hover {
opacity: 0.7;
}
input[type="text"]:focus,select:focus {
outline: 0;
}
@media screen and (max-width: 768px) {
body {
font-size: 90%;
}
a:hover {
opacity: 1;
}
input[type="checkbox"],input[type="radio"] {
margin-top: 2px;
}
/* iOS reset */
input[type="submit"],
input[type="button"] {
border-radius: 0;
-webkit-box-sizing: content-box;
-webkit-appearance: button;
appearance: button;
border: none;
box-sizing: border-box;
cursor: pointer;
}
input[type="submit"]::-webkit-search-decoration,
input[type="button"]::-webkit-search-decoration {
display: none;
}
input[type="submit"]::focus,
input[type="button"]::focus {
outline-offset: -2px;
}
input[type="text"],
input[type="button"],
input[type="email"],
input[type="submit"],
textarea {
border-radius: 0;
-webkit-appearance: none;
-moz-appearance: none;
appearance: none;
}
input[type="text"]::-webkit-input-placeholder {
padding-top: 0.2em;
}
select {
-webkit-appearance: none;
-moz-appearance: none;
appearance: none;
}/* iOS reset end */
}


/* page_top
-------------------------------------------------------*/
#page_top {
position: fixed;
right: 10px;
bottom: 100px;
width: 60px;
height: 60px;
cursor: pointer;
background: #005BB6;
border: 1px solid #fff;
border-radius: 5px;
z-index: 9;
display: flex;
justify-content: center;
align-items: flex-end;
}
#page_top>span {
font-size: 60%;
color: #fff;
text-align: center;
position: relative;
bottom: 10px;
line-height: 1;
}
#page_top::before,
#page_top::after {
content: "";
width: 0;
height: 0;
position: absolute;
left: 50%;
transform : translate(-50%,-50%);
border: 15px solid transparent;
border-bottom: 15px solid #fff;
}
#page_top::before {
top: 21%;
animation: pagetop 1s ease infinite normal;
}
@keyframes pagetop {
0% {
top: 21%;
}
25% {
top: 19%;
}
50% {
top: 17%;
}
75% {
top: 19%;
}
100% {
top: 21%;
}
}
#page_top::after {
top: 25%;
border-bottom-color: #005BB6;
}
@media screen and (max-width:768px){
#page_top {
width: 40px;
height: 55px;
bottom: 155px;
}
#page_top::before,
#page_top::after {
border-width: 10px;
border-bottom-width: 10px;
}
#page_top::after {
border-bottom-width: 10px;
}
#page_top>span {
font-size: 70%;
}
}

.spTop5 { margin: 5px 0 0 0; }
.spTop10 { margin: 10px 0 0 0; }
.spTop20 { margin: 20px 0 0 0; }
.spTop30 { margin: 30px 0 0 0; }
.spTop60 { padding: 60px 0 0 0; }
.spBtm10 { padding: 0 0 10px 0; }
.spBtm1em { padding: 0 0 1em 0; }
.spBtm30 { padding: 0 0 30px 0; }
.spBtm60 { padding: 0 0 60px 0; }
.spTopBtm5 { padding: .5em 0; }
.spTopBtm30 { padding: 30px 0; }
.spTopBtm60 { padding: 60px 0; }
.spTop30Btm60 { padding: 30px 0 60px 0; }
.spTop60Btm170 { padding: 60px 0 170px 0; }

.textRed { color: #c60000; }
.textWhite { color: #fff; }
.textPink { color: #ef4e7c; }

.textCenter { text-align: center; }
.textCenterTo { text-align: center; }
.textLeft { text-align: left; }
.textRight { text-align: right; }
.textBold { font-weight: bold; }

.width15 { width: 15%; }
.width85 { width: 85%; }

.font12 { font-size: 12px; }
.font14 { font-size: 14px; }
.font18 { font-size: 18px; }
.font20 { font-size: 20px; }
.font24 { font-size: 20px; }

@media all and (min-width: 641px) and (max-width: 767px) {
	.spTop20 { margin: 1em 0 0 0; }
	.spTop30 { margin: 2em 0 0 0; }
	.spTop60 { padding: 2em 0 0 0; }
	.spBtm30 { padding: 0 0 1em 0; }
	.spBtm60 { padding: 0 0 2em 0; }
	.spTopBtm30 { padding: 2em 0; }
	.spTopBtm60 { padding: 2em 0; }
	.spTop60Btm170 { padding: 2em 0 6em 0; }
}

@media all and (max-width: 640px) {
	.spTop20 { margin: 1em 0 0 0; }
	.spTop30 { margin: 1.5em 0 0 0; }
	.spTop60 { padding: 1.5em 0 0 0; }
	.spBtm30 { padding: 0 0 1em 0; }
	.spBtm60 { padding: 0 0 1.5em 0; }
	.spTopBtm30 { padding: 1em 0; }
	.spTopBtm60 { padding: 1.5em 0; }
	.spTop60Btm170 { padding:1.5em 0 5em 0; }
}

@media all and (max-width: 767px) {
	.spCenter { text-align: center; }
	.textCenterTo { text-align: left; }
	.font20 { font-size: 16px; }
	.font24 { font-size: 18px; }
	.spTop30Btm60 { padding: 1em 0 1.5em 0; }
	.footerLink { text-align: center; }
}