@charset "UTF-8";

/* ----------------------------------------------------------------------------------------------------
*  基本情報
* --------------------------------------------------------------------------------------------------*/
@import url('https://fonts.googleapis.com/css2?family=M+PLUS+Rounded+1c:wght@100;300;400;500;700;800;900&display=swap');
@import url('https://fonts.googleapis.com/css?family=Coiny&display=swap');

html,body{	height:100%;}
html{
	font-size:62.5%;
    overflow-y: scroll;
}

@media screen and (min-width: 768px) {
	body {
		min-width: 1200px;
	}
}
body {
	font-size: 1.6rem;
	font-style: normal;
	font-weight: normal;
}
h1, h2, h3, h4, h5, h6, p, address,
ul, ol, li, dl, dt, dd,
table, th, td, img {
	color: #000;
	margin: 0;
	padding: 0;
	border: none;
	line-height: 1.5;
	list-style-type: none;
	font-size: 1.6rem;
	font-style: normal;
	font-weight: normal;
	font-family: 'M PLUS Rounded 1c', sans-serif;
	transform: rotate(0.03deg);
	text-align: left;
	letter-spacing: 1px;
}
a {
	font-family: 'M PLUS Rounded 1c', sans-serif;
	transform: rotate(0.03deg);
}
@media screen and (max-width: 767px) {
	h1, h2, h3, h4, h5, h6, p, address,
ul, ol, li, dl, dt, dd,
	table, th, td, img, form {
		font-size: 1.4rem;
	}
}

img{
	height:auto;
	vertical-align: middle;
	width:100%;
	outline:none;
}
.dn_nav a,
.os_nav a {
	display:block;
}
.aligncenter{
    display:block;
    margin:0 auto;
}

.alignright{
	float:right;
}

.alignleft{
	float:left;
}

a img {
 transition: opacity 0.3s ease-out;
}

a:hover:not(.disable) img {
 opacity: 0.7;
}

a {
	color: #000;
	text-decoration: none;
	transition: 0.3s;
}

a:not(.disable):hover {
	opacity: 0.7;
}

@media screen and (min-width: 768px) {
a[href^="tel:"] {
	display: inline-block;
	pointer-events: none;
}
}

.inner {
	margin: 0 auto;
	max-width: 1000px;
}
@media screen and (max-width: 767px) {
	.inner {
		padding: 0 5%;
	}
}

/* ----------------------------------------------------------------------------------------------------
*  汎用
* --------------------------------------------------------------------------------------------------*/

.btn_wrap {
	text-align: center;
}

/* basic=yellow*/
.btn {
	border: 3px solid #fccb00; 
	border-radius: 35px;
	color: #fccb00;
	display: inline-block;
	font-size: 1.7rem;
	font-weight: bold;
	padding: 20px 45px;
	margin: 30px 0;
}
.btn.blue {
	border: 3px solid #78cae8;
	color: #78cae8;
}
.btn.bg-blue {
	border: 3px solid #78cae8;
	background: #78cae8;
	color: #FFF;
}
.btn.green {
	border: 3px solid #8dde9e;
	color: #8dde9e;
}
.btn.bg-green {
	border: 3px solid #8dde9e;
	background: #8dde9e;
	color: #FFF;
}
.btn.pink {
	border: 3px solid #f9b4b4;
	color: #f9b4b4;
}
.btn.bg-pink {
	border: 3px solid #f9b4b4;
	background: #f9b4b4;
	color: #FFF;
}
.btn.white {
	border: 3px solid #FFF;
	color: #FFF;
}
@media screen and (max-width: 767px) {
	.btn_wrap_sp {
		text-align: center;
	}
	.btn {
		border: 2px solid #fccb00;
		border-width: 2px;
		border-radius: 35px;
		color: #fccb00;
		font-size: 1.5rem;
		font-weight: bold;
		padding: 12px 45px;
		margin: 25px 0;
	}
	.btn.index-btn {
		margin: 25px 0 60px;
	}
	.btn.blue {
		border: 2px solid #78cae8;
	}
	.btn.green {
		border: 2px solid #8dde9e;
	}
	.btn.pink {
		border: 2px solid #f9b4b4;
	}
	.btn.white {
		border: 2px solid #FFF;
	}
}



/* ----------------------------------------------------------------------------------------------------
*  ヘッダー
* --------------------------------------------------------------------------------------------------*/

header {
	background: url("/images/common/bg_header_pc.png") no-repeat center top;
	height: 172px;
	position: relative;
	z-index: 10000;
}

.head_inner {
	display: flex;
	justify-content: space-between;
	margin: 0 auto;
	padding: 25px 0 0 0;
	max-width: 1050px;
	width: 100%;
}

