@charset "UTF-8";

/* web fonts */
@import url('https://fonts.googleapis.com/css2?family=Jost:wght@400;500;600&family=Noto+Sans+JP:wght@300;400;500;700&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans&display=swap');

/*--------------------------------------------------------------
	reset
---------------------------------------------------------------*/
html, body, div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, address, cite, code,
del, dfn, em, img, ins, kbd, q, samp,
small, strong, sub, sup, var,
b, i,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, figcaption, figure,
footer, header, hgroup, menu, nav, section, summary,
time, mark, audio, video, input, button {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  vertical-align: baseline;
  background: transparent;
}
html{
}
sup {
  vertical-align: super;
}
sub {
  vertical-align: baseline;
}

article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
  display: block;
}

ul, ol {
  list-style: none;
}

blockquote, q {
  quotes: none;
}

blockquote:before, blockquote:after,
q:before, q:after {
  content: '';
  content: none;
}

a {
  margin: 0;
  padding: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
  color: inherit;
  text-decoration: none;
  display: block;
  box-sizing: border-box;
}

img {
  vertical-align: bottom;
  border: none;
  max-width: 100%;
}

del {
  text-decoration: line-through;
}

abbr[title], dfn[title] {
  border-bottom: 1px dotted;
  cursor: help;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

/* change border colour to suit your needs */
hr {
  display: block;
  height: 1px;
  border: 0;
  border-top: 1px solid #cccccc;
  margin: 1em 0;
  padding: 0;
}

input, select {
  vertical-align: middle;
  font-size: 14px;
}
p{
	margin-bottom: 1em;
}

/*--------------------------------------------------------------
	body
---------------------------------------------------------------*/
html {
	height: -webkit-fill-available;
}
body{
	position: relative;
	color: #000;
	font: normal 14px/2 'Noto Sans JP', sans-serif;
	font-feature-settings: "pwid";
	line-height: 2.0;
	background: #fff;
	text-align: left;
	word-break: break-word;
	min-height: 100vh;
	min-height: -webkit-fill-available;
	font-family: 'Noto Sans', sans-serif;
}
main{
	-webkit-font-smoothing: antialiased;
    /*background: rgba(0,0,0,0.05);*/
    /*border: 5px dashed #0f0;*/
}
img{
	box-sizing:border-box;
	max-width:100%;
	height:auto;
}
img.full{width:100%;}

/* link -----------------------------------------*/
a { text-decoration: none; overflow: hidden; /*　firefox用　枠線対処*/ color: #333; transition: all 300ms 0s ease; }
a:hover { text-decoration: underline; }

/* clearfix -------------------------------------*/
.clearfix:after {
	content: ".";
	display: block;
	height: 0;
	clear: both;
	visibility: hidden;
}
.clearfix { /* For Mac IE5 \*//*/
    width: 100%;
    /* End for Mac IE5 */ 
	display: inline-block;
	/* Hide for Mac IE5 \*/ 
	clear: both;
	height: 1%;
	min-height: 1%;
	overflow: visible;
	/* End Hide for Mac IE5 */
}
.clearfix {/* for Safari Opera */ /* Hide for Mac IE5 \*/ display: block;/* End Hide for Mac IE5 */ }
.clear {
	clear: both !important;
}

/* 表示させないテキスト */
.forReader { position: absolute; top: -100000px; }

/* 改行なし*/
.noWrap { white-space: nowrap !important; }


/* 回り込み ----------------------------------------------------------*/
.section { display: block; }
.floatL { float: left !important; }
.floatR { float: right !important; }
.flex{display:flex;}
#all { width: 901px; margin: 0 auto 0 auto; }

/* 幅 */
.w10{width:10% !important;}
.w20{width:20% !important;}
.w30{width:40% !important;}
.w40{width:40% !important;}
.w50{width:50% !important;}
.w60{width:60% !important;}
.w70{width:70% !important;}
.w80{width:80% !important;}
.w90{width:90% !important;}
.w100{width:100% !important;}

/* テキスト寄せ*/
.alignL { text-align: left !important; }
.alignR { text-align: right !important; }
.alignC { text-align: center !important; }

/* テキストサイズ*/
.sizeS{font-size:86% !important;}
.sizeM{font-size:110% !important;}
.sizeL{font-size:135% !important;}

/* テキストウェイト*/
.bold{
	font-weight: bold;
}

/* 打ち消し線 */
.line-through{text-decoration:line-through;}


/* block Layout
-------------------------------------------------------------*/
/*.dsp-none,
.pc-dsp-block,
.tb-dsp-block,
.sp-dsp-block,
.spP-dsp-block,
.spS-dsp-block{display:none;}
.pc-dsp-none,
.tb-dsp-none,
.sp-dsp-none,
.spP-dsp-none,
.spS-dsp-none,
.sp-dsp-inline{}
.dsp-block{display:block;}
.dsp-inlineBlock{display:inline-block;}
.dsp-table{display:table;}
.dsp-table>*{
	display:table-cell;
	vertical-align:top;
}*/
.dsp-none,
.pc-dsp-none,
.tb-dsp-none,
.sp-dsp-block,
.spP-dsp-block,
.spS-dsp-block{display:none;}

.dsp-block,
.pc-dsp-block,
.tb-dsp-block,
.sp-dsp-none,
.spP-dsp-none,
.spS-dsp-none{display:block;}

.sp-dsp-inline{}
.dsp-inlineBlock{display:inline-block;}
.dsp-table{display:table;}
.dsp-table>*{
	display:table-cell;
	vertical-align:top;
}
@media screen and (max-width: 1023px) {
	.pc-dsp-none,
	.tb-dsp-none,
	.sp-dsp-block,
	.spP-dsp-block,
	.spS-dsp-block{display:block;}

	.pc-dsp-block,
	.tb-dsp-block,
	.sp-dsp-none,
	.spP-dsp-none,
	.spS-dsp-none{display: none;}
}

/* margin padding */
.mT00{margin-top:0 !important;}
.mT05{margin-top:5px !important;}
.mT10{margin-top:10px !important;}
.mT15{margin-top:15px !important;}
.mT20{margin-top:20px !important;}
.mT25{margin-top:25px !important;}
.mT30{margin-top:30px !important;}
.mT35{margin-top:35px !important;}
.mT40{margin-top:40px !important;}
.mT50{margin-top:50px !important;}
.mT60{margin-top:60px !important;}
.mT70{margin-top:70px !important;}
.mT80{margin-top:80px !important;}
.mT90{margin-top:90px !important;}
.mT100{margin-top:100px !important;}
.mT-10{margin-top:-10px !important;}

.mR00{margin-right:0 !important;}
.mR05{margin-right:5px !important;}
.mR10{margin-right:10px !important;}
.mR15{margin-right:15px !important;}
.mR20{margin-right:20px !important;}
.mR25{margin-right:25px !important;}
.mR30{margin-right:30px !important;}
.mR35{margin-right:35px !important;}
.mR40{margin-right:40px !important;}
.mR50{margin-right:50px !important;}

.mB00{margin-bottom:0 !important;}
.mB05{margin-bottom:5px !important;}
.mB10{margin-bottom:10px !important;}
.mB15{margin-bottom:15px !important;}
.mB20{margin-bottom:20px !important;}
.mB25{margin-bottom:25px !important;}
.mB30{margin-bottom:30px !important;}
.mB35{margin-bottom:35px !important;}
.mB40{margin-bottom:40px !important;}
.mB50{margin-bottom:50px !important;}
.mB60{margin-bottom:60px !important;}
.mB70{margin-bottom:70px !important;}
.mB80{margin-bottom:80px !important;}
.mB90{margin-bottom:90px !important;}
.mB100{margin-bottom:100px !important;}

.mL00{margin-left:0 !important;}
.mL05{margin-left:10px !important;}
.mL10{margin-left:10px !important;}
.mL15{margin-left:15px !important;}
.mL20{margin-left:20px !important;}
.mL25{margin-left:25px !important;}
.mL30{margin-left:30px !important;}
.mL35{margin-left:35px !important;}
.mL40{margin-left:40px !important;}
.mL50{margin-left:50px !important;}

.pT00{padding-top:0 !important;}
.pT05{padding-top:5px !important;}
.pT10{padding-top:10px !important;}
.pT15{padding-top:15px !important;}
.pT20{padding-top:20px !important;}
.pT25{padding-top:25px !important;}
.pT30{padding-top:30px !important;}
.pT35{padding-top:35px !important;}
.pT40{padding-top:40px !important;}
.pT50{padding-top:50px !important;}

.pR00{padding-right:0 !important;}
.pR05{padding-right:10px !important;}
.pR10{padding-right:10px !important;}
.pR15{padding-right:15px !important;}
.pR20{padding-right:20px !important;}
.pR25{padding-right:25px !important;}
.pR30{padding-right:30px !important;}
.pR35{padding-right:35px !important;}
.pR40{padding-right:40px !important;}
.pR50{padding-right:50px !important;}

.pB00 {padding-bottom:0 !important;}
.pB05{padding-bottom:5px !important;}
.pB10{padding-bottom:10px !important;}
.pB15{padding-bottom:15px !important;}
.pB20{padding-bottom:20px !important;}
.pB25{padding-bottom:25px !important;}
.pB30{padding-bottom:30px !important;}
.pB35{padding-bottom:35px !important;}
.pB40{padding-bottom:40px !important;}
.pB50{padding-bottom:50px !important;}

.pL0{padding-left:0 !important;}
.pL05{padding-left:5px !important;}
.pL10{padding-left:10px !important;}
.pL15{padding-left:15px !important;}
.pL20{padding-left:20px !important;}
.pL25{padding-left:25px !important;}
.pL30{padding-left:30px !important;}
.pL35{padding-left:35px !important;}
.pL40{padding-left:40px !important;}
.pL50{padding-left:50px !important;}

.sp-mT0,
.sp-mT10,
.sp-mT15,
.sp-mT20,
.sp-mT30,
.sp-mT40,
.sp-mT50,
.sp-mT60,
.sp-pR0,
.sp-pL0{}


/*---------------------------------------------
	main
---------------------------------------------*/
main .container{
	position: relative;
	top: -70px;
	width: auto;
	padding: 100px 10%;
}
main>.container:first-of-type {
    padding: 0 10%;
}
main>.container:first-of-type .contents-wrap {
    background: #fff;
    box-shadow: 0px 0px 20px 0px rgba(0,0,0,0.15);
}
main .container .contents-wrap{
	max-width: inherit;
	margin: 0 auto;
}
main .container .contents-wrap .contents{
	width: 100%;
	margin: 0 auto;
}
main .container .contents-wrap .contents:not(:first-of-type) {
    margin: 100px auto 0 auto;
}
main .container .contents-wrap .contents.type01{width: 100%;}
main .container .contents-wrap .contents.type02{width: 75%;}
main .container .contents-wrap .contents.type03{width: 90%;}



main .container:first-of-type .contents-wrap .contents{
	width: 100%;
    margin: 0 auto;
}

/*@media screen and (min-width: 1500px) {
	main .container .contents-wrap{
		max-width: 1200px;
	}
}*/
@media screen and (max-width: 1023px) {
    main .container{
		top: -35px;
        padding: 50px 5%;
    }
	main .container .contents-wrap{
		max-width: inherit;
	}
	main .container .contents-wrap .contents{
		width: 100% !important;
		margin: 0 auto 80px;
	}
    main .container .contents-wrap .contents:last-of-type {
        margin-bottom: 0;
    }

}

