@charset "utf-8";
/* 
	
CSS reset.css */





/*//////////////////


Reset


//////////////////*/

a,abbr,acronym,address,applet,article,aside,audio,b,big,blockquote,body,canvas,caption,center,cite,code,dd,del,details,dfn,div,dl,dt,em,embed,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,output,p,pre,q,ruby,s,samp,section,small,span,strike,strong,sub,summary,sup,table,tbody,td,tfoot,th,thead,time,tr,tt,u,ul,var,video { background: transparent; border: 0; font-style: normal; font-weight: 400; margin: 0; padding: 0; vertical-align: baseline; }
h1,h2,h3,h4,h5,h6 { font-size: 1em; }
article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section { display: block; }
html { font-size: 62.5%; overflow-y: scroll; }
blockquote,q { quotes: none; }
blockquote:after,blockquote:before,q:after,q:before { content: ''; content: none; }
caption,th { text-align: left; }
a:focus { outline: 0; }
ins { text-decoration: none; }
ins,mark { background-color: #ff9; color: #000; }
mark { font-style: italic; font-weight: 700; }
del { text-decoration: line-through; }
abbr[title],dfn[title] { border-bottom: 1px dotted #000; cursor: help; }
hr { border-top: 1px solid #ccc; display: block; height: 1px; margin: 1em 0; }
a,hr { border: 0; padding: 0; }
a { background: transparent; font-style: normal; font-weight: 400; margin: 0; vertical-align: baseline; }
img { font-size: 0; height: auto; line-height: 0; max-width: 100%; vertical-align: middle; }
sup { vertical-align: super; }
sub { vertical-align: sub; }
main { display: block; }










/*//////////////////


Form


//////////////////*/

input,textarea { margin: 0; padding: 0; }
button,input,select { vertical-align: middle; }
select { text-overflow: ""; }
button,input,select,textarea { border: 0; border-radius: 0; }
button,input,option,select,textarea { appearance: none; moz-appearance: none; webkit-appearance: none; }
button,input[type=checkbox],input[type=email],input[type=password],input[type=radio],input[type=tel],input[type=text],select,textarea { background: transparent; outline: 0; }
button,input[type=email],input[type=password],input[type=tel],input[type=text],select,textarea { box-sizing: border-box; moz-box-sizing: border-box; webkit-box-sizing: border-box; width: auto; }
button,input[type=button],input[type=reset],input[type=submit],label,select { cursor: pointer; }
input[type=email],input[type=password],input[type=tel],input[type=text] { vertical-align: middle; }
label { cursor: pointer; display: inline-block; position: relative; }
button::-ms-expand,select::-ms-expand { display: none; }
button,input[type=button],input[type=reset],input[type=submit] { appearance: button; webkit-appearance: button; webkit-box-sizing: content-box; }
button::-webkit-search-decoration,input[type="button"]::-webkit-search-decoration,input[type="reset"]::-webkit-search-decoration,input[type="submit"]::-webkit-search-decoration { display: none; }
button::focus,form input[type="button"]::focus,form input[type="reset"]::focus,form input[type="submit"]::focus { outline-offset: -2px; }
input::placeholder,textarea::placeholder { color: #ccc!important; }
input:-webkit-autofill{ box-shadow: 0 0 0px 1000px #eee inset; }










/*//////////////////


Init


//////////////////*/

body { letter-spacing: .001em; max-height: 999999px; overflow: hidden; text-align: justify; webkit-text-size-adjust: 100%; width: 100%; }
* html .clearfix,* html .section { height: 1px; }
strong, strong span { font-weight: bold!important; }
del { text-decoration: line-through!important; }
blockquote, q { background: transparent; border: 0; font-style: normal; font-weight: normal; margin: 0; padding: 0; quotes: none; vertical-align: baseline; }
li, ol, ul, dl, dt, dd { list-style: none; list-style-type: none; margin: 0; padding: 0; }










/*//////////////////


Share


//////////////////*/

/* align */
.tl { text-align: left!important; }
.tc { text-align: center!important; }
.tr { text-align: right!important; }
.tcspl { text-align: center; }
@media screen and (max-width:767px) {
	.tcspl { text-align: left; }
}

/* other */
.inb { display: inline-block; }
.palt { font-feature-settings: "palt"; letter-spacing: .18em; }
.bold,
.bold li,
.bold span { font-weight: bold!important; }
.normal,
.normal span { font-weight: normal!important; }
.underline { text-decoration: underline!important; }
.linethrough { text-decoration: line-through!important; }
a.tel { cursor: default; text-decoration: none; }
a.tel:hover { color: initial; }

/* border */
.bt0{ border-top:0!important; }
.bb0{ border-bottom:0!important; }
.br0{ border-right:0!important; }
.bl0{ border-left:0!important; }
.b0{ border:0!important; }

/* paddding・margin */
.pt0 { padding-top: 0px !important; }
.pb0 { padding-bottom: 0px !important; }
.pl0 { padding-left: 0px !important; }
.pr0 { padding-right: 0px !important; }
.mt0 { margin-top: 0px !important; }
.mb0 { margin-bottom: 0px !important; }
.ml0 { margin-left: 0px !important; }
.mr0 { margin-right: 0px !important; }
.pt10 { padding-top: 10px !important; }
.pb10 { padding-bottom: 10px !important; }
.pl10 { padding-left: 10px !important; }
.pr10 { padding-right: 10px !important; }
.mt10 { margin-top: 10px !important; }
.mb10 { margin-bottom: 10px !important; }
.ml10 { margin-left: 10px !important; }
.mr10 { margin-right: 10px !important; }
.pt15 { padding-top: 15px !important; }
.pb15 { padding-bottom: 15px !important; }
.pl15 { padding-left: 15px !important; }
.pr15 { padding-right: 15px !important; }
.mt15 { margin-top: 15px !important; }
.mb15 { margin-bottom: 15px !important; }
.ml15 { margin-left: 15px !important; }
.mr15 { margin-right: 15px !important; }
.pt20 { padding-top: 20px !important; }
.pb20 { padding-bottom: 20px !important; }
.pl20 { padding-left: 20px !important; }
.pr20 { padding-right: 20px !important; }
.mt20 { margin-top: 20px !important; }
.mb20 { margin-bottom: 20px !important; }
.ml20 { margin-left: 20px !important; }
.mr20 { margin-right: 20px !important; }
.pt30 { padding-top: 30px !important; }
.pb30 { padding-bottom: 30px !important; }
.pl30 { padding-left: 30px !important; }
.pr30 { padding-right: 30px !important; }
.mt30 { margin-top: 30px !important; }
.mb30 { margin-bottom: 30px !important; }
.ml30 { margin-left: 30px !important; }
.mr30 { margin-right: 30px !important; }
.pt40 { padding-top: 40px !important; }
.pb40 { padding-bottom: 40px !important; }
.pl40 { padding-left: 40px !important; }
.pr40 { padding-right: 40px !important; }
.mt40 { margin-top: 40px !important; }
.mb40 { margin-bottom: 40px !important; }
.ml40 { margin-left: 40px !important; }
.mr40 { margin-right: 40px !important; }
.pt50 { padding-top: 50px !important; }
.pb50 { padding-bottom: 50px !important; }
.pl50 { padding-left: 50px !important; }
.pr50 { padding-right: 50px !important; }
.mt50 { margin-top: 50px !important; }
.mb50 { margin-bottom: 50px !important; }
.ml50 { margin-left: 50px !important; }
.mr50 { margin-right: 50px !important; }
.pt60 { padding-top: 60px !important; }
.pb60 { padding-bottom: 60px !important; }
.pl60 { padding-left: 60px !important; }
.pr60 { padding-right: 60px !important; }
.mt60 { margin-top: 60px !important; }
.mb60 { margin-bottom: 60px !important; }
.ml60 { margin-left: 60px !important; }
.mr60 { margin-right: 60px !important; }
.pt70 { padding-top: 70px !important; }
.pb70 { padding-bottom: 70px !important; }
.pl70 { padding-left: 70px !important; }
.pr70 { padding-right: 70px !important; }
.mt70 { margin-top: 70px !important; }
.mb70 { margin-bottom: 70px !important; }
.ml70 { margin-left: 70px !important; }
.mr70 { margin-right: 70px !important; }
.pt80 { padding-top: 80px !important; }
.pb80 { padding-bottom: 80px !important; }
.pl80 { padding-left: 80px !important; }
.pr80 { padding-right: 80px !important; }
.mt80 { margin-top: 80px !important; }
.mb80 { margin-bottom: 80px !important; }
.ml80 { margin-left: 80px !important; }
.mr80 { margin-right: 80px !important; }
.pt90 { padding-top: 90px !important; }
.pb90 { padding-bottom: 90px !important; }
.pl90 { padding-left: 90px !important; }
.pr90 { padding-right: 90px !important; }
.mt90 { margin-top: 90px !important; }
.mb90 { margin-bottom: 90px !important; }
.ml90 { margin-left: 90px !important; }
.mr90 { margin-right: 90px !important; }
.pt100 { padding-top: 100px !important; }
.pb100 { padding-bottom: 100px !important; }
.pl100 { padding-left: 100px !important; }
.pr100 { padding-right: 100px !important; }
.mt100 { margin-top: 100px !important; }
.mb100 { margin-bottom: 100px !important; }
.ml100 { margin-left: 100px !important; }
.mr100 { margin-right: 100px !important; }

/* para */
.para-1 { margin-top: 10px!important; }
.para-2 { margin-top: 20px!important; }
.para-3 { margin-top: 30px!important; } @media screen and (max-width: 767px) { .para-3 { margin-top: 20px!important; } }
.para-4 { margin-top: 40px!important; } @media screen and (max-width: 767px) { .para-4 { margin-top: 30px!important; } }
.para-5 { margin-top: 50px!important; } @media screen and (max-width: 767px) { .para-5 { margin-top: 30px!important; } }
.para-6 { margin-top: 60px!important; } @media screen and (max-width: 767px) { .para-6 { margin-top: 40px!important; } }
.para-7 { margin-top: 70px!important; } @media screen and (max-width: 767px) { .para-7 { margin-top: 50px!important; } }
.para-8 { margin-top: 80px!important; } @media screen and (max-width: 767px) { .para-8 { margin-top: 50px!important; } }
.para-9 { margin-top: 90px!important; } @media screen and (max-width: 767px) { .para-9 { margin-top: 60px!important; } }
.para-10 { margin-top: 100px!important; } @media screen and (max-width: 767px) { .para-10 { margin-top: 60px!important; } }
.para-12 { margin-top: 120px!important; } @media screen and (max-width: 767px) { .para-12 { margin-top: 80px!important; } }
.para-14 { margin-top: 140px!important; } @media screen and (max-width: 767px) { .para-14 { margin-top: 80px!important; } }
.para-16 { margin-top: 160px!important; } @media screen and (max-width: 767px) { .para-16 { margin-top: 100px!important; } }
.para-18 { margin-top: 180px!important; } @media screen and (max-width: 767px) { .para-18 { margin-top: 100px!important; } }
.para-20 { margin-top: 200px!important; } @media screen and (max-width: 767px) { .para-20 { margin-top: 120px!important; } }
.para1 { margin-bottom: 10px!important; }
.para2 { margin-bottom: 20px!important; }
.para3 { margin-bottom: 30px!important; } @media screen and (max-width: 767px) { .para3 { margin-bottom: 20px!important; } }
.para4 { margin-bottom: 40px!important; } @media screen and (max-width: 767px) { .para4 { margin-bottom: 30px!important; } }
.para5 { margin-bottom: 50px!important; } @media screen and (max-width: 767px) { .para5 { margin-bottom: 30px!important; } }
.para6 { margin-bottom: 60px!important; } @media screen and (max-width: 767px) { .para6 { margin-bottom: 40px!important; } }
.para7 { margin-bottom: 70px!important; } @media screen and (max-width: 767px) { .para7 { margin-bottom: 50px!important; } }
.para8 { margin-bottom: 80px!important; } @media screen and (max-width: 767px) { .para8 { margin-bottom: 50px!important; } }
.para9 { margin-bottom: 90px!important; } @media screen and (max-width: 767px) { .para9 { margin-bottom: 60px!important; } }
.para10 { margin-bottom: 100px!important; } @media screen and (max-width: 767px) { .para10 { margin-bottom: 60px!important; } }
.para12 { margin-bottom: 120px!important; } @media screen and (max-width: 767px) { .para12 { margin-bottom: 80px!important; } }
.para14 { margin-bottom: 140px!important; } @media screen and (max-width: 767px) { .para14 { margin-bottom: 80px!important; } }
.para16 { margin-bottom: 160px!important; } @media screen and (max-width: 767px) { .para16 { margin-bottom: 100px!important; } }
.para18 { margin-bottom: 180px!important; } @media screen and (max-width: 767px) { .para18 { margin-bottom: 100px!important; } }
.para20 { margin-bottom: 200px!important; } @media screen and (max-width: 767px) { .para20 { margin-bottom: 120px!important; } }

/* 内側に余白 */
.pad5 { padding: 5px; }
.pad10 { padding: 10px; }
.pad20 { padding: 20px; }
.pad30 { padding: 30px; }
.pad40 { padding: 40px; }
.pad50 { padding: 50px; }
.pad60 { padding: 60px; }
.pad70 { padding: 70px; }
.pad80 { padding: 80px; }
.pad90 { padding: 90px; }
.pad100 { padding: 100px; }
.pad120 { padding: 120px; }
.pad140 { padding: 140px; }
.pad160 { padding: 160px; }
.pad180 { padding: 180px; }
.pad200 { padding: 200px; }
.pad4 { padding: 4%; }
.pad6 { padding: 6%; }
.pad8 { padding: 8%; }
@media screen and (max-width: 767px){
	.pad20 { padding: 4%; }
	.pad30 { padding: 6%; }
	.pad40, .pad50, .pad60 { padding: 8%; }
	.pad70, .pad80, .pad90, .pad100 { padding: 12%; }
	.pad120, .pad140, .pad160, .pad180, .pad200 { padding: 16%; }
}

/* 高さ指定ボックス（画像ボックスなどで使用） */
.h100 { height: 300px; }
.h200 { height: 300px; }
.h300 { height: 300px; }
.h400 { height: 400px; }
.h500 { height: 500px; }
.h600 { height: 600px; }
.h700 { height: 700px; }
.h800 { height: 800px; }
.h900 { height: 900px; }
.h1000 { height: 1000px; }
@media screen and (max-width: 1280px){
	.h100, .h200, .h300, .h400, .h500, .h600, .h700, .h800, .h900, .h1000 { height: auto; }
}

/* 画像幅の設定（imgflexboxなどで使用） */
.w-10 { width: 10%; }
.w-20 { width: 20%; }
.w-30 { width: 30%; }
.w-40 { width: 40%; }
.w-45 { width: 45%; }
.w-50 { width: 50%; }
.w-55 { width: 55%; }
.w-60 { width: 60%; }
.w-70 { width: 70%; }
.w-80 { width: 80%; }
.w-90 { width: 90%; }

/* 画像最大幅の設定 */
img.max200 { max-width: 200px; }
img.max300 { max-width: 300px; }
img.max400 { max-width: 400px; }
img.max450 { max-width: 450px; }
img.max500 { max-width: 500px; }
img.max600 { max-width: 600px; }
img.max700 { max-width: 700px; }
@media screen and (max-width: 767px) { 
	img.max200, img.max300, img.max400, img.max450, img.max500, img.max600, img.max700 { display: block; margin-left: auto; margin-right: auto;  }
}

/* 上下内側に余白 */
.ud0 { padding-top: 0px!important; padding-bottom: 0px!important; }
.ud5 { padding-top: 5px!important; padding-bottom: 5px!important; }
.ud10 { padding-top: 10px!important; padding-bottom: 10px!important; }
.ud20 { padding-top: 20px!important; padding-bottom: 20px!important; }
.ud30 { padding-top: 30px!important; padding-bottom: 30px!important; }
.ud40 { padding-top: 40px!important; padding-bottom: 40px!important; }
.ud60 { padding-top: 60px!important; padding-bottom: 60px!important; }
.ud80 { padding-top: 80px!important; padding-bottom: 80px!important; }
.ud100 { padding-top: 100px!important; padding-bottom: 100px!important; }
.ud120 { padding-top: 120px!important; padding-bottom: 120px!important; }
.ud140 { padding-top: 140px!important; padding-bottom: 140px!important; }
.ud160 { padding-top: 160px!important; padding-bottom: 160px!important; }
.ud180 { padding-top: 180px!important; padding-bottom: 180px!important; }
.ud200 { padding-top: 200px!important; padding-bottom: 200px!important; }
@media screen and (max-width: 767px){
	.ud20, .ud30 { padding-top: 20px!important; padding-bottom: 20px!important; }
	.ud40, .ud60 { padding-top: 40px!important; padding-bottom: 40px!important; }
	.ud80, .ud100 { padding-top: 60px!important; padding-bottom: 60px!important; }
	.ud120, .ud140 { padding-top: 80px!important; padding-bottom: 80px!important; }
	.ud160, .ud180, .ud200 { padding-top: 100px!important; padding-bottom: 100px!important; }
}

/* 表示非表示切り替え　*/
.thide { display: block; }
.thide.inb { display: inline-block; }
.thide.inl { display: inline; }
.tblock { display: none; }
@media screen and (max-width:1100px) {
	.thide { display: none!important; }
	.tblock { display: block; }
	.tblock.inb { display: inline-block; }
	.tblock.inl { display: inline; }
}
.mhide { display: block; }
.mhide.inb { display: inline-block; }
.mhide.inl { display: inline; }
.mblock { display: none; }
@media screen and (max-width:767px) {
	.mhide { display: none!important; }
	.mblock { display: block; }
	.mblock.inb { display: inline-block; }
	.mblock.inl { display: inline; }
}
.lhide { display: block; }
.lhide.inb { display: inline-block; }
.lhide.inl { display: inline; }
.lblock { display: none; }
@media screen and (max-width:639px) {
	.lhide { display: none!important; }
	.lblock { display: block; }
	.lblock.inb { display: inline-block; }
	.lblock.inl { display: inline; }
}
.shide { display: block; }
.shide.inb { display: inline-block; }
.shide.inl { display: inline; }
.sblock { display: none; }
@media screen and (max-width:500px) {
	.shide { display: none!important; }
	.sblock { display: block; }
	.sblock.inb { display: inline-block; }
	.sblock.inl { display: inline; }
}
.phide { display: block; }
.phide.inb { display: inline-block; }
.phide.inl { display: inline; }
.pblock { display: none; }
@media screen and (max-width:400px) {
	.phide { display: none!important; }
	.pblock { display: block; }
	.pblock.inb { display: inline-block; }
	.pblock.inl { display: inline; }
}