@media screen and (max-width: 767px) {
	header {
		background: url("/images/common/bg_header_sp.png") no-repeat center top;
		background-size: cover;
		height: 110px;
		position: relative;
		/*z-index: 1;*/
		z-index: 100;
	}
	.head_inner {
		padding: 15px 5% 0;
		max-width: auto;
	}
	#logo img.sp {
		width: 131px;
	}
}

.menu_trigger {
	background: url("/images/common/btn_menu.png");
	background-size: cover;
	position: absolute;
	right: 5%;
	top: 20px;
	width: 140px;
	height: 60px;
	z-index: 10000;
	-webkit-tap-highlight-color: rgba(0,0,0,0);
	-webkit-box-shadow: none;
	box-shadow: none;
	outline: none;
	border:0;
}
.menu_trigger img {
	opacity:0;
}
.menu_trigger.active {
	z-index: 10000;
}
.menu_trigger.active img {
	opacity: 1;
}

@media screen and (max-width: 767px) {
	.menu_trigger {
		height: 47px;
		width: 110px;
	}
}

#nav {
	height: 100%;
	overflow-y: scroll;
	padding: 20px 0;
	width: 100%;
	display: none;
}
#nav::-webkit-scrollbar {
  display: none;
}
#nav.active {
	opacity: 1;
	padding-bottom: 290px;
	position:fixed;
	top: 190px;
}
@media screen and (max-width: 767px) {
#nav .inner {
	/*
	height:100%;
	overflow:auto;
	-webkit-overflow-scrolling: touch;
	*/
	height:100%;
	overflow:auto;
	-webkit-overflow-scrolling: touch;

}
/**** ナビ改修 2019/06 ****/
	.sp-navi {
		height:100%;
		overflow:auto;
		-webkit-overflow-scrolling: touch;
		padding:0 5%;
	}
	.sp-navi ul {
	}
	.sp-navi > ul > li {
		padding:0 0;
		margin:0 auto 0.8em;
	}
	.sp-navi > ul li a {
		display: block;
		overflow: hidden;
		min-height: 80px;
		border-radius: 10px;
		background:#FFF;
	}
	.sp-navi ul li a.pkup {
		/*background: linear-gradient(106deg, #78c9e7 0%,#78c9e7 50%,#ffffff 50%,#ffffff 100%);*/
		background: linear-gradient(to right, #78c9e7 0%,#78c9e7 50%,#ffffff 50%,#ffffff 100%);
	}
	.sp-navi ul li a.dnte {
		/*background: linear-gradient(106deg, #8DDD9E 0%,#8DDD9E 50%,#ffffff 50%,#ffffff 100%);*/
		background: linear-gradient(to right, #8DDD9E 0%,#8DDD9E 50%,#ffffff 50%,#ffffff 100%);
	}
	.sp-navi ul li a.ofst {
		/*background: linear-gradient(106deg, #F9B5B4 0%,#F9B5B4 50%,#ffffff 50%,#ffffff 100%);*/
		background: linear-gradient(to right, #F9B5B4 0%,#F9B5B4 50%,#ffffff 50%,#ffffff 100%);
		
	}
	.sp-navi ul li a.usfl {
		/*background: linear-gradient(106deg, #F99116 0%,#F99116 50%,#ffffff 50%,#ffffff 100%);*/
		background: linear-gradient(to right, #F99116 0%,#F99116 50%,#ffffff 50%,#ffffff 100%);
	}
	.sp-navi ul li a .sp-navi-in {
		display:flex;
		flex-direction: row;
		justify-content: space-between;
		align-items: center;
    	height: 80px;
	}
	.sp-navi ul li a .sp-navi-title {
		display:table-cell;
		padding:0 0 0 0.8em;
		vertical-align:middle;
		color:#FFF;
		font-size:1.8rem;
	}
	.sp-navi ul li a .sp-navi-title span {
		font-family: 'Coiny', cursive;
	}
	.sp-navi ul li a .sp-navi-title strong {
		font-size:1.2rem;
	}
	.sp-navi ul li a.usfl .sp-navi-title {
		line-height:1.6rem;
	}
	.sp-navi ul li a .sp-navi-txt {
		min-width: 50%;
		padding: 0 0.8em 0 0;
		text-align: center;
	}
	.sp-navi ul li a .sp-navi-txt span {
		display:block;
	}
	.sp-navi ul li a.pkup .sp-navi-txt span {
		color:#78c9e7;
	}
	.sp-navi ul li a.usfl .sp-navi-txt span {
		color:#F99116;
	}
	.sp-navi ul li a .sp-navi-image {
		/*max-width:53%;
		transform:skew(15deg,15deg);*/
		max-width:50%;
	}
	.sp-navi ul li a .sp-navi-image-mask {
		/*transform: skew(-15deg,15deg);
		-webkit-transform: skew(-15deg,15deg);*/
		overflow:hidden;
	}
	.sp-navi ul li a .sp-navi-image-mask img {
		/*transform: skew(15deg,-15deg);
		-webkit-transform: skew(15deg,-15deg);
		width: 120%;
		margin-left: -6%;*/
	}
}
#nav .inner,
#footer-nav .inner {
	max-width: 900px;
}
.pickup_nav h2 {
	background: #79cae8;
	border-radius: 20px;
	color: #fff;
	font-size: 2.6rem;
	font-weight: bold;
	letter-spacing: 2px;
	margin-bottom: 20px;
	padding :5px 20px;
	position: relative;
	text-align: center;
}
.pickup_nav h2::after {
	border-style: solid;
	border-width: 12px 14px 0 14px;
	border-color: #79cae8 transparent transparent transparent;
	bottom: -12px;
	content: '';
	display: block;
	height: 0;
	left: calc(50% - 14px);
	position: absolute;
	width: 0;
	
}

.pickup_nav ul {
	display: flex;
	justify-content: flex-start;
}
.pickup_nav ul li {
	position:relative;
	width: 442px;
}
.pickup_nav ul li:nth-child(2n+1) {
	margin-right: 16px;
}
.pickup_nav ul li a {
	display:block;
}
.pickup_nav ul li a img {
	border-radius:20px;
}
.pickup_nav ul li a span {
	display:block;
	position:absolute;
	z-index:1;
	background:url(/images/common/pickup-schoolname-bg.png) no-repeat center bottom;
	background-size:420px 63px;
	width: 100%;
	height: 58px;
	margin: -30px 0 0;
	padding: 5px 0 0 0;
	color:#FFF;
	font-size:20px;
	text-align:center;
}
@media screen and (min-width: 768px) {
	.pickup_nav ul li a {
		margin-bottom:30px;
	}
}

.pickup_nav ul li.pickup-29 a span {
	padding: 8px 0 0 0;
	font-size: 18px;
	letter-spacing: -0.05em;
}

#nav .col2,
#footer-nav .col2 {
	display: flex;
	justify-content: flex-start;
	margin-top: 20px;
}
#nav .col2 div:nth-child(2n+1),
#footer-nav .col2 div:nth-child(2n+1) {
	margin-right: 70px;
}

