@charset "utf-8";
/* ==================================================
		
		ページ全般の共通 PC・SP

================================================== */

/* --------------------------------------------------
		scroll-anim
-------------------------------------------------- */
.delighter {
 transition-property: opacity, transform;
 transition-duration: 2s;
 transition-timing-function: cubic-bezier(0.65, 0, 0.35, 1), cubic-bezier(0.25, 1, 0.5, 1);
 transform: translateY(80px);
 opacity: 0;
}
.delighter.started {
 opacity: 1;
 transform: translate3d(0,0,0);
 filter: blur(0px);
}

/* --------------------------------------------------
		body
-------------------------------------------------- */
body {
 font-family: 'Noto Sans JP', sans-serif;
}

@font-face {
	font-family: 'Noto Sans JP';
	font-style: normal;
	font-weight: 100;
	src: url('../fonts/NotoSansJP-Thin.woff') format('woff'), 
      url('../fonts/NotoSansJP-Thin.otf') format('opentype');
}
@font-face {
	font-family: 'Noto Sans JP';
	font-style: normal;
	font-weight: 300;
	src: url('../fonts/NotoSansJP-Light.woff') format('woff'), 
      url('../fonts/NotoSansJP-Light.otf') format('opentype');
}
@font-face {
	font-family: 'Noto Sans JP';
	font-style: normal;
	font-weight: 400;
	src: url('../fonts/NotoSansJP-Regular.woff') format('woff'), 
      url('../fonts/NotoSansJP-Regular.otf') format('opentype');
}
@font-face {
	font-family: 'Noto Sans JP';
	font-style: normal;
	font-weight: 500;
	src: url('../fonts/NotoSansJP-Medium.woff') format('woff'), 
      url('../fonts/NotoSansJP-Medium.otf') format('opentype');
}

/* --------------------------------------------------
		.clearfix
-------------------------------------------------- */
.clearfix:after {
	height: 0;
	clear: both;
	visibility: hidden;
	display: block;
	content: ".";
}

/* --------------------------------------------------
		link
-------------------------------------------------- */
.ldeco01 a:link, 
.ldeco01 a:visited,
.ldeco06 a:link, 
.ldeco06 a:visited {
 color: #464646;
 text-decoration: underline;
 text-underline-offset: 2px;
 opacity: 1;
}
.ldeco02 a:link, 
.ldeco02 a:visited {
 text-decoration: none;
}
.ldeco03 a:link, 
.ldeco03 a:visited, 
.ldeco04 a:link, 
.ldeco04 a:visited {
 color: #ffffff;
 text-decoration: none;
}
.ldeco05 a:link, 
.ldeco05 a:visited {
 color: #464646;
 text-decoration: none;
 opacity: 1;
}
.ldeco01 a:hover {
 text-decoration: none;
}
.ldeco02 a:hover, 
.ldeco03:hover, 
.ldeco04 a:hover, 
.ldeco05 a:hover {
 transition: opacity 0.5s;
 opacity: 0.7;
}
.ldeco06 a:hover {
 text-decoration: none;
 transition: opacity 0.5s;
 opacity: 0.7;
}

/* --------------------------------------------------
		#contents
-------------------------------------------------- */
#contents {
 position: relative;
}

/* --------------------------------------------------
		parts
-------------------------------------------------- */
p, 
div {
 padding: 0;
 margin: 0;
}
.section {
 padding: 0;
 margin: 0;
 border: none;
}

/*	横位置
-------------------------------------------------- */ 
.centered {
 text-align: center;
}
.leftjustified {
 text-align: left;
}
.rightjustified {
 text-align: right;
}
  
/*	flex
-------------------------------------------------- */ 
.col01 {
 display: -webkit-flex;
 display: -moz-flex;
 display: -ms-flex;
 display: -o-flex;
 display: flex;
 justify-content: center;
} 
.col02 {
 display: -webkit-flex;
 display: -moz-flex;
 display: -ms-flex;
 display: -o-flex;
 display: flex;
 justify-content: space-between;
} 
.col03 {
 display: -webkit-flex;
 display: -moz-flex;
 display: -ms-flex;
 display: -o-flex;
 display: flex;
 justify-content: flex-start;
} 
.colwrap {
 flex-wrap: wrap;
}
.colai01 {
 align-items: center;
}
.colai02 {
 align-items: baseline;
}
.colai03 {
 align-items: end;
}
.colai04 {
 align-items: flex-start;
}
.colfd01 {
 flex-direction: row-reverse;
}

