@charset "UTF-8";

/*!
Theme Name: Cocoon Child
Description: Cocoon専用の子テーマ
Theme URI: https://wp-cocoon.com/
Author: わいひら
Author URI: https://nelog.jp/
Template:   cocoon-master
Version:    1.1.3
*/

/************************************
************************************/


html {
	margin-top: 0 !important;
}

#wpadminbar {
	font-size: 13px;
	display: none;
}


body {
	line-height: 2.1;
	font-family: "Noto Sans JP", sans-serif;
	font-weight: 700px;
}



.main {
	border: none;
}


.wrap {
	width: 100%;
}

a {
	text-decoration: none !important;
	color: #000;
	transition: 0.4s;
}

a:hover {
	color: unset;
}

img {
	vertical-align: top;
}

.hamburger,
.globalMenuSp {
	display: none;
}

#main {
	padding: 0;
	background: none;
}

.content {
	margin-top: 0;
}

.content-in {
	padding-top: 0;
}

h1 {
	font-size: 50px;
	line-height: 140%;
}

h2 {
	font-size: 4.5vw;
	line-height: 120%;
	margin-bottom: 1.2vw;
}

h3 {
	font-size: 21px;
	line-height: 140%;
	margin-bottom: 20px;
}

h4 {
	font-size: 18px;
	line-height: 170%;
	margin-bottom: 10px;
	color: #A18063;
}

ul {
	padding-left: 0;
}

li {
	list-style: none;
}

table:not(.has-border-color) :where(th, td),
table tr:nth-of-type(2n+1) {
	background: none;
	border: none;
}

/*ヘッダー*/

.header {
	width: 100%;
}

.header img {
	max-height: 40px;
}

#header-container {
	position: fixed;
	width: 100% !important;
	background: none;
	z-index: 100;
	top: 0;
}

.header-container-in.hlt-top-menu {
	width: 100%;
	padding: 20px 44px;
	background: rgba(0, 0, 0, .3);
}

#header-container-in {
	display: flex;
	background: url(/wp-content/uploads/2025/06/header-back.webp);
	background-size: 100% 100%;
	padding: 10px 25px 50px;
	align-items: center;
}



.logo-image span,
.logo-image a {
	padding-top: 0 !important;
}

.header-in {
	margin-top: 10px;
	width: 100%;
	padding-right: 0;
	display: flex;
	flex-direction: row;
	justify-content: space-between;
}

.header-in:after {
	display: none;
}

.ori-header {
	display: flex;
	align-items: center;
}

.ori-header ul {
	display: flex;
	align-items: center;
}

.ori-header ul li {
	margin-right: 37px;
}

.ori-header ul li a {
	font-weight: bold;
}

.header-sns {
	margin-left: 30px;
}

.ori-header ul.header-sns li {
	margin-right: 15px;
}


#header-in .tagline {
	margin: 0;
	display: none;
}

.site-name-text {
	font-size: 100%;
}

.logo-image {
	padding: 0;
}

.logo {
	text-align: left;
}

.logo-text {
	padding: 0 0 20px;
}

.logo-image span,
.logo-image a {
	padding-top: 5px;
}

#navi {
	background: none;
	width: 75%;
}

.navi-in {
	width: 100%;
}

.navi-in>ul {
	justify-content: flex-end;
	margin-top: 3px;
}

.navi-in>ul li {
	width: auto;
	min-width: 0;
	margin: 0 15px;
}

.navi-in a {
	color: #fff;
	position: relative;
	font-size: 15px;
}

.navi-in a:hover {
	background: none;
	color: #fff;
}


/** 下線を左から引く **/
.navi-in a:after {
	position: absolute;
	bottom: 5px;
	left: 0;
	content: '';
	width: 0;
	height: 1px;
	/*下線の太さ*/
	background-color: #fff;
	/*下線の色*/
	transition: .3s;
	/*アニメーション速度*/
}

.navi-in a:hover:after {
	width: 100%;
}




.small-text {
	font-size: 80%;
}

.small-text-half {
	font-size: 60%;
	font-weight: normal;
}



.sub-title {
	font-size: 21px;
	font-weight: bold;
	margin-top: 15px;
	color: #000;
}

/*共通　ここまで*/



/*動画モーダル*/
.modal-window-conts {
	display: flex;
	justify-content: center;
}

/*/// サムネイル画像 ///*/
.modal-window-item .thumb {
	max-width: 300px;
	cursor: pointer;
}

/*/// video-conts ///*/
.video-conts {
	position: fixed;
	top: 0;
	left: 0;
	width: 100vw;
	height: 100vh;
	background-color: rgba(0, 0, 0, .7);
	visibility: hidden;
	/* 非表示にしておく */
	opacity: 0;
	/* 非表示にしておく */
	transition: all .3s;
	display: flex;
	justify-content: center;
	align-items: center;
	z-index: 1;
}

/*/// video-conts(active) ///*/
.video-conts.active {
	visibility: visible;
	opacity: 1;
	padding: 20px;
}

#videoPlayer {
	max-width: 1000px;
	width: 100%;
}

/*/// Close Button ///*/
.video-wrap {
	position: relative;
}