.dn_nav h2 {
	background: #8dde9e;
	border-radius: 20px;
	color: #fff;
	font-size: 2.6rem;
	font-weight: bold;
	letter-spacing: 2px;
	margin-bottom: 20px;
	padding :5px 20px;
	position: relative;
	text-align: center;
}
.dn_nav h2::after {
	border-style: solid;
	border-width: 12px 14px 0 14px;
	border-color: #8dde9e transparent transparent transparent;
	bottom: -12px;
	content: '';
	display: block;
	height: 0;
	left: calc(50% - 14px);
	position: absolute;
	width: 0;
}
.os_nav h2 {
	background: #f9b4b4;
	border-radius: 20px;
	color: #fff;
	font-size: 2.6rem;
	font-weight: bold;
	letter-spacing: 2px;
	margin-bottom: 20px;
	padding :5px 20px;
	position: relative;
	text-align: center;
}
.os_nav h2 span {
	font-size: 75%;
	margin-left: 10px;
}
.os_nav h2::after {
	border-style: solid;
	border-width: 12px 14px 0 14px;
	border-color: #f9b4b4 transparent transparent transparent;
	bottom: -12px;
	content: '';
	display: block;
	height: 0;
	left: calc(50% - 14px);
	position: absolute;
	width: 0;
}
@media screen and (min-width: 768px) {
	.useful-banner {
		margin:30px 0;
		background: rgba(255,255,255,1) url(/images/common/btn_useful_bg.png) no-repeat left top;
		background-size: contain;
		border-radius: 18px;
		cursor:pointer;
	}
	.useful-banner:hover {
		opacity:0.7;
		transition: .3s ease-in-out;
	}
	.useful-banner a {
		position:relative;
		display:block;
		width:900px;
		height:160px;
	}
	.useful-banner a.flute {
		background:url(/images/useful/flute/navi-bg.png) no-repeat right 76px center;
	}
	.useful-banner a h2 {
		position:absolute;
		left:46px;
		bottom:22px;
		color:#FFF;
		font-size:22px;
	}
	.useful-banner a dt {
		position:absolute;
		left:338px;
		top:30px;
		color:#F99118;
		font-size:32px;
		font-weight:700;
	}
	.useful-banner a dd {
		position:absolute;
		width:500px;
		left:338px;
		top:75px;
		color:#13100C;
		font-size:32px;
		font-weight:700;
	}
}
@media screen and (max-width: 767px) {
	.useful-banner {
		margin:30px 0;
		background: rgba(255,255,255,1) url(/images/common/btn_useful_sp_bg.png) no-repeat left top;
		background-size: contain;
		border-radius: 18px;
		cursor:pointer;
	}
	.useful-banner a {
		position:relative;
		display:block;
		width:100%;
		height:26.6vw;
	}
	.useful-banner a.flute {
		background:url(/images/useful/flute/navi-bg.png) no-repeat left 53.125vw top 4px;
		background-size: auto 33%;
	}
	.useful-banner a h2 {
		position:absolute;
		left:6.875vw;
		bottom:1.875vw;
		color:#FFF;
		font-size:1.3em;
	}
	.useful-banner a dt {
		position: absolute;
		left: 53.125vw;
		top: 9.375vw;
		color: #F99118;
		font-size: 1.2em;
		font-weight: 700;
	}
	.useful-banner a dd {
		position: absolute;
		left: 53.125vw;
		top: 15.625vw;
		color: #13100C;
		font-size: 1.2em;
		font-weight: 700;
		letter-spacing: -0.08em;
	}
}
.ui_nav {
	margin:30px 0;
}