/*	float
-------------------------------------------------- */ 
.fl {
 float: left;
}
.fr {
 float: right;
}

/*	txt
-------------------------------------------------- */ 
.sup {
 font-size: 10px;
 vertical-align: super;
 display: inline !important;
 padding: 0 3px 0 1px;
}
.supb {
 font-size: 10px;
 font-weight: 500 !important;
 vertical-align: super;
 display: inline !important;
 padding: 0 3px 0 1px;
}

/*	bak
-------------------------------------------------- */ 
.bak-gray {
 background: #f9f9f9;
}
.bak-green {
 background: #0ab3c0;;
}
.bak-pink {
 background: #d74db8;
}


/* ==================================================
		
		ページ全般の共通 PC

================================================== */
@media screen and (min-width:741px) {
 
/* --------------------------------------------------
		SPの要素を非表示
-------------------------------------------------- */
.spDisp {
	display: none !important;
}
 
/* --------------------------------------------------
		body
-------------------------------------------------- */
body {
 font-weight: 300;
}
.fw100 {
 font-weight: 100;
}
.fw400 {
 font-weight: 400;
}
.fw500 {
 font-weight: 500;
}

/* --------------------------------------------------
		クリア
-------------------------------------------------- */
.pccolcl {
  display: block;
}
.pcflcl {
  float: none;
}
 
/* --------------------------------------------------
		parts
-------------------------------------------------- */
#top .inner {
 width: 1400px;
 margin: 0 auto;
}
.inner {
 width: 900px;
 margin: 0 auto;
}
p, 
div, 
li {
 font-size: 18px;
 letter-spacing: 0.5px;
}

/* --------------------------------------------------
		.button-area
-------------------------------------------------- */
.button-area .button {
 display: inline-block;
}
.btnpage > p:first-of-type {
 width: 153px;
 margin-right: 10px;
}
.btnpage > p:nth-of-type(2) {
 width: 200px;
}
.btnpage > p:last-of-type {
 width: 153px;
 margin-left: 10px;
}
.button-area .btn01 a {
 display: block;
 padding: 11px 38px 14px 72px;
}
.button-area .btntop a {
 display: block;
 padding: 11px 0 14px;
}
.button-area .btnback a {
 display: block;
 padding: 11px 38px 14px 72px;
}
.button-area .btnnext a {
 display: block;
 padding: 11px 78px 14px 38px;
}
.button-area .btn01, 
.button-area .btntop {
 font-size: 17px;
 background: #999999;
 border-radius: 40px;
}
.button-area .btnback, 
.button-area .btnnext {
 font-size: 17px;
 border-radius: 40px;
}
.button-area .btn01 a span, 
.button-area .btntop a span, 
.button-area .btnback a span, 
.button-area .btnnext a span {
 position: relative;
}
.btn01 a span::before {
 content: "";
 background: url(../images/icon_mail.gif) no-repeat right center / 100%;
 width: 24px;
 height: 16px;
 position: absolute;
 bottom: 3px;
 left: -32px;
}
.btnnext a span::after {
 content: "";
 background: url(../images/arrow_img01.png) no-repeat right center / 100%;
 width: 31px;
 height: 7px;
 position: absolute;
 bottom: 6px;
 right: -42px;
}
.btnback a span::before {
 content: "";
 background: url(../images/arrow_img02.png) no-repeat right center / 100%;
 width: 31px;
 height: 7px;
 position: absolute;
 bottom: 6px;
 left: -42px;
}
 
/* --------------------------------------------------
		footer
-------------------------------------------------- */
footer {
 margin-top: 0;
 padding: 10px 0 11px !important;
 border-top-color: #adadad !important;
}
footer .container .links li {
 letter-spacing: 1.1px;
}
footer .container .links li a {
 line-height: 1.3 !important;  
}
#second footer .copyright {
 position: relative;
 top: 1px;
}
 
