@charset "utf-8";

/*===============================================
●共通
===============================================*/

/* mainWrap
---------------------------------------------- */
#mainWrap #mainWrapInner {display: flex;}

/* mainTextBox
---------------------------------------------- */
#mainTextBox h1 span {
	font-family: "tbchibirgothicplusk-pro", sans-serif;
	font-style: normal;
	font-weight: 400;
	display: block;
}
#mainTextBox #imgBox {
	display: flex;
	align-items: center;
}

/* mainimgBox
---------------------------------------------- */
#mainImgBox .textBox span {
	display: block;
	width: 100%;
}
#mainImgBox .textBox span {line-height: 1.7em;}
#mainImgBox .textBox .time {
	font-family: "skolar-sans-latin", sans-serif;
	font-weight: 400;
	font-style: italic;
}
#mainImgBox .textBox .time:before {
	content: "";
	display: inline-block;
	background-color: #707070;
	width: 30px;
	height: 1px;
	vertical-align: middle;
	margin: 0 0.5em 0.2em 0;
}
#mainImgInner,
#mainImgBox #mainImgContents {position: relative;}
#mainImgInner #mainImgFrame,
#mainImgInner:after,
#mainImgBox #mainImgContents:after {
	content: "";
	display: inline-block;
	background-size: contain;
	background-repeat: no-repeat;
	vertical-align: middle;
	position: absolute;
	z-index: 2;
}
#mainImgInner:after {background-image: url( "../../images/mainframe/karin01.png");}
#mainImgBox ul li {position: relative;}
#mainImgBox .image {
	width: 100%;
	display: inline-block;
	border-radius: 10px;
	box-sizing: border-box;
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover;
	background-image:url("../../images/index/sample.jpg");
}
#mainImgBox #mainImgContents:after{
	background-image: url("../../images/mainframe/bird.png");
}
#mainImgBox .image:after {
	content: "";
	display: block;
	width: 100%;
	padding-top: 75%;
}
#mainImgBox .owl-prev,
#mainImgBox .owl-next {position: absolute;}
#mainImgBox .owl-prev img {transform: rotate(180deg);}
.owl-carousel .owl-stage-outer {border-radius: 10px;}

/* scrollDown
---------------------------------------------- */
#scrollDown {position: relative;}

/* topics
---------------------------------------------- */
#topicsTitle h2,
#topicsTitle div {text-align: center;}

/*===============================================
●画面の横幅が769px以下(スマホのみ)
===============================================*/
@media screen and (max-width: 769px){
	
	.bgWhite {
		padding-top: 5em;
		margin-top: 2em;
	}
	/* mainWrap
	---------------------------------------------- */
	#mainWrap #mainWrapInner {flex-wrap: wrap;}
	
	/* mainTextBox
	---------------------------------------------- */
	#mainTextBox {
		width: 100%;
		order: 2;
		max-width: 220px;
		margin: 2em auto 0;
	}
	#mainTextBox h1 span:first-of-type {
		font-size: 1.5em;
		line-height: 1.33em;
	}
	#mainTextBox h1 span:last-of-type {
		font-size: 0.86em;
		line-height: 2.5em;
	}
	#mainTextBox #imgBox {
		margin-top: 0.8em;
		justify-content: center;
	}
	#mainTextBox #imgBox #cnImg {
		max-width: 100px;
		margin-right: 1em;
	}
	#mainTextBox #imgBox #balloonImg {max-width: 80px;}
	
	/* mainImgBox
	---------------------------------------------- */
	#mainImgBox {
		position: relative;
		width: 100%;
		order: 1;
	}
	#mainImgBox .image {height: 60%;}
	#mainImgBox #mainImgInner {padding: 0 3em;}
	#mainImgInner #mainImgFrame {
		width: 83px;
		height: 83px;
		top: 60%;
		left: 25px;
		margin-top: -65px;
	}
	#mainImgInner:after {
		width: 58px;
		height: 71px;
		top: 75%;
		right: 0;
	}
	#mainImgBox #mainImgContents:after {
		width: 25px;
		height: 21px;
		top: 1em;
		right: -2.5em;
	}
	#mainImgBox .textBox {margin-top: 1.5em;}
	#mainImgBox .owl-prev {left: -1.5em;}
	#mainImgBox .owl-next {right: -1.5em;}
	#mainImgBox .owl-prev,
	#mainImgBox .owl-next {top: 40%!important;}
	#mainImgBox .owl-prev img,
	#mainImgBox .owl-next img {width: 9px;}
	
	/* scrollDown
	---------------------------------------------- */
	#scrollDown a {
		display: block;
		position: absolute;
		left: 1em;
		bottom: -1em;
	}
	#scrollDown svg {
		width: 11px;
		height: 70px;
	}
	
	/* topics
	---------------------------------------------- */
	#topics {margin-bottom: 7.5em;}
	#topics .inner {padding: 0;}
	#topics #topicsTitle {margin-bottom: 2.38em;}
	#topics #topicsTitle #topicsIcon {
		max-width: 44px;
		margin: 0 auto 0.5em;
	}
	#topicsList {margin-bottom: 4.5em;}
	#topicsList li a {padding: 1.2em 1.5em 1em;}
}