.other_nav ul {
	display:flex;
	justify-content: space-between;
}

.other_nav ul li a {
	background: #fff;
	border-radius: 20px;
	display: block;
	font-size: 1.8rem;
	padding: 20px 0;
	text-align:center;
	width:160px;
}
.other_nav ul li a img {
	margin: 0 0 10px;
	width: 80px;
}
.other_nav ul li:nth-of-type(1) a {
	color: #fccb00;
}

.other_nav ul li:nth-of-type(2) a {
	color: #78cae8;
}
.other_nav ul li:nth-of-type(3) a {
	color: #cc96de;
}

.other_nav ul li:nth-of-type(4) a {
	color: #f9b4b4;
}
.other_nav ul li:nth-of-type(5) a {
	color: #8dde9e;
}
/*-------------------------
　追加（2019/09）
-------------------------*/
.campaign_nav {
	margin:0 auto 30px;
}
.campaign_nav img {
	border-radius:10px;
}
.news-area {
	line-height:2.2;
	margin:0 auto 3.2em;
	padding:1.2em 1em;
}
.news-area a {
	color:#09F;
}
.newdate {
	border-top:1px dotted #DDD;
	padding:0.6em 0 0 0;
	margin:0 auto 1.8em;
	color:#CCC;
	text-align:right;
	font-size:14px;
}
.overlay {
	background: #ffe167;
	opacity: 0;
	display: block;
	position: fixed;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	transition: opacity 0.8s;
	z-index: 9998;
	pointer-events: none;
}
.overlay.active {
	opacity: 1;
}

body.fixed {
	position: fixed;
	width: 100%;
	height: 100%;
}
@media screen and (max-width: 767px) {
	#nav.active {
		padding-bottom: 150px;
		top: 100px;
	}
	.pickup_nav h2 {
		font-size: 1.6rem;
	}
	.pickup_nav ul {
		display: block;
	}
	.pickup_nav ul li:nth-child(2n+1) {
		margin-right: 0;
	}
	.pickup_nav ul li {
		margin-bottom: 30px;
		width: 100%;
	}
	.pickup_nav ul li a {
		margin-bottom:50px;
	}
	.pickup_nav ul li a span {
		height: 13.375vw;
		padding:2vw 0 0 0;
		background-size:contain;
		font-size:18px;
		letter-spacing:-0.01em;
	}
	#nav .col2,
	#footer-nav .col2 {
		display: block;
	}
	#nav .col2 div:nth-child(2n+1),
	#footer-nav .col2 div:nth-child(2n+1) {
		margin-right: 0;
	}
	.dn_nav {
		margin-bottom: 30px;
	}
	.dn_nav h2 {
		font-size: 1.6rem;
	}
	.os_nav h2 {
		font-size: 1.6rem;
	}
	.other_nav ul {
		flex-wrap: wrap;
	}
	.other_nav ul li {
		margin-bottom: 10px;
		width: 48%;
	}
	.other_nav ul li a {
		width: 100%;
	}
	.other_nav ul li:nth-child(2n+1) {
		margin-right: 4%;
	}
	.overlay {
		/*z-index:1;*/
		z-index: 100;
	}
}
/* ----------------------------------------------------------------------------------------------------
*  フッタ
* --------------------------------------------------------------------------------------------------*/
.pagetop a{
	display: block;
	position: fixed;
	bottom: 20px;
	right: 20px;
	z-index: 10;
}

.pagetop img {
	height: 113px;
	width: 104px;
}
@media screen and (max-width: 767px) {
	.pagetop {
		position: relative;
	}
	.pagetop a{
		display: none;
		position: absolute;
		bottom: 100px;
	}
	.pagetop img {
		height: 46px;
		width: 43px;
	}
}