.video-close {
	position: absolute;
	top: -20px;
	right: -20px;
	width: 40px;
	height: 40px;
	border-radius: 50%;
	border: 1px solid #000;
	cursor: pointer;
}

/*動画モーダルここまで*/


/*LP　メイン*/


/*メインビジュアルmvエリア*/



h1 .mv-text-br {
	display: none;
}

.mv {
	height: 650px;
	display: flex;
	align-items: center;
	background-size: cover;
	background-position: center;
	color: #fff;
	position: relative;
}

.mv-content {
	position: relative;
	bottom: 0;
	top: 0;
	left: 0;
	right: 0;
	margin: auto;
	height: fit-content;
	z-index: 2;
	width: 100%;
	max-width: 1040px;
}

.mv-in {
	width: 100%;
	height: 650px;
	display: flex;
	align-items: center;
	justify-content: start;
}


.mv-bottom {
	font-size: 21px;
	line-height: 154%;
	margin-top: 36px;
}



.vegas-content-scrollable {
	position: absolute !important;
}



.wrap10vw {
	max-width: 1070px;
	padding: 90px 15px;
	margin: 0 auto;
}



.sec1-in {
	display: flex;
	justify-content: space-between;
}

.sec1-left {
	width: 56%;
	margin-top: 21px;
}

.sec1-left p {
	margin-bottom: 15px;
}

.sec1-left ul {
	margin-bottom: 15px;
}

.sec1-left ul li {
	position: relative;
	padding-left: 30px;
}

.sec1-left ul li:before {
	position: absolute;
	content: "";
	width: 21px;
	height: 16px;
	background: url(/wp-content/uploads/2025/06/check.webp);
	background-position: center;
	background-size: 100% 100%;
	left: 0;
	top: 0;
	bottom: 0;
	margin: auto 0;
}

.sec1-right {
	width: 39%;
}


.sec1-sep {
	background: url(/wp-content/uploads/2025/06/sec2.webp);
	background-size: cover;
	height: 32vw;
	width: 100%;
}



.sec2 {
	text-align: center;
	margin-top: -119px;
	position: relative;
	padding-top: 20px;
}

.sec2:before {
	content: "";
	background: #FDF9F8;
	width: 100%;
	height: 100%;
	position: absolute;
	z-index: -1;
	display: block;
	top: 0;
}

.sec2-in {
	padding-top: 0;
	padding-bottom: 0;
}

.sec2-in ul {
	margin-top: 75px;
}

.sec2-in ul li {
	position: relative;
	overflow: hidden;
}



.sec2-image {
	width: 49%;
	max-height: 322.5px;
	position: absolute;
	top: 37px;
	left: 30px;
	box-shadow: 7px 7px 30px #ADADAD;
	transform: rotate(-3deg);
	z-index: 2;
	overflow: hidden;
}

.sec2-in ul li:nth-child(even) .sec2-image {
	left: auto;
	right: 30px;
	transform: rotate(3deg);
}

.sec2-image img {
	box-shadow: 7px 7px 30px #ADADAD;
	object-fit: cover;
	width: 100%;
	height: 100%;
	object-position: 50%;
}