/*===============================================
●画面の横幅が770px以上(PCのみ)
===============================================*/
@media screen and (min-width: 770px){
	
	.bgWhite {
		padding-top: 3.6em;
		margin-top: 6%;
	}
	
	/* mainWrap
	---------------------------------------------- */
	#mainWrap {
		max-width: 1920px;
		margin: 4% auto 0;
		position: relative;
	}
	#mainWrap #mainWrapInner {
		width: 90%;
		max-width: 1920px;
		min-width: 730px;
		justify-content: space-between;
		position: relative;
		margin: 0 auto;
		align-items: center;
	}
	#mainWrap:before {
		content: "";
		display: inline-block;
		background-image: url( "../../images/mainframe/cloud.png");
		background-size: contain;
		background-repeat: no-repeat;
		vertical-align: middle;
		max-width: 77px;
		height: 54px;
		width: 5%;
		position: absolute;
		top: 0;
		left: 0.5em;
		z-index: 9999;
	}
	#mainImgBox ul li {
		min-height: 450px;
		max-height: 780px;
	}
	
	/* mainTextBox
	---------------------------------------------- */
	#mainTextBox {
		width: 45%;
		max-width: 370px;
		margin: 2% auto 0 0;
	}
	#mainTextBox h1 span:first-of-type {
		font-size: 2.2em;
		line-height: 1.6em;
	}
	#mainTextBox h1 span:last-of-type{
		font-size: 1.25em;
		line-height: 2.6em;
	}
	#mainTextBox #imgBox {
		justify-content: center;
		margin-top: 15%;
	}
	#mainTextBox #imgBox #cnImg {
		max-width: 158px;
		margin-right: 1em;
	}
	#mainTextBox #imgBox #balloonImg {max-width: 126px;}
	#mainTextBox #imgKarin {max-width: 107px;}
	
	/* mainImgBox
	---------------------------------------------- */
	#mainImgBox {
		max-width: 870px;
		width: 45%;
		margin-right: 10%;
	}
	#mainImgBox .textBox {margin-top: 2em;}
	#mainImgBox #mainImgInner #mainImgFrame {
		width: 130px;
		height: 130px;
		top: 75%;
		left: -30px;
		margin-top: -100px;
	}
	#mainImgBox #mainImgInner:after {
		max-width: 80px;
		width: 20%;
		height: 97px;
		top: 75%;
		right: -22%;
	}
	#mainImgBox #mainImgContents:after {
		max-width: 54px;
		width: 20%;
		height: 46px;
		top: 0;
		right: -15%;
	}
	#mainImgBox .owl-prev img,
	#mainImgBox .owl-next img {width: 9px;}
	#mainImgBox .owl-prev,
	#mainImgBox .owl-next {margin-top: 1em;}
	#mainImgBox .owl-prev {right: 2em;}
	#mainImgBox .owl-next {right: 0;}
	
	/* scrollDown
	---------------------------------------------- */
	#scrollDown {
		max-width: 1920px;
		margin: 0 auto;
	}
	#scrollDown a {
		display: block;
		position: absolute;
		left: 1.5%;
		bottom: 1em;
	}
	#scrollDown svg {
		width: 12px;
		height: 85px;
	}
	
	/* topics
	---------------------------------------------- */
	#topics {margin-bottom: 5.63em;}
	#topicsTitle {margin-bottom: 4.38em;}
	#topicsTitle #topicsIcon {
		max-width: 44px;
		margin: 0 auto 0.5em;
	}
	#topicsList {margin-bottom: 5.5em;}
}

/*===========================================================
●画面の横幅が1060px以上770px以下(スタイルが崩壊するため、特別処置)
=============================================================*/
@media screen and (min-width: 770px) and (max-width: 1060px) {
	
	#mainWrap {margin-top: 5%;}
	#mainWrap:before {width: 8%;}
	
	/* mainImgBox
	---------------------------------------------- */
	#mainImgBox {margin: 0 7% 0 0;}
	#mainImgBox #mainImgInner #mainImgFrame {
		width: 85px;
		height: 90px;
		margin-top: -70px;
		left: -20px;
	}
	#mainImgBox #mainImgInner:after {
		width: 52px;
		width: 15%;
		height: 68px;
		right: -4.5em;
		top: 60%;
	}
	#mainImgBox #mainImgContents:after {
		width: 42px;
		height: 46px;
		top: 1.5em;
		right: -4em;
	}
	#mainImgBox .textBox {margin-top: 1.5em;}
	
	/* mainTextBox
	---------------------------------------------- */
	#mainTextBox {margin: 10% auto 0 2%;}
	#mainTextBox #imgBox {margin-top: 2em;}
	#mainTextBox #imgBox #cnImg {width: 35%;}
	#mainTextBox #imgBox #balloonImg {width: 30%;}
	
	#scrollDown a {bottom: 2em;}
}

/*===========================================================
●画面の横幅が390px以上430px以下(スタイルが崩壊するため、特別処置)
=============================================================*/
@media screen and (min-width: 390px) and (max-width: 435px) {
	
	#mainImgInner:after {
		width: 15%;
		margin-top: -60px;
	}
}

/*===========================================================
●画面の横幅が32px以上389px以下(スタイルが崩壊するため、特別処置)
=============================================================*/
@media screen and (min-width: 320px) and (max-width: 389px) {
	
	#mainImgInner:after {
		width: 15%;
		top: 55%;
	}
	#mainImgBox .owl-prev,
	#mainImgBox .owl-next {top: 30%!important;}
}