footer {
	background: #fccb00 url("/images/common/bg_footer_pc.png") no-repeat center bottom;
	padding: 80px 0 1px;
}
@media screen and (max-width: 767px) {
	footer {
		background: #fccb00 url("/images/common/bg_footer_sp.png") no-repeat center bottom;
		background-size: 100% auto;
		padding: 40px 0 1px;
	}
}
#link_area .unit {
	margin-bottom: 25px;
	position: relative;
	cursor: pointer;
}
#link_area .unit_wrap {
	border-radius: 10px;
	background: #fff;
	display: flex;
	padding: 30px;
	position: relative;
	z-index: 1;
}
#link_area .unit::after {
	background: url("/images/common/bg_footer_link.png");
	border-radius: 10px;
	content: '';
	display: block;
	height: 100%;
	position: absolute;
	right: -10px;
	bottom: -10px;
	width: 100%;
	z-index: 0;
}
#link_area .unit .ico {
	margin-right: 30px;
	width: 100px;
}
#link_area .unit .txt{
	max-width: 290px;
}
#link_area .unit .txt p{
	font-size: 1.5rem;
}

#link_area .unit.wide .txt {
	align-items: center;
	display: flex;
	justify-content: space-between;
	max-width: none; 
}

#link_area .unit .txt h2 {
	font-size: 2.2rem;
	font-weight: bold;
	margin-bottom: 5px;
	
}
#link_area .unit.wide .txt h2 {
	color: #fccb00;
	margin-right: 40px;
}

#link_area .col2 {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}

#link_area .col2 .unit {
	width: 49%;
}

#link_area .col2 .unit:nth-of-type(1) h2 {
	color: #78cae8;
}
#link_area .col2 .unit:nth-of-type(2) h2 {
	color: #cc96de;
}

#link_area .col2 .unit:nth-of-type(3) h2 {
	color: #f9b4b4;
}
#link_area .col2 .unit:nth-of-type(4) h2 {
	color: #8dde9e;
}

@media screen and (max-width: 767px) {
	#link_area .unit::after {
		background: url("/images/common/bg_footer_link_sp.png");
		border-radius: 5px;
		bottom: -5px;
		right: -5px;
	}
	#link_area .unit {
		margin-bottom: 10px;
	}
	#link_area .unit.wide .txt {
		display: block;
	}
	#link_area .col2 {
		display: block;
	}

	#link_area .col2 .unit {
		width: 100%;
	}
	#link_area .unit_wrap {
		align-items: center;
		border-radius: 5px;
		padding: 15px;
	}
	
	#link_area .unit .ico {
		margin-right: 20px;
		width: 18%;
	}
	#link_area .unit .txt{
		width: 77%;
		max-width: none;
	}
	#link_area .unit .txt h2 {
		font-size: 1.5rem;
		margin-bottom: 5px;
	}
	#link_area .unit .txt p {
		font-size: 1.2rem;
	}
}
#footer_logo {
	margin-top: 100px;
	text-align: center;
}
#footer_logo img {
	width: 206px;
}
/** Add Style at 20201201 **/
@media screen and (min-width: 767px) {
	#footerLogo {
		margin-top: 100px;
		text-align: center;
	}
	#footerLogo ul {
		display: flex;
		justify-content: center;
	}
	#footerLogo ul li {
		margin:0 20px;
	}
/*
	#footerLogo ul li:first-child {
		order: 2;
	}
	#footerLogo ul li:nth-child(2) {
		order: 1;
	}
	#footerLogo ul li:nth-child(3) {
		order: 3;
	}
*/
	#footerLogo ul li img {
		width: 250px;
		height: 72px;
	}
}
/** till **/
#footer_post {
	margin: 60px 0 35px;
}
#footer_post .wrap {
	align-items: center;
	display: flex;
	justify-content: space-between;
}

#footer_post .wrap .util {
	align-items: center;
	display: flex;
	justify-content: flex-start;
}

#footer_post .wrap .util li {
	font-size: 1.3rem;
	margin-right: 30px;
}
#footer_post .wrap .util li a {
	color: #c09100;
}
#footer_post .wrap p {
	color: #c09100;
	font-size: 1.1rem;
	margin-right: 20px;
	
}

@media screen and (max-width: 767px) {
	#footer_logo {
		margin-top: 75px;
	}
	#footer_logo img {
		width: 112px;
	}
	/** Add Style at 20201201 **/
	#footerLogo {
		margin-top: 25px;
	}
	#footerLogo ul {}
	#footerLogo ul li {
		margin:0 auto 15px;
		text-align: center;
	}
	#footerLogo ul li img {
		width: 200px;
		height: 62px;
	}
	/** till **/
	#footer_post {
		margin: 20px 0;
	}
	#footer_post .wrap {
		display: block;
	}
	#footer_post .wrap .util {
		align-items: center;
		display: flex;
		justify-content: center;
		margin-bottom: 15px;
	}
	#footer_post .wrap .util li {
		display: block;
		margin: 0 15px;
		text-align: center;
	}
	#footer_post .wrap .util li a{
		font-size:1.1rem;
	}
	#footer_post .wrap p {
		margin-right: 0;
		text-align: center;
	}
}
/*sns*/