.merit-icon {
	display: inline-block;
	position: absolute;
	right: 0;
	top: 0;
	background: linear-gradient(to right, #92C6E2, #003B80);
	color: #fff;
	font-size: 18px;
	padding: 0 20px 3px;
	line-height: 156%;
}

.sec2-in ul li:nth-child(even) .merit-icon {
	right: auto;
	left: 0;
}

.sec2-text {
	width: 90%;
	background: #fff;
	padding: 50px;
	padding-left: 46%;
	text-align: left;
	margin: 80px 0 50px 10%;
	position: relative;
	min-height: 362px;
}

.sec2-text h3 span {
	display: block;
	font-size: 16px;
	font-weight: normal;
}

.sec2-in ul li:nth-child(even) .sec2-text {
	margin: 80px 10% 50px 0;
	padding-right: 46%;
	padding-left: 50px;
}


.sec2-sep {
	background: url(/wp-content/uploads/2025/06/sec2-sep.webp);
	background-size: 100% 100%;
	height: 111px;
	width: 100%;
}

button {
	border: none;
}

.sec2-image button {
	display: block;
}

.movie-button {
	background: #00CCAB;
	display: inline-block;
	margin-top: 30px;
	color: #fff;
	width: 212px;
	padding: 3px;
	text-align: center;
	font-size: 16px;
	border: none;
	padding: 9px 5px 12px;
}

.modal-video-body {
	max-width: 1100px !important;
}

.modal-video-movie-wrap {
	height: 62vh !important;
}

.modal-video-inner {
	height: fit-content !important;
	margin: auto;
	padding: 30px 0;
	background: #000;
}

.sec3-in {
	text-align: center;
}

.sec3-in ul {
	display: flex;
	margin-top: 50px;
}

.sec3-in ul li {
	margin-right: 40px;
	width: 100%;
	border-radius: 25px;
	border: 1px solid #4D4D4D;
	overflow: hidden;
}

.sec3-in ul li:last-child {
	margin-right: 0;
}

.sec3-in ul li h3 {
	background: #4D4D4D;
	color: #fff;
	padding: 12px;
	font-size: 21px;
}

.sec3-list-text {
	padding: 30px 45px 20px;
}



.sec4-in {
	text-align: center;
	padding-top: 40px;
}

.sec4-box {
	padding: 90px 15px;
}

.sec4-box-in img {
	margin: 0 auto;
}

.sec4-box1 {
	background: url(/wp-content/uploads/2025/06/sec4-back1.webp);
	background-size: cover;
	background-position: center;
	margin-top: 50px;
}

.sec4-box2 {
	background: url(/wp-content/uploads/2025/06/sec4-back2.webp);
	background-size: cover;
	background-position: center;
}

.sec4-box3 {
	background: url(/wp-content/uploads/2025/06/sec4-back3.webp);
	background-size: cover;
	background-position: center;
}



.sec5 {
	background: url(/wp-content/uploads/2025/06/sec5-back-scaled.webp);
	background-size: cover;
	color: #fff;
	text-align: center;
}

.sec5 .sub-title {
	color: #fff;
}

.sec5-box {
	margin-top: 85px;
}

.sec5 h3.sec5-title {
	text-align: left;
	position: relative;
	padding-left: 70px;
}

.sec5 h3.sec5-title:before {
	content: "";
	width: 60px;
	height: 1px;
	background: #fff;
	position: absolute;
	left: 0;
	top: 50%;
}

.sec5-box .news-list {
	color: #000;
	text-align: left;
}

.sec5-box .news-list li {
	display: flex;
	background: #fff;
	padding: 30px;
	border-radius: 25px;
	margin-bottom: 25px;
}

.topics-thum {
	margin-right: 30px;

}

.topics-thum {
	margin-right: 4%;
	width: 26%;
	height: 215px;
}

.topics-thum img {
	object-fit: cover;
	width: 100%;
	height: 100%;
}

.topics-list-text {
	width: 70%;
}


.sec6-in {
	padding: 100px 0 0;
	text-align: center;
}

.sec6-box {
	margin-bottom: 40px;
}

.sec6-box-last {
	margin-bottom: 0;
}

.sec6-box h3 {
	max-width: 1070px;
	padding: 0 15px;
	margin: 0 auto 30px;
	text-align: left;
}

.sec6-box h3 span {
	font-size: 16px;
	font-weight: 300;
	display: block;
}

.sec6-box ul {
	display: flex;
}

.sec7 {
	background: url(/wp-content/uploads/2025/06/sec7-back-scaled.webp);
	background-size: cover;
	color: #fff;
	position: relative;
}

.sec7-in {
	text-align: center;
	padding: 160px 15px 90px;
}

.sec7-en {
	position: absolute;
	right: 40px;
	top: 40px;
}

.sec7 .sub-title {
	color: #fff;
}

.sec7-box {
	border: 1px solid #fff;
	border-radius: 3px;
	margin-top: 40px;
	padding: 25px 80px 90px;
	text-align: left;
}


.tbl-list dl {
	display: flex;
	border-bottom: 1px solid #fff;
	padding: 25px 0;
}

.tbl-list dl dt {
	width: 20%;
	margin-right: 3%;
}

.tbl-list dl dd {
	width: 77%;
}



.line-button {
	background: #1EAA39;
	width: 285px;
	text-align: center;
	display: block;
	margin: 50px auto 0;
	color: #fff;
	padding: 15px;
}


.sec8 {
	background: url(/wp-content/uploads/2025/06/sec8-back-scaled.webp)no-repeat;
	background-size: 100%;
	background-position: center bottom;
}

.sec8-in {
	text-align: center;
}

.sec8-in ul {
	margin-top: 50px;
}

.sec8-in ul li {
	background: #fff;
	padding: 35px 27px;
	margin-bottom: 30px;
	border-radius: 25px;
	box-shadow: 8px 8px 8px #eee;
	text-align: left;
}

.sec8-in ul li h3 {
	font-size: 19px;
	border-bottom: 1px solid #0071BC;
	color: #0071BC;
	padding-bottom: 20px;
	position: relative;
	font-weight: normal;
	padding-left: 50px;
}

.sec8-in ul li h3:before {
	content: "Q";
	position: absolute;
	left: 0;
	top: 0;
	font-size: 35px;
}

.anc {
	padding-left: 50px;
	position: relative;
}

.anc:before {
	content: "A";
	position: absolute;
	left: 0;
	top: -23px;
	font-size: 35px;
	color: #808080;
}



.sec9-in {
	display: flex;
	align-items: center;
}

.sec9-left {
	width: 50%;
	padding-left: 12vw;
	padding-right: 10px;
}

.sec9-right {
	width: 50%;
}

.sec10 {
	background: #FCFBF7;
}

.sec10 h3 {
	font-size: 19px;
}

.sec10 .tbl-list dl {
	border-color: #999999;
	padding: 15px 0;
}

.ppcy {
	margin-top: 75px;
}

.ppcy-in {
	overflow-y: scroll;
	height: 400px;
	font-size: 14px;
	background: #fff;
	padding: 35px;
}

.ppcy-in h4 {
	font-size: 15px;
	color: #000;
	margin-top: 15px;
}













/*footerフッター*/

.footer {
	margin-top: 0;
	padding: 0;
}

.footer-bottom {
	margin-top: 0;
	background: linear-gradient(to right, #92C6E2, #003B80);
	color: #fff;
}

.footer-bottom-content {
	width: 100%;
	float: none;
	text-align: center;
}

.footer-bottom-logo {
	display: none;
}

.copyright {
	margin-top: 0;
}

.floating {
	position: fixed;
	bottom: 140px;
	right: 80px;
	width: auto;
	height: auto;
}

.floating img {
	width: 100%;
	transition: 0.4s;
}

.floating img:hover {
	opacity: 0.8;
}

.floating.pc-dis {
	display: flex;
}

.floating img {
	width: 140px;
	transition: 0.4s;
}

img.floatingbanner {
	margin-right: 20px;
}






/*========= 流れるテキスト ===============*/

/*全共通*/

.slide-in {
	overflow: hidden;
	display: inline-block;
}

.slide-in_inner {
	display: inline-block;

}

/*左右のアニメーション*/
.leftAnime {
	opacity: 0;
	/*事前に透過0にして消しておく*/
}

.slideAnimeLeftRight {
	animation-name: slideTextX100;
	animation-duration: 0.4s;
	animation-fill-mode: forwards;
	opacity: 0;
}

@keyframes slideTextX100 {
	from {
		transform: translateX(-100%);
		/*要素を左の枠外に移動*/
		opacity: 0;
	}

	to {
		transform: translateX(0);
		/*要素を元の位置に移動*/
		opacity: 1;
	}
}

.slideAnimeRightLeft {
	animation-name: slideTextX-100;
	animation-duration: 0.4s;
	animation-fill-mode: forwards;
	opacity: 0;
}


@keyframes slideTextX-100 {
	from {
		transform: translateX(100%);
		/*要素を右の枠外に移動*/
		opacity: 0;
	}

	to {
		transform: translateX(0);
		/*要素を元の位置に移動*/
		opacity: 1;
	}
}


/*h1下段テキスト　ここまで*/




/*スライドアニメーション*/

.slideUp {
	animation-name: slideUpAnime;
	animation-duration: 0.5s;
	animation-fill-mode: forwards;
	bottom: -6.5vw;
}

@keyframes slideUpAnime {
	from {
		bottom: -6.0vw;
	}

	to {
		bottom: 0;
	}
}


/*フェードインアニメーション*/
/* その場で */
.fadeIn {
	animation-name: fadeInAnime;
	animation-duration: 0.35s;
	animation-fill-mode: forwards;
	opacity: 0;
}

@keyframes fadeInAnime {
	from {
		opacity: 0;
	}

	to {
		opacity: 1;
	}
}

/* 下から */

.fadeUp {
	animation-name: fadeUpAnime;
	animation-duration: 0.35s;
	animation-fill-mode: forwards;
	opacity: 0;
}

@keyframes fadeUpAnime {
	from {
		opacity: 0;
		transform: translateY(50px);
	}

	to {
		opacity: 1;
		transform: translateY(0);
	}
}

/* 上から */

.fade-box {
	opacity: 0;
}

.fadeDown {
	animation-name: fadeDownAnime;
	animation-duration: 0.35s;
	animation-fill-mode: forwards;
	opacity: 0;
}

@keyframes fadeDownAnime {
	from {
		opacity: 0;
		transform: translateY(-50px);
	}

	to {
		opacity: 1;
		transform: translateY(0);
	}
}

/* 左から */

.fadeLeft {
	animation-name: fadeLeftAnime;
	animation-duration: 0.35s;
	animation-fill-mode: forwards;
	opacity: 0;
}

@keyframes fadeLeftAnime {
	from {
		opacity: 0;
		transform: translateX(-50px);
	}

	to {
		opacity: 1;
		transform: translateX(0);
	}
}

/* 右から */

.fadeRight {
	animation-name: fadeRightAnime;
	animation-duration: 0.35s;
	animation-fill-mode: forwards;
	opacity: 0;
}

@keyframes fadeRightAnime {
	from {
		opacity: 0;
		transform: translateX(50px);
	}

	to {
		opacity: 1;
		transform: translateX(0);
	}
}



/*==================================================
じわっ
===================================*/

.blur {
	animation-name: blurAnime;
	animation-duration: 1s;
	animation-fill-mode: forwards;
}

@keyframes blurAnime {
	from {
		filter: blur(10px);
		transform: scale(1.02);
		opacity: 0;
	}

	to {
		filter: blur(0);
		transform: scale(1);
		opacity: 1;
	}
}



/*フェードインアニメーション　ここまで*/

/*伸線*/
.extend-line:before {
	content: '';
	position: relative;
	display: block;
	margin-bottom: 10px;
	border-bottom: solid 1px #000;
	animation: border_anim 0.5s linear forwards;
}

@keyframes border_anim {
	0% {
		width: 0;
	}

	100% {
		width: 80px;
	}
}

/*伸線　ここまで*/


/*見出しUpmove*/

.UpmoveTrigger {
	overflow: hidden;
}

.UpmoveTrigger span {
	position: relative;
	bottom: -19vw;
}

.Upmove {
	overflow: hidden;
	/* はみ出た分を非表示 */
}

.Upmove span {
	position: relative;
	/* bottomを指定するために必要 */
	animation: upanime 0.3s ease-out forwards;
	/* 最後ゆっくりになるアニメを1秒かけて1回だけやったあと固定 */
	animation-delay: 0.8s;
	bottom: -19vw;
}

@keyframes upanime {
	from {
		bottom: -30px;
		/* 親要素外に配置させて見えなくしておく */
	}

	to {
		bottom: 0px;
		/* 下から0pxに指定 */
	}
}

/*Upmove ここまで*/


/*Downmove */
.DownmoveTrigger {
	overflow: hidden;
}

.DownmoveTrigger span {
	position: relative;
	bottom: -100px;
}

.Downmove {
	overflow: hidden;
	/* はみ出た分を非表示 */
}

.Downmove span {
	position: relative;
	/* topを指定するために必要 */
	animation: downanime 0.3s ease-out forwards;
	/* 最後ゆっくりになるアニメを1秒かけて1回だけやったあと固定 */
	animation-delay: 1.1s;
	top: -100px;
}

@keyframes downanime {
	from {
		top: -30px;
		/* 親要素外に配置させて見えなくしておく */
	}

	to {
		top: 0px;
		/* 下から0pxに指定 */
	}
}

/*Downmove ここまで*/








/*左右のアニメーション*/

.slide-in {
	overflow: hidden;
	display: inline-block;
}

.slide-in_inner {
	display: inline-block;

}


.leftAnime {
	opacity: 0;
	/*事前に透過0にして消しておく*/
}

.slideAnimeLeftRight {
	animation-name: slideTextX100;
	animation-duration: 1.5s;
	animation-fill-mode: forwards;
	opacity: 0;
}

@keyframes slideTextX100 {
	from {
		transform: translateX(-100%);
		/*要素を左の枠外に移動*/
		opacity: 0;
	}

	to {
		transform: translateX(0);
		/*要素を元の位置に移動*/
		opacity: 1;
	}
}

.slideAnimeRightLeft {
	animation-name: slideTextX-100;
	animation-duration: 1.5s;
	animation-fill-mode: forwards;
	opacity: 0;
}


@keyframes slideTextX-100 {
	from {
		transform: translateX(100%);
		/*要素を右の枠外に移動*/
		opacity: 0;
	}

	to {
		transform: translateX(0);
		/*要素を元の位置に移動*/
		opacity: 1;
	}
}







/*ディレイタイム　delay-time*/
.delay-time01 {
	animation-delay: 0.1s;
}

.delay-time02 {
	animation-delay: 0.2s;
}

.delay-time03 {
	animation-delay: 0.3s;
}

.delay-time04 {
	animation-delay: 0.4s;
}

.delay-time05 {
	animation-delay: 0.5s;
}

.delay-time06 {
	animation-delay: 0.6s;
}

.delay-time07 {
	animation-delay: 0.7s;
}

.delay-time08 {
	animation-delay: 0.8s;
}

.delay-time09 {
	animation-delay: 0.9s;
}

.delay-time10 {
	animation-delay: 1s;
}

.delay-time12 {
	animation-delay: 1.2s;
}

.delay-time13 {
	animation-delay: 1.3s;
}

.delay-time15 {
	animation-delay: 1.5s;
}

.delay-time18 {
	animation-delay: 1.8s;
}

.delay-time20 {
	animation-delay: 2s;
}

.delay-time21 {
	animation-delay: 2.1s;
}

.delay-time23 {
	animation-delay: 2.3s;
}

.delay-time25 {
	animation-delay: 2.5s;
}

.delay-time28 {
	animation-delay: 2.8s;
}

.delay-time29 {
	animation-delay: 2.9s;
}

.delay-time30 {
	animation-delay: 3s;
}

.delay-time37 {
	animation-delay: 3.7s;
}

.delay-time35 {
	animation-delay: 3.5s;
}

.delay-time40 {
	animation-delay: 4s;
}

.delay-time50 {
	animation-delay: 5s;
}

.delay-time60 {
	animation-delay: 6s;
}

.delay-time70 {
	animation-delay: 7s;
}

.delay-time80 {
	animation-delay: 8s;
}

.delay-time90 {
	animation-delay: 9s;
}

.delay-time100 {
	animation-delay: 10s;
}

/*ディレイタイム　delay-time ここまで*/






/*アニメーションｃｓｓ*/

/* ｈ２　animation */
@-webkit-keyframes passing-bar {
	0% {
		left: 0;
		right: auto;
		width: 0;
	}

	50% {
		left: 0;
		right: auto;
		width: 100%;
	}

	51% {
		left: auto;
		right: 0;
		width: 100%;
	}

	100% {
		left: auto;
		right: 0;
		width: 0;
	}
}

@keyframes passing-bar {
	0% {
		left: 0;
		width: 0;
	}

	50% {
		left: 0;
		width: 100%;
	}

	51% {
		left: 0;
		width: 100%;
	}

	100% {
		left: 100%;
		width: 0;
	}
}

@-webkit-keyframes passing-bar2 {
	0% {
		left: 0;
		right: auto;
		width: 0;
	}

	50% {
		left: 0;
		right: auto;
		width: 100%;
	}

	51% {
		left: auto;
		right: 0;
		width: 100%;
	}

	100% {
		left: auto;
		right: 0;
		width: 0;
	}
}


@-webkit-keyframes passing-txt {
	0% {
		opacity: 0;
	}

	50% {
		opacity: 0;
	}

	100% {
		opacity: 1;
	}
}

@keyframes passing-txt {
	0% {
		opacity: 0;
	}

	50% {
		opacity: 0;
	}

	100% {
		opacity: 1;
	}
}

/* css */
.passing .passing-box {
	display: block;
	text-align: left;
}

.passing .passing-bar {
	position: relative;
	display: inline-block;
	/*　後ほど解説　*/
	-webkit-transform: translate3d(0, 0, 0);
	-ms-transform: translate3d(0, 0, 0);
	transform: translate3d(0, 0, 0);
}

.passing .passing-bar:before {
	content: '';
	display: inline-block;
	width: 0;
	height: 100%;
	position: absolute;
	left: 0;
	top: 0;
	z-index: 1;
	/* 任意の値 */
	background: #000;
}



.passing .passing-txt {
	opacity: 0;
	/* 後ほど解説 */
	-webkit-transform: translate3d(0, 0, 0);
	-ms-transform: translate3d(0, 0, 0);
	transform: translate3d(0, 0, 0);
	/* 任意の値 */
	font-weight: bold;
	line-height: 133%;
}

.passing.move .passing-bar:before,
.passing.move .passing-bar2:before {
	-webkit-animation: passing-bar 1s ease 0s 1 normal forwards;
	animation: passing-bar 1s ease 0s 1 normal forwards;
}

.passing.move .passing-txt {
	-webkit-animation: passing-txt 0s ease .5s 1 normal forwards;
	animation: passing-txt 0s ease .5s 1 normal forwards;
}



/*利用規約　terms of service*/
.term-sec-box-in {
	max-width: 1000px;
	margin: 85px auto;
	border-top: 1px solid #000;
	padding: 40px 10px 0;
}

.term-sec-box-in h3 {
	border-left: 1px solid #000;
	padding-left: 15px;
	line-height: 110%;
	padding-bottom: 0.3vw;
}







.pc-dis {
	display: block;
}

.sp-dis {
	display: none;
}




/************************************
** レスポンシブデザイン用のメディアクエリ
************************************/

/*1023px以下*/

@media screen and (max-width: 1023px) {}




/*850px以下*/
@media screen and (max-width: 850px) {
	/*必要ならばここにコードを書く*/



	.pc-dis {
		display: none;
	}

	.sp-dis {
		display: block;
	}



	.header {
		width: auto;
	}

	#header-container-in {
		height: 55px;
		min-height: 0;
		top: 0;
		padding: 10px;
	}

	.header div.header-in {
		min-height: auto;
		margin-top: -3px;
	}

	.logo-header img {
		width: auto;
		height: 41px;
		padding: 6px 0;
	}

	.site-name-text-link {
		padding: 0;
	}

	.logo-image span,
	.logo-image a {
		padding-top: 3px;
		padding-left: 3px;
		height: 100%;
	}

	.sec-button {
		text-align: center;
	}


	body {
		width: 100%;
		min-width: 0;
	}


	.wrap10vw {
		padding: 66px 15px;
	}


	h3 {
		font-size: 19px;
	}

	.en img {
		height: 70px;
	}





	/*LP スマホ*/
	h1 {
		font-size: 28px;
		text-align: center;
	}

	br.mv-text-br {
		display: block;
	}

	.mv-in {
		overflow: hidden;
	}

	.mv-bottom {
		font-size: 16px;
		line-height: 154%;
		margin-top: 36px;
		text-align: center;
	}

	.sec1-in {
		display: flex;
		flex-direction: column-reverse;
	}

	.sec1-left {
		width: 100%;
	}

	.sec1-right {
		width: 100%;
	}

	.sec1-sep {
		height: 200px;
	}

	.sub-title {
		font-size: 17px;
		margin-top: 0;
	}

	.sec2-in ul {
		margin-top: 22px;
	}

	.modal-video-inner {
		padding: 0;
	}

	.sec2-image {
		width: 100%;
		position: relative;
		top: auto;
		left: auto;
		box-shadow: none;
		transform: none;
		z-index: 2;
	}

	.sec2-image img {
		box-shadow: none;
	}

	.sec2-text {
		width: 100%;
		background: #fff;
		padding: 43px 15px;
		text-align: left;
		margin: 0;
		position: relative;
		min-height: 0;
	}

	.sec2-in ul li:nth-child(even) .sec2-image {
		left: auto;
		right: auto;
		transform: none;
	}


	.sec2-in ul li:nth-child(even) .sec2-text {
		margin: 0;
		padding: 43px 15px;
	}

	.movie-button {
		margin: 30px auto 0;
		display: block;
	}

	.sec2-sep {
		height: 50px;
	}

	.sec3-in ul {
		display: block;
		margin-top: 35px;
	}

	.sec3-in ul li {
		margin-right: 0;
		margin-bottom: 30px;
		border: none;
		border-radius: 0;
	}

	.sec3-list-text {
		padding: 5px 0 0;
	}

	.sec3-in ul li h3 {
		padding: 8px;
		font-size: 19px;
	}

	.sec4-box {
		padding: 32px 15px;
	}

	.sec4-box-in img {
		margin: 0 auto;
		max-width: 500px;
		width: 100%;
	}

	.sec5-box {
		margin-top: 40px;
	}

	.sec5 h3.sec5-title {
		padding-left: 33px;
	}

	.sec5 h3.sec5-title:before {
		content: "";
		width: 23px;
	}

	.sec5-box .news-list li {
		display: flex;
		flex-direction: column;
		padding: 16px;
		border-radius: 0;

	}


	.topics-thum {
		margin-right: 0;
		width: 100%;
		height: auto;
	}

	.topics-list-text {
		width: 100%;
		margin-top: 16px;
	}

	.topics-list-text h3 {
		margin-bottom: 6px;
	}


	.sec6-box ul {
		display: flex;
		flex-wrap: wrap;
	}

	.sec6-box ul li {
		width: 50%;
	}

	.sec7-en {
		position: relative;
		right: auto;
		top: auto;
	}

	.sec7-box {
		border: none;
		margin-top: 30px;
		padding: 0;
	}

	.tbl-list dl {
		font-size: 14px;
	}

	.tbl-list dl dt {
		width: 25%;
	}

	.sec8-in ul li h3 {
		font-size: 16px;
		padding-left: 30px;
	}

	.sec8-in ul li h3:before {
		content: "Q";
		position: absolute;
		left: 0;
		top: 0;
		font-size: 21px;
	}

	.anc {
		padding-left: 30px;
		font-size: 14px;
	}

	.anc:before {
		content: "A";
		position: absolute;
		left: 0;
		top: -8px;
		font-size: 21px;
		color: #808080;
	}

	.sec8-in ul li {
		background: none;
		padding: 0;
		margin-bottom: 45px;
		box-shadow: none;
	}

	.sec9-in {
		display: block;
		align-items: center;
		padding-top: 55px;
	}

	.sec9-left {
		width: 100%;
		padding-left: 15px;
		padding-right: 15px;
	}

	.sec9-left {
		width: 100%;
		padding-left: 15px;
		padding-right: 15px;
		text-align: center;
		line-height: 149%;
		font-size: 14px;
		margin-bottom: 35px;
	}

	.sec9-right {
		width: 100%;
	}

	.sec9-left img {
		width: 180px;
		margin-bottom: 10px;
	}

	.sec10 .tbl-list {
		font-size: 14px;
	}

	.sec10 .tbl-list dl dt {
		width: 30%;
	}














	/*　ハンバーガーボタン　*/
	.hamburger {
		display: block;
		position: fixed;
		z-index: 9999;
		right: 13px;
		top: 6px;
		width: 42px;
		height: 42px;
		cursor: pointer;
		text-align: center;

	}

	.hamburger span {
		display: block;
		position: absolute;
		width: 30px;
		height: 1px;
		left: 6px;
		background: #666;
		-webkit-transition: 0.3s ease-in-out;
		-moz-transition: 0.3s ease-in-out;
		transition: 0.3s ease-in-out;
	}

	.hamburger span:nth-child(1) {
		top: 10px;
	}

	.hamburger span:nth-child(2) {
		top: 20px;
	}

	.hamburger span:nth-child(3) {
		top: 30px;
	}

	/* ナビ開いてる時のボタン */
	.hamburger.active span:nth-child(1) {
		top: 16px;
		left: 6px;
		-webkit-transform: rotate(-45deg);
		-moz-transform: rotate(-45deg);
		transform: rotate(-45deg);
		background: #fff;
	}

	.hamburger.active span:nth-child(2),
	.hamburger.active span:nth-child(3) {
		top: 16px;
		-webkit-transform: rotate(45deg);
		-moz-transform: rotate(45deg);
		transform: rotate(45deg);
		background: #fff;
	}

	nav.globalMenuSp {
		display: block;
		position: fixed;
		z-index: 105;
		top: 0;
		left: 0;
		color: #000;
		background: none;
		text-align: center;
		transform: translateX(100%);
		transition: all 0.6s;
		width: 100%;
		margin-top: 0;
		background: url(/wp-content/uploads/2024/08/hamburger-back.webp);
		background-size: cover;
	}

	nav.globalMenuSp ul {
		background: rgba(0, 0, 0, .8);
		margin: 0 auto;
		padding: 0;
		width: 100%;
		height: 100vh;
		padding-top: 44px;

	}

	nav.globalMenuSp ul li {
		list-style-type: none;
		padding: 0;
		width: 100%;
		border-bottom: 1px solid #fff;
	}

	nav.globalMenuSp ul li:last-child {
		padding-bottom: 0;
		border-bottom: none;

	}


	nav.globalMenuSp ul li a {
		display: block;
		color: #fff;
		padding: 1em 0;
		text-decoration: none;
		transition: 0.5s;
		font-size: 14px;
		font-weight: normal;
	}


	/* このクラスを、jQueryで付与・削除する */
	nav.globalMenuSp.active {
		transform: translateX(0%);
	}



	nav.globalMenuSp ul {}

	nav.globalMenuSp ul li.ham-tik {
		width: 50%;
		border: none;
		float: right;
		overflow: hidden;
		text-align: left;
		padding-left: 15px;
	}

	nav.globalMenuSp ul li.ham-insta {
		width: 50%;
		border: none;
		float: left;
		overflow: hidden;
		text-align: right;
		padding-right: 15px;
	}

	nav.globalMenuSp ul li.ham-tik img,
	nav.globalMenuSp ul li.ham-insta img {
		height: 50px;
		margin-top: 8px;
	}



	.floating {
		position: fixed;
		bottom: 0;
		right: 0;
		width: 100%;
		height: auto;
		text-align: center;
		padding: 13px;
		background: #3CB156;
		color: #fff;
		font-weight: bold;
	}

	.floating a {
		color: #fff;
	}


	.floating.pc-dis {
		display: none;
	}

	.floating.sp-dis {
		display: block;
	}

	img.floatingbanner {
		position: fixed;
		bottom: 65px;
		right: 0;
		width: 90px;
	}


}

/*480px以下*/
@media screen and (max-width: 480px) {

	/*必要ならばここにコードを書く*/
	.entry-title,
	.article h2 {
		font-size: 20px;
		padding: 10px 0;
	}

	.article h2 {
		background: none;
		border-bottom: none;
		border-left: 1px solid #000;
		padding: 2px 0 5px 11px;
		line-height: 138%;
		border-radius: 0;
		margin-bottom: 20px;
	}

	.page-numbers {
		width: 46px;
		height: 46px;
		line-height: 42px;
	}

	.floating {
		position: fixed !important;
		bottom: 0 !important;
		left: 0 !important;
		width: 100% !important;
		padding: 15px 0 calc(15px + env(safe-area-inset-bottom)) !important;
		background: #3CB156;
		/* LINEの色 */
		z-index: 99999 !important;
	}
}



/*==================================================
スーッ
===================================*/

/*枠線が伸びて出現*/
.line {
	position: relative;
	/* 枠線が書かれる基点*/
}

/*上下線*/
.line::before,
.line::after {
	position: absolute;
	content: "";
	width: 0;
	height: 1px;
	background: #aaa;
	/* 枠線の色*/
	z-index: -1;
}

/*左右線*/
.line2::before,
.line2::after {
	position: absolute;
	content: "";
	width: 1px;
	height: 0;
	background: #aaa;
	/* 枠線の色*/
	z-index: -1;
}

/*上線*/
.line::before {
	top: 0;
	left: 0;
	animation: lineAnime .5s linear 0s forwards;
	/*表示されて0秒後に上線が0.5秒かけて表示*/
}

/*右線*/
.line2::before {
	top: 0;
	right: 0;
	animation: lineAnime2 .5s linear 0s forwards;
	/*表示されて0.5秒後に右線が0.5秒かけて表示*/
}

/*下線*/
.line::after {
	bottom: 0;
	right: 0;
	animation: lineAnime .5s linear 0s forwards;
	/*表示されて1秒後に下線が0.5秒かけて表示*/
}

/*左線*/
.line2::after {
	bottom: 0;
	left: 0;
	animation: lineAnime2 .5s linear 0s forwards;
	/*表示されて1.5秒後に左線が0.5秒かけて表示*/
}

@keyframes lineAnime {
	0% {
		width: 0%;
	}

	100% {
		width: 100%;
	}
}

@keyframes lineAnime2 {
	0% {
		height: 0%;
	}

	100% {
		height: 100%;
	}
}

/*枠線内側の要素*/


.line .lineinappear {
	animation: lineInnerAnime 1s linear .7s forwards;
	/*1.5秒後に中央のエリアが0.5秒かけて表示*/
	opacity: 0;
	/*初期値を透過0にする*/
	z-index: 1;
	position: relative;
}

@keyframes lineInnerAnime {
	0% {
		opacity: 0;
	}

	100% {
		opacity: 1;
	}
}

.line {
	box-sizing: border-box;
}

/*コラム追加*/
.container {
	min-height: 100vh;
	display: flex;
	flex-direction: column;

	.content {
		flex-grow: 1;
	}
}

.single,
.blog,
.archive {
	.content-in {
		padding-top: 120px;
		max-width: 1272px;
	}
}

.main {}

.sidebar {


	.wp-block-search__button {
		font-size: 11px;
	}
}

.entry-content {
	strong.main {
		padding: 0;
		display: inline;
		background: linear-gradient(transparent 60%, #fff33f 60%);
	}
}
}

@media screen and (max-width: 960px) {
	.single {
		.content-in {
			display: block;
		}
	}
}

.sidebar h2,
.sidebar h3 {
	background-color: #1F73BB;
	color: #fff;
	font-size: 14px;
}

.article h2 {
	background-color: #d9edfe;
}

.article h3 {
	border-left-color: #1F73BB;
	border-top: none;
	border-bottom: none;
	border-right: none;
}

.article h4 {
	border-top-color: #1F73BB;
	border-bottom-color: #1F73BB;
	color: var(--cocoon-text-color);
}

.article h5 {
	border-bottom-color: #1F73BB;
}

.article h6 {
	border-bottom-color: #1F73BB;
}