@charset "utf-8";
/* ----------------------------------------------
common
---------------------------------------------- */
html { scroll-behavior: smooth;}

section{
    width:100%;
}

.cf:after{
    content:"";
    display:block;
    clear:both;
}

.fl{
	float: left;
}

.fr{
	float:right;
}

/* パソコンで見たときは"pc"のclassがついた画像が表示される */
.pc { display: block !important; }
.sp { display: none !important; }
 
section {
	width: 100%;
}
.contentsW {
	margin:0 auto;
	padding: 0;
	max-width: 1000px;
	width: 90%;
}
@media screen and (max-width: 768px) {
	.contentsW { padding: 2.5% 0; }
}
.center {
	text-align: center;
}

a {
    transition-property: all;
    transition: 0.3s linear;
}
a:hover {
    opacity:0.5;
}
img {
	width: 100%;
    vertical-align: top;
    font-size: 0;
    line-height: 0;
}

@media screen and (max-width: 768px) {
	section{
		width:100%;
		margin:0 auto;
		overflow: hidden;
	}


	.contents_main{
		width:90%;
		margin:30px auto;
		border-radius: 10px;
		padding:10px 0 30px 0;
	}

	/* スマートフォンで見たときは"sp"のclassがついた画像が表示される */
	.pc { display: none !important; }
	.sp { display: block !important; }
}

/* ----------------------------------------------
Fonts
---------------------------------------------- */
@font-face {
	font-family: "NotoSans";/*要素に指定するときに使うフォント名*/
	src:url(../../shared/fonts/NotoSansJP-SemiBold.woff2) format('woff2'),
	src:url(../../shared/fonts/NotoSansJP-SemiBold.woff) format('woff');
	font-display: swap;
}
body{
	font-family: 'NotoSans', serif;
  	letter-spacing: normal;
	line-height: 1.4;
	color:#333;
	font-size: 1.1rem;
	font-weight: 500;
	position: relative;
  	z-index: 1;
	caret-color: transparent;
	background: #fff;
}
@media screen and (max-width: 768px) {
	body{
		background: #fff;
	}
}

/* HTMLタグに適用 */
::selection {
	color: #fff;
	background-color: #000;
}
h1 {
	line-height: 1.5;
	text-align: center;
	padding: 20px;
	border-radius: 10px;
	font-size: 24px;
	font-weight: normal;
}

@media screen and (max-width: 768px) {
	h1 { font-size: 1.0rem; line-height: 1.2; text-align: center !important; }
}

.f_giga { margin-left:0.1em; letter-spacing:0.1em !important; }
.f_ten { margin-left:-0.2em; letter-spacing:-0.3em !important; }

.f_black { color:#333; }
.f_red { color:#e01028; }
.f_orange { color:#ff8300; }

.f_large { font-size: 120%; }
.f_small { font-size: 50%; }
.f_notes { font-size: 10px !important; }

.zen-kaku-gothic-new-medium {
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 500;
  font-style: normal;
}

.zen-kaku-gothic-new-bold {
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 700;
  font-style: normal;
}
  
body{
	background:#fff;
	line-height: 2;
}


a{
	color: #333;
	text-decoration: none;
}

.lead{
	margin:20px 0 0 0;
}

.btn-block{
	width:200px;  
	padding: 30px;
}

/* ----------------------------------------------
EX
---------------------------------------------- */
img.logo {
	max-width: 200px;
	height: auto;
}
#kv {
	width: 100%;
	background: #fff url(../../images/kv_bg.jpg) no-repeat bottom center;
	background-size: 100% auto;
}
#kv .contentsW {
	position:relative;
}
#kv .contentsW .btn {
		width: 30%;
		position: absolute;
		bottom:20%;
		left:20%;
}
@media screen and (max-width: 768px) {
	#kv .contentsW {
		margin:0;
		padding:0;
		width: 100%;
	}
	
	#kv .contentsW .btn {
		width: 50%;
		position: absolute;
		bottom:20%;
		left:12%;
	}
}

h2 {
	margin-top: 70px;
	margin-bottom: 20px;
}

@media screen and (max-width: 768px) {
	h2 {
		margin-top:5%;
		margin-bottom: 2.5%;
	}
}

.detail {

}
.detail p {
	float:left;
	width:60%;
}
.detail img {
	float:right;
	width:35%;
	margin-left: 5%;
}

@media screen and (max-width: 768px) {
	.detail {
		padding:0 5% !important;
		width:100%;
	}
	.detail p {
		float:none;
		width:100%;
		font-size: 18px;
		line-height: 1.5;
		margin-bottom: 2.5%;
	}
	.detail img {
		float:none;
		width:100%;
		margin-left: 0;
	}
}

.detail ul {
	margin: 0 auto;
	max-width: 840px;
}
.detail ul li {
	float:left;
	margin-bottom: 2%;
	background: #0c204a;
	color: #fff;
	padding: 40px 25px;
	width:49%;
	text-align: center;
	border-radius: 10px;
	min-height: 200px;
	vertical-align: bottom;
}
.detail ul li:nth-child(1),
.detail ul li:nth-child(3) {
	margin-right: 2%;
}
.detail ul li .f_s {
	font-size: 16px;
	line-height: 1.2;
	margin-bottom: 20px;
	font-weight:300;
}
.detail ul li .f_b {
	font-size: 28px;
	line-height: 1.2;
}

@media screen and (max-width: 768px) {
	.detail ul li {
		float:none;
		width:100%;
		padding: 10% 5%;
		min-height: auto;
	}
	.detail ul li:nth-child(1),
	.detail ul li:nth-child(3) {
		margin-right: 0;
	}
	.detail ul li .f_s {
		font-size: 14px;
		margin-bottom: 2%;
	}
	.detail ul li .f_b {
		font-size: 24px;
	}
}


.circle li:before { content:"●"; }
.circle li { margin-top:1em !important; margin-left:1em; list-style:none; text-indent: -1em; }

ul.circle {
	margin:50px;
	font-size: 20px;
}
@media screen and (max-width: 768px) {
	ul.circle {
		margin:5% 0;
		font-size: 1.0rem;
		line-height: 1.5;
	}
}

.regi {
	padding: 15px 30px;
	background:#eee;
	font-size: 24px;
}
.or {
	padding-left: 30px;
	background: none;
}
.regi p {
	float:left;
	display: inline-block;
	width: 74%;
}
.regi .b {
	float:left;
	width:26%;
	text-align: center;
	font-size: 16px;
	line-height: 1.2;
}
.regi a img {
	width:100%;
}
.regi a.line {
	color:#fff;
}
.regi .qr {
	margin: 10% 25% 3%;
	width: 50%;
}
@media screen and (max-width: 768px) {
	.regi p {
		float:none;
		text-align: center;
		width: 100%;
	}
	.regi .b {
		float:none;
		width:100%;
		padding: 0 10%;
	}
	.regi a img {
		width:80%;
	}
	
	.or {
		margin:3% 0;
		padding-left: 0;
		text-align: center;
		background: none;
		line-height: 1.2;
	}
}

#sns {
	margin: 40px 0;
	padding: 25px;
	border-radius: 10px;
	background:#eee;
	text-align: center;
	font-size:24px;
}
#sns ul {
	width: 120px;
	margin: 0 auto;
}
#sns ul li {
	float:left;
	width:44%;
	padding:0 !important;
	margin:0 !important;
	margin:0 3% !important;
}

@media screen and (max-width: 768px) {
	#sns {
		margin: 10% 0;
		padding: 5%;
		font-size:18px;
	}
}