.sns_wrap {
	display: flex;
}

#sect_sns .twitter {
	background: #e0f2fd;
	padding: 40px 0 20px;
	width: 50%;
}
#sect_sns .twitter h2 {
	margin-bottom: 20px;
	text-align: center;
}
#sect_sns .twitter h2 span{
	font-size: 2rem;
	font-weight: bold;
	padding-left: 40px;
	position: relative;
}
#sect_sns .twitter h2 span::before {
	background: url("/images/index/ico_twitter.png") no-repeat center top;
	content: '';
	display: block;
	height: 26px;
	position: absolute;
	left: 0;
	top: calc(50% - 15px);
	width: 30px;
}
#sect_sns .twitter .cont {
	max-width: 480px;
	background: #fff;
	padding: 10px 55px;
	margin: 0 auto;
}
#sect_sns .twitter .follow-btn {
	background: #1da1f2;
	border-radius: 30px;
	color: #fff;
	display: inline-block;
	margin: 30px 0;
	padding: 15px 40px;
}

#sect_sns .instagram {
	background: #f3f3f3;
	padding: 40px 5% 20px;
	/*width: 50%;*/
	width: 100%;
}
#sect_sns .instagram h2 {
	margin-bottom: 20px;
	text-align: center;
}
#sect_sns .instagram h2 span{
	font-size: 2rem;
	font-weight: bold;
	padding-left: 40px;
	position: relative;
}
#sect_sns .instagram h2 span::before {
	background: url("/images/index/ico_instagram.png") no-repeat center top;
	content: '';
	display: block;
	height: 30px;
	position: absolute;
	left: 0;
	top: calc(50% - 15px);
	width: 30px;
}
#sect_sns .instagram .cont {
	width: 500px;
	height: 370px;
	overflow-y: scroll;
	/*background: #fff;
	padding: 25px 10px;*/
	margin: 0px auto;
}
#sect_sns .instagram .instaWrap{
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	background: #fff;
	max-width: 500px;
	margin: 0 auto;
	padding: 10px;
}
#sect_sns .instagram .instaWrap::after{
	content:"";
	display: block;
	width: 120px;
}
#sect_sns .instagram .instaWrap li{
	width: 144px;
	height:144px;
	overflow:hidden;
	margin-top: 13px;
}
#sect_sns .instagram .instaWrap li:nth-child(3n+2){
	margin: 13px 13px 0;
}
#sect_sns .instagram .instaWrap li:nth-child(-n+3){
	margin-top: 0;
}
#sect_sns .instagram .follow-btn {
	background: #b42e99;
	border-radius: 30px;
	color: #fff;
	display: inline-block;
	margin: 30px 0;
	padding: 15px 40px;
}
#sect_sns .line {
	background: #dbf0d2;
	padding: 50px 0;
}
#sect_sns .line .cont {
	display: flex;
	justify-content: space-between;
}
#sect_sns .line .cont .left {
	align-items: center;
	display: flex;
	justify-content: flex-start;
	width: 50%;
}
#sect_sns .line .cont .left p {
	margin-left: 30px;
}
#sect_sns .line .cont .left p img {
	vertical-align: sub;
	width: 12px;
}
#sect_sns .line .cont .right {
	align-items: center;
	display: flex;
	justify-content: flex-start;
	width: 50%;
}
#sect_sns .line .cont .right .btn_wrap {
	margin-left: 50px;
}
#sect_sns .line .follow-btn {
	background: #00b900;
	border-radius: 30px;
	color: #fff;
	display: inline-block;
	font-size: 2.4rem;
	margin: 30px 0;
	padding: 10px 40px;
}
@media screen and (max-width: 767px) {
	.sns_wrap {
		display: block;
	}
	#sect_sns .twitter {
		padding: 20px 5%;
		width: 100%;
	}
	#twitter-widget-0 { width: 740px !important; }
	#sect_sns .twitter h2 span{
		font-size: 1.2rem;
		font-weight: bold;
		padding-left: 25px;
		position: relative;
	}
	#sect_sns .twitter h2 span::before {
		background: url("/images/index/ico_twitter.png") no-repeat center top;
		background-size: cover;
		content: '';
		display: block;
		height: 16px;
		position: absolute;
		left: 0;
		top: calc(50% - 8px);
		width: 18px;
	}
	#sect_sns .twitter .cont {
		padding: 10px 3%;
	}
	#sect_sns .twitter .follow-btn {
		font-size: 1.3rem;
		margin: 15px 0 0;
		padding: 10px 20px;
	}
	#sect_sns .instagram {
		padding-top: 20px;
		width: 100%;
	}
	#sect_sns .instagram h2 span{
		font-size: 1.2rem;
		font-weight: bold;
		padding-left: 25px;
		position: relative;
	}
	#sect_sns .instagram h2 span::before {
		background: url("/images/index/ico_instagram.png") no-repeat center top;
		background-size: cover;
		content: '';
		display: block;
		height: 18px;
		position: absolute;
		left: 0;
		top: calc(50% - 8px);
		width: 18px;
	}
	#sect_sns .instagram .cont {
		width: auto;
		height: 240px;
		/*
		padding: 10px 3%;
		*/
	}
	#sect_sns .instagram .instaWrap{
		max-width: inherit;
		box-sizing: border-box;
		padding: 2%;
	}
	#sect_sns .instagram .instaWrap li{
		width: 32%;
		max-height: 110px;
		overflow: hidden;
		margin-top: 2%;
	}
	#sect_sns .instagram .instaWrap li:nth-child(3n+2){
		margin: 2% 2% 0;
	}
	#sect_sns .instagram .instaWrap li:nth-child(-n+3){
		margin-top: 0;
	}
	#sect_sns .instagram .follow-btn {
		font-size: 1.3rem;
		margin: 15px 0 0;
		padding: 10px 20px;
	}
	#sect_sns .line {
		padding: 20px 0;
	}
	#sect_sns .line .cont {
		display: block;
	}
	#sect_sns .line .cont .left {
		display: block;
		text-align:center;
		width: 100%;
	}
	#sect_sns .line .cont .left h2 {
		text-align: center;
	}
	
	#sect_sns .line .cont .left h2 img {
		width: 48px;
	}
	#sect_sns .line .cont .left p {
		display: inline-block;
		font-size: 1.3rem;
		margin: 10px auto;
	}
	#sect_sns .line .cont .left p img {
		vertical-align: middle;
		width: 7px;
	}
	.android #sect_sns .line .cont .left p img {
		vertical-align: baseline;
	}
	
	#sect_sns .line .cont .right {
		display: block;
		text-align:center;
		width: 100%;
	}
	#sect_sns .line .cont .right h3 {
		text-align: center; 
	}
	#sect_sns .line .cont .right h3 img {
		width: 110px;
	}
	.android #sect_sns .line .cont .right h3 img {
		vertical-align: baseline;
	}
	#sect_sns .line .cont .right .btn_wrap {
		margin: 0;
	}
	#sect_sns .line .cont .right .btn_wrap .follow-btn {
		font-size: 1.5rem;
		margin: 10px 0 0;
	}
}