/* --------------------------------------------------
		#pagetop
-------------------------------------------------- */
#pagetop {
 text-align: center;
 position: fixed;
 right: 17px;
 bottom: 82px;
 transition: 0.5s;
 opacity: 0;
 visibility: hidden;
}
#pagetop.active {
 opacity: 1;
 visibility: visible;
} 
 
/* --------------------------------------------------
		スペース
-------------------------------------------------- */
.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; }
.mt45 { margin-top: 45px !important; }
.mt50 { margin-top: 50px !important; }
.mt55 { margin-top: 55px !important; }
.mt60 { margin-top: 60px !important; }
.mt65 { margin-top: 65px !important; }
.mt70 { margin-top: 70px !important; }
.mt75 { margin-top: 75px !important; }
.mt80 { margin-top: 80px !important; }
.mt85 { margin-top: 85px !important; }
.mt90 { margin-top: 90px !important; }
.mt95 { margin-top: 95px !important; }
.mt100 { margin-top: 100px !important; }
.mt110 { margin-top: 110px !important; }
.mt120 { margin-top: 120px !important; }
.mt130 { margin-top: 130px !important; }
.mt140 { margin-top: 140px !important; }
.mt150 { margin-top: 150px !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; }
.mb45 { margin-bottom: 45px !important; }
.mb50 { margin-bottom: 50px !important; }
.mb55 { margin-bottom: 55px !important; }
.mb60 { margin-bottom: 60px !important; }
.mb65 { margin-bottom: 65px !important; }
.mb70 { margin-bottom: 70px !important; }
.mb75 { margin-bottom: 75px !important; }
.mb80 { margin-bottom: 80px !important; }
.mb85 { margin-bottom: 85px !important; }
.mb90 { margin-bottom: 90px !important; }
.mb95 { margin-bottom: 95px !important; }
.mb100 { margin-bottom: 100px !important; }
.mb110 { margin-bottom: 110px !important; }
.mb120 { margin-bottom: 120px !important; }
.mb130 { margin-bottom: 130px !important; }
.mb140 { margin-bottom: 140px !important; }
.mb150 { margin-bottom: 150px !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; }
.pt45 { padding-top: 45px !important; }
.pt50 { padding-top: 50px !important; }
.pt55 { padding-top: 55px !important; }
.pt60 { padding-top: 60px !important; }
.pt65 { padding-top: 65px !important; }
.pt70 { padding-top: 70px !important; }
.pt75 { padding-top: 75px !important; }
.pt80 { padding-top: 80px !important; }
.pt85 { padding-top: 85px !important; }
.pt90 { padding-top: 90px !important; }
.pt95 { padding-top: 95px !important; }
.pt100 { padding-top: 100px !important; }
.pt110 { padding-top: 110px !important; }
.pt120 { padding-top: 120px !important; }
.pt130 { padding-top: 130px !important; }
.pt140 { padding-top: 140px !important; }
.pt150 { padding-top: 150px !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; }
.pb45 { padding-bottom: 45px !important; }
.pb50 { padding-bottom: 50px !important; }
.pb55 { padding-bottom: 55px !important; }
.pb60 { padding-bottom: 60px !important; }
.pb65 { padding-bottom: 65px !important; }
.pb70 { padding-bottom: 70px !important; }
.pb75 { padding-bottom: 75px !important; }
.pb80 { padding-bottom: 80px !important; }
.pb85 { padding-bottom: 85px !important; }
.pb90 { padding-bottom: 90px !important; }
.pb95 { padding-bottom: 95px !important; }
.pb100 { padding-bottom: 100px !important; }
.pb110 { padding-bottom: 110px !important; }
.pb120 { padding-bottom: 120px !important; }
.pb130 { padding-bottom: 130px !important; }
.pb140 { padding-bottom: 140px !important; }
.pb150 { padding-bottom: 150px !important; }

}