/*** Add at 2021/11/30***/
#sect_sns .lineArea {
	background: #dbf0d2;
	padding: 50px 0;
	width: 50%;
}
#sect_sns .lineArea h2 {
	padding: 10px 0;
	text-align: center;
}
#sect_sns .lineArea h2 img {
	vertical-align: sub;
	width: 80px;
}
#sect_sns .lineArea h3 {
	text-align: center;
}
#sect_sns .lineArea h3 img {
	vertical-align: sub;
	width: 183px;
}
#sect_sns .lineArea .follow-btn {
	background: #00b900;
	border-radius: 30px;
	color: #fff;
	display: inline-block;
	font-size: 2.4rem;
	margin: 30px 0;
	padding: 10px 40px;
}
@media screen and (max-width: 767px) {
	.sns_wrap.lineYoutube {
		display: flex;
		flex-wrap: wrap;
	}
	#sect_sns .lineArea {
		order: 2;
		padding: 20px 0;
	}
	#sect_sns .lineArea .cont {
		display: block;
		text-align:center;
		width: 100%;
	}
	#sect_sns .lineArea  h2 {
		text-align: center;
	}
	
	#sect_sns .lineArea h2 img {
		width: 48px;
	}
	#sect_sns .lineArea .cont h3 {
		padding: 0 10%;
	}
	#sect_sns .lineArea .cont h3 img {
		vertical-align: middle;
		width: 100%;
	}
	.android #sect_sns .lineArea .cont img {
		vertical-align: baseline;
	}
	
	#sect_sns .lineArea .btn_wrap {
		margin: 0;
	}

	#sect_sns .lineArea  .btn_wrap .follow-btn {
		font-size: 1rem;
		margin: 10px 0 0;
	}
}
#sect_sns .youtubeArea {
	background: #F9B4B4;
	padding: 50px 0;
	width: 50%;
}
#sect_sns .youtubeArea h2 {
	padding: 35px 0;
	text-align: center;
}
#sect_sns .youtubeArea h2 img {
	vertical-align: sub;
	width: 240px;
}
#sect_sns .youtubeArea h3 {
	text-align: center;
}
#sect_sns .youtubeArea h3 img {
	vertical-align: sub;
	width: 183px;
}
#sect_sns .youtubeArea .follow-btn {
	background: #EA3223;
	border-radius: 30px;
	color: #fff;
	display: inline-block;
	font-size: 2.4rem;
	margin: 30px 0;
	padding: 10px 40px;
}
@media screen and (max-width: 767px) {
	#sect_sns .youtubeArea {
		order: 1;
		width: 100%;
		padding: 20px 0;
	}
	#sect_sns .youtubeArea .cont {
		display: block;
		text-align:center;
		width: 100%;
	}
	#sect_sns .youtubeArea h2 {
		padding: 25px 0 20px;
		text-align: center;
	}
	
	#sect_sns .youtubeArea h2 img {
		width: 120px;
	}
	#sect_sns .youtubeArea .cont h3 {
		padding: 0 10%;
	}
	#sect_sns .youtubeArea .cont h3 img {
		vertical-align: middle;
		width: 100%;
	}
	.android #sect_sns .youtubeArea .cont img {
		vertical-align: baseline;
	}
	
	#sect_sns .youtubeArea .btn_wrap {
		margin: 0;
	}

	#sect_sns .youtubeArea  .btn_wrap .follow-btn {
		font-size: 1rem;
		margin: 10px 0 0;
		padding: 10px 20px;
	}
}
/*** Add at 2023/10/30***/
#sect_sns .xArea {
	background: #e0f2fd;
	padding: 50px 0;
	width: 50%;
}
#sect_sns .xArea h2 {
	padding: 10px 0;
	text-align: center;
}
#sect_sns .xArea h2 img {
	vertical-align: sub;
	width: 80px;
}
#sect_sns .xArea h3 {
	text-align: center;
}
#sect_sns .xArea h3 img {
	vertical-align: sub;
	width: 183px;
}
#sect_sns .xArea .follow-btn {
	background: #000;
	border-radius: 30px;
	color: #fff;
	display: inline-block;
	font-size: 2.4rem;
	margin: 30px 0;
	padding: 10px 40px;
}
@media screen and (max-width: 767px) {
	#sect_sns .xArea {
		order: 3;
		padding: 20px 0;
	}
	#sect_sns .xArea .cont {
		display: block;
		text-align:center;
		width: 100%;
	}
	#sect_sns .xArea  h2 {
		text-align: center;
	}
	
	#sect_sns .xArea h2 img {
		width: 48px;
	}
	#sect_sns .xArea .cont h3 {
		padding: 0 10%;
	}
	#sect_sns .xArea .cont h3 img {
		vertical-align: middle;
		width: 100%;
	}
	.android #sect_sns .xArea .cont img {
		vertical-align: baseline;
	}
	
	#sect_sns .xArea .btn_wrap {
		margin: 0;
	}

	#sect_sns .xArea  .btn_wrap .follow-btn {
		font-size: 1rem;
		margin: 10px 0 0;
	}
}
/* ------------------------------
    clearfix
------------------------------ */