/* ==================================================
		
		ページ全般の共通 SP

================================================== */
@media screen and (max-width:740px) {
 
/* --------------------------------------------------
		PCの要素を非表示
-------------------------------------------------- */
.pcDisp {
	display: none !important;
}
 
/* --------------------------------------------------
		body
-------------------------------------------------- */
body {
 font-weight: 300;
}
.spfw100 {
 font-weight: 100;
}
.spfw400 {
 font-weight: 400;
}
.spfw500 {
 font-weight: 500;
}
 
/* --------------------------------------------------
		img
-------------------------------------------------- */
img {
 width: 100%;
	max-width: 100%;
	height: auto;
}

/* --------------------------------------------------
		クリア
-------------------------------------------------- */
 .spcolcl {
  display: block;
}
 .spflcl {
  float: none;
}
 
/* --------------------------------------------------
		link
-------------------------------------------------- */
.open .ldeco05 a {
 color: #ffffff;
}
 
/* --------------------------------------------------
		parts
-------------------------------------------------- */
.inner {
 margin: 0 10px;
}
p, 
div, 
li {
 font-size: 14px;
 letter-spacing: 0.2px;
}
.spblock {
 display: block;
}

/* --------------------------------------------------
		.button-area
-------------------------------------------------- */
.button-area {
}
.button-area .button {
 display: inline-block;
}
.btnpage > p:first-of-type {
 width: 95px;
 margin-right: 10px;
}
.btnpage > p:nth-of-type(2) {
 width: 120px;
}
.btnpage > p:last-of-type {
 width: 95px;
 margin-left: 10px;
}
.button-area .btn01 a {
 display: block;
 padding: 8px 34px 10px 54px;
}
.button-area .btntop a {
 display: block;
 padding: 8px 0 10px;
}
.button-area .btnback a {
 display: block;
 padding: 8px 16px 10px 38px;
}
.button-area .btnnext a {
 display: block;
 padding: 8px 38px 10px 16px;
}
.button-area .btn01 {
 font-size: 12px;
 background: #999999;
 border-radius: 40px;
}
.button-area .btntop {
 font-size: 11px;
 background: #999999;
 border-radius: 40px;
}
.button-area .btnback, 
.button-area .btnnext {
 font-size: 11px;
 border-radius: 40px;
}
.button-area .btn01 a span, 
.button-area .btntop a span, 
.button-area .btnback a span, 
.button-area .btnnext a span {
 position: relative;
}
.btn01 a span::before {
 content: "";
 background: url(../images/icon_mail.gif) no-repeat right center / 70%;
 width: 24px;
 height: 16px;
 position: absolute;
 bottom: 0;
 left: -31px;
}
.btnnext a span::after {
 content: "";
 background: url(../images/arrow_img01.png) no-repeat right center / 70%;
 width: 23px;
 height: 7px;
 position: absolute;
 bottom: 3px;
 right: -22px;
}
.btnback a span::before {
 content: "";
 background: url(../images/arrow_img02.png) no-repeat right center / 100%;
 width: 23px;
 height: 7px;
 position: absolute;
 bottom: 3px;
 left: -29px;
}
 
/* --------------------------------------------------
		footer
-------------------------------------------------- */
footer {
 margin-top: 0;
 border-top: 5px solid #ababab;
 padding-bottom: 23px;
}
footer:before {
 display: inline-block;
 height: 5px;
 left: 0;
 top: -5px;
 width: 30px;
} 
footer .container .links {
 background: #d8d8d8;
 margin-bottom: 17px;
}
footer .container .links li {
 background-color: #d8d8d8;
 border-bottom: 1px solid #ababab;
}
footer .container .links li a {
 line-height: 1.34;
}
footer .container .copyright {
 margin: -1px 0 27px;
}
footer .container .copyright img {
 height: auto;
} 
 
/* --------------------------------------------------
		#pagetop
-------------------------------------------------- */
.footer-pageTop {
 text-align: center;
}
.footer-pageTop-button {
 display: block;
}
.footer-pageTop-button:before {
 border: 0;
 content: "";
 display: inline-block;
 height: 22px;
 position: relative;
 width: 22px;
 border-right: solid 1px #111111;
 border-top: solid 1px #111111;
 -webkit-transform: rotate(-45deg);
 transform: rotate(-45deg);
}
.pageTop {
 display: none;
} 
 
/* --------------------------------------------------
		スペース
-------------------------------------------------- */
.spmt05 { margin-top: 5px !important; }
.spmt10 { margin-top: 10px !important; }
.spmt15 { margin-top: 15px !important; }
.spmt20 { margin-top: 20px !important; }
.spmt25 { margin-top: 25px !important; }
.spmt30 { margin-top: 30px !important; }
.spmt35 { margin-top: 35px !important; }
.spmt40 { margin-top: 40px !important; }
.spmt45 { margin-top: 45px !important; }
.spmt50 { margin-top: 50px !important; }
.spmt55 { margin-top: 55px !important; }
.spmt60 { margin-top: 60px !important; }
.spmt65 { margin-top: 65px !important; }
.spmt70 { margin-top: 70px !important; }
.spmt75 { margin-top: 75px !important; }
.spmt80 { margin-top: 80px !important; }
.spmt85 { margin-top: 85px !important; }
.spmt90 { margin-top: 90px !important; }
.spmt95 { margin-top: 95px !important; }
.spmt100 { margin-top: 100px !important; }
.spmt110 { margin-top: 110px !important; }
.spmt100 { margin-top: 150px !important; }

.spmb05 { margin-bottom: 5px !important; }
.spmb10 { margin-bottom: 10px !important; }
.spmb15 { margin-bottom: 15px !important; }
.spmb20 { margin-bottom: 20px !important; }
.spmb25 { margin-bottom: 25px !important; }
.spmb30 { margin-bottom: 30px !important; }
.spmb35 { margin-bottom: 35px !important; }
.spmb40 { margin-bottom: 40px !important; }
.spmb45 { margin-bottom: 45px !important; }
.spmb50 { margin-bottom: 50px !important; }
.spmb55 { margin-bottom: 55px !important; }
.spmb60 { margin-bottom: 60px !important; }
.spmb65 { margin-bottom: 65px !important; }
.spmb70 { margin-bottom: 70px !important; }
.spmb75 { margin-bottom: 75px !important; }
.spmb80 { margin-bottom: 80px !important; }
.spmb85 { margin-bottom: 85px !important; }
.spmb90 { margin-bottom: 90px !important; }
.spmb95 { margin-bottom: 95px !important; }
.spmb100 { margin-bottom: 100px !important; }
.spmb110 { margin-bottom: 110px !important; }
.spmb100 { margin-bottom: 150px !important; }
 
.sppt05 { padding-top: 5px !important; }
.sppt10 { padding-top: 10px !important; }
.sppt15 { padding-top: 15px !important; }
.sppt20 { padding-top: 20px !important; }
.sppt25 { padding-top: 25px !important; }
.sppt30 { padding-top: 30px !important; }
.sppt35 { padding-top: 35px !important; }
.sppt40 { padding-top: 40px !important; }
.sppt45 { padding-top: 45px !important; }
.sppt50 { padding-top: 50px !important; }
.sppt55 { padding-top: 55px !important; }
.sppt60 { padding-top: 60px !important; }
.sppt65 { padding-top: 65px !important; }
.sppt70 { padding-top: 70px !important; }
.sppt75 { padding-top: 75px !important; }
.sppt80 { padding-top: 80px !important; }
.sppt85 { padding-top: 85px !important; }
.sppt90 { padding-top: 90px !important; }
.sppt95 { padding-top: 95px !important; }
.sppt100 { padding-top: 100px !important; }
.sppt110 { padding-top: 110px !important; }
.sppt100 { padding-top: 150px !important; }

.sppb05 { padding-bottom: 5px !important; }
.sppb10 { padding-bottom: 10px !important; }
.sppb15 { padding-bottom: 15px !important; }
.sppb20 { padding-bottom: 20px !important; }
.sppb25 { padding-bottom: 25px !important; }
.sppb30 { padding-bottom: 30px !important; }
.sppb35 { padding-bottom: 35px !important; }
.sppb40 { padding-bottom: 40px !important; }
.sppb45 { padding-bottom: 45px !important; }
.sppb50 { padding-bottom: 50px !important; }
.sppb55 { padding-bottom: 55px !important; }
.sppb60 { padding-bottom: 60px !important; }
.sppb65 { padding-bottom: 65px !important; }
.sppb70 { padding-bottom: 70px !important; }
.sppb75 { padding-bottom: 75px !important; }
.sppb80 { padding-bottom: 80px !important; }
.sppb85 { padding-bottom: 85px !important; }
.sppb90 { padding-bottom: 90px !important; }
.sppb95 { padding-bottom: 95px !important; }
.sppb100 { padding-bottom: 100px !important; }
.sppb110 { padding-bottom: 110px !important; }
.sppb100 { padding-bottom: 150px !important; }

}