.cf:after{
  content: ".";
  display: block;
  height: 0;
  font-size:0;
  clear: both;
  visibility:hidden;
}

.cf {display: inline-block;}

/* Hides from IE Mac */
* html .cf {height: 1%;}
.cf {display:block;}
/* End Hack */


/* ------------------------------
    sp/pc
------------------------------ */

@media screen and (min-width:768px) {
.sp {
	display: none!important;
}
}

@media screen and (max-width:767px) {
.pc {
	display: none!important;
}
}
img.radius { border-radius:20px; }
.disable { opacity:0.3;	cursor:default; }



/* ------------------------------
    BannerArea
------------------------------ */
.mainBannerArea {
	max-width: 980px;
	margin: 0 auto;
}
.mainBannerArea ul {
	margin: 0 0 20px;
}
.mainBannerArea ul:nth-child(2) {
	display: flex;
	justify-content: space-between;
}
.mainBannerArea ul:nth-child(2) li {
	flex-basis: 480px;
}
.mainBannerArea ul li.campaign202308 {
	margin: 0 0 20px;
}
@media screen and (max-width: 767px) {
	.mainBannerArea {
		padding: 0 2em
	}
	.mainBannerArea ul {
		margin: 0 0 10px;
	}
	.mainBannerArea ul:nth-child(2) {
		display: block;
	}
	/*.mainBannerArea ul li:nth-child(1) {*/
	.mainBannerArea ul li.book-suimemo {
		margin: 0 0 10px;
	}
	.mainBannerArea ul li.campaign202308 {
		margin: 0 0 10px;
	}
	.mainBannerArea ul:nth-child(2) li:nth-child(1) {
		margin: 0 0 10px;
	}
}
