@charset "utf-8";
/*
Theme Name: heartful-taxi - WEB SITE
Theme URI: 
Description: heartful-taxi
Version: 1.0
Author: heartful-taxi
Author URI: 
Tags: heartful-taxi
*/


/*  スライドショー  ----------------------------------------------*/
.index_slide_box {
	width:100%;
	height: 100%;
	display:block;
	margin:0px;
	padding:0px;
	box-sizing: border-box;
	position: absolute;
	top: 0px;
	left: 0px;
	z-index: 1;
	clear:both;
	font-size:0px;
	line-height:0px;
	overflow:hidden;	
}

.index_slide_left {
	width: 100%;
	height: calc(100% - 117px);
	display:block;
	margin:0px;
	padding:0px;
	box-sizing: border-box;
	position: absolute;
    bottom: 0px;
	left: 0px;
	z-index: 1;
	clear:both;
	font-size:0px;
	line-height:0px;
	overflow:hidden;
    border-radius: 0px;
}

/* -------------------------------------// スライドショー */



/*  スライドショー  ----------------------------------------------*/

@keyframes AAnime{
   0% { z-index: 5; opacity: 1; background-position: 0vw 0px; }
  25% { z-index: 10; opacity: 1;}
  31% { z-index: 15; opacity: 1; background-position: -4vw 0px; } 
  32% { z-index: 1; opacity: 0; background-position: -4vw 0px; }  
 100% { z-index: 1; opacity: 0; background-position: 0vw 0px; }
}

@keyframes AAnimeFadeout{
   0% { -webkit-mask-position: 0vw 0px; mask-position: 0vw 0vh; }
  25% { -webkit-mask-position: 0vw 0px; mask-position: 0vw 0vh; }   
  31% { -webkit-mask-position: -100vw 0px; mask-position: 0vw -200vh; }
  99% { -webkit-mask-position: -100vw 0px; mask-position: 0vw -200vh; } 
 100% { -webkit-mask-position: 0vw 0px; mask-position: 0vw 0vh; }
}

.index_slide {
	width:100%;
	height: 100%;
	display:block;
	margin:0px;
	padding:0px;
	box-sizing: border-box;
	position: absolute;
	top: 0px;
	left: 0px;
	z-index: 1;
	clear:both;
	font-size:0px;
	line-height:0px;
	overflow:hidden;
}

.index_slide p:nth-of-type(1) {
margin: 0px;
padding: 0px;
box-sizing: border-box;
position: absolute;
z-index: 0;
top : 0px;
left: 0px;
width: 100%;
height: 100%;
background-image: url("img/top_image01.jpg");
background-repeat: no-repeat;
background-size: cover;
background-position: 0vw 0px;
opacity: 0;

/* Chrome, Safari用 */
-webkit-mask-image: url("img/mask_img.svg");
-webkit-mask-repeat: no-repeat;
-webkit-mask-position: 0vw 0px;
-webkit-mask-size: cover;

mask-image: url("img/mask_img.svg");
mask-repeat: no-repeat;
mask-position: -50vw 0px;
mask-size: cover;

animation: AAnime 16s linear infinite, AAnimeFadeout 16s cubic-bezier(.43,.64,.48,1) infinite;
animation-delay: 0s,0s;
}

.index_slide p:nth-of-type(2) {
margin: 0px;
padding: 0px;
box-sizing: border-box;
position: absolute;
z-index: 0;
top : 0px;
left: 0px;
width: 100%;
height: 100%;
background-image: url("img/top_image02.jpg");
background-repeat: no-repeat;
background-size: cover;
background-position: 0vw 0px;
opacity: 0;

/* Chrome, Safari用 */
-webkit-mask-image: url("img/mask_img.svg");
-webkit-mask-repeat: no-repeat;
-webkit-mask-position: 0vw 0px;
-webkit-mask-size: cover;

mask-image: url("img/mask_img.svg");
mask-repeat: no-repeat;
mask-position: -50vw 0px;
mask-size: cover;

animation: AAnime 16s linear infinite, AAnimeFadeout 16s cubic-bezier(.43,.64,.48,1) infinite;
animation-delay: 4s,4s;
}

.index_slide p:nth-of-type(3) {
margin: 0px;
padding: 0px;
box-sizing: border-box;
position: absolute;
z-index: 0;
top : 0px;
left: 0px;
width: 100%;
height: 100%;
background-image: url("img/top_image03.jpg");
background-repeat: no-repeat;
background-size: cover;
background-position: 0vw 0px;
opacity: 0;

/* Chrome, Safari用 */
-webkit-mask-image: url("img/mask_img.svg");
-webkit-mask-repeat: no-repeat;
-webkit-mask-position: 0vw 0px;
-webkit-mask-size: cover;

mask-image: url("img/mask_img.svg");
mask-repeat: no-repeat;
mask-position: -50vw 0px;
mask-size: cover;

animation: AAnime 16s linear infinite, AAnimeFadeout 16s cubic-bezier(.43,.64,.48,1) infinite;
animation-delay: 8s,8s;
}

.index_slide p:nth-of-type(4) {
margin: 0px;
padding: 0px;
box-sizing: border-box;
position: absolute;
z-index: 0;
top : 0px;
left: 0px;
width: 100%;
height: 100%;
background-image: url("img/top_image04.jpg");
background-repeat: no-repeat;
background-size: cover;
background-position: 0vw 0px;
opacity: 0;

/* Chrome, Safari用 */
-webkit-mask-image: url("img/mask_img.svg");
-webkit-mask-repeat: no-repeat;
-webkit-mask-position: 0vw 0px;
-webkit-mask-size: cover;

mask-image: url("img/mask_img.svg");
mask-repeat: no-repeat;
mask-position: -50vw 0px;
mask-size: cover;

animation: AAnime 16s linear infinite, AAnimeFadeout 16s cubic-bezier(.43,.64,.48,1) infinite;
animation-delay: 12s,12s;
}


/* -------------------------------------// スライドショー */






/*  スライドショーのテキスト  ----------------------------------------------*/

.index_slide_txt2 {
	width: 100%;
	height: calc(100% - 117px);
	display:block;
	margin:0px;
	padding: 0px 0px 0px 0px;
	box-sizing: border-box;
	position: absolute;
	top: 117px;
	left: 0px;
	z-index: 16;
	clear:both;
	font-size:0px;
	line-height:0px;
	overflow:hidden;
	container-type: inline-size;
}

.slide_txt_span1{
margin: 0px;
padding: 20px;
box-sizing: border-box;
display: inline-block;
position: absolute;
top: 20vh;
left: 80px;
backdrop-filter: blur(3px);
background-color: rgb(54,155,174,0.4);
border-radius: 6px;
}

.scroll-text {
display: block;
white-space: nowrap;
overflow: hidden;
font-style: normal;
font-size: 2cqw;
line-height: 1.2;
font-weight: bold;
color: #fff;
letter-spacing: 0.05em;
font-family: -apple-system, BlinkMacSystemFont, "游ゴシック", "Yu Gothic", "游ゴシック体", YuGothic, "メイリオ", Meiryo, "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, Verdana, sans-serif;
opacity: 0;
}

.scroll-text.visible {
  animation: revealText 1.0s forwards;
  animation-delay: 3.5s; 
}

@keyframes revealText {
  from {
	opacity: 1;
    clip-path: inset(0 100% 0 0);
  }
  to {
	opacity: 1;	  
    clip-path: inset(0 0 0 0);
  }
}

.slide_txt_span2{
margin: 0px;
padding: 20px;
box-sizing: border-box;
display: inline-block;
position: absolute;
top: 33vh;
left: 80px;
backdrop-filter: blur(3px);
background-color: rgb(255,255,255,0.8);
border-radius: 6px;
}

.scroll-text2 {
padding: 0px 0px 0px 0px;
box-sizing: border-box;
display: block;
white-space: nowrap;
overflow: hidden;
font-style: normal;
font-size: 1.7cqw;
line-height: 1.2;
font-weight: bold;
color: #1c6c7c;
letter-spacing: 0.15em;
font-family: -apple-system, BlinkMacSystemFont, "游ゴシック", "Yu Gothic", "游ゴシック体", YuGothic, "メイリオ", Meiryo, "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, Verdana, sans-serif;
opacity: 0;
}

.scroll-text2.visible {
  animation: revealTextB 1.0s forwards;
  animation-delay: 3.75s; 
}

@keyframes revealTextB {
  from {
	opacity: 1;	  
    clip-path: inset(0 100% 0 0);
  }
  to {
	opacity: 1;
    clip-path: inset(0 0 0 0);
  }
}

.scroll-text3 {
padding: 8px 0px 0px 0px;
box-sizing: border-box;
display: block;
white-space: nowrap;
overflow: hidden;
font-style: normal;
font-size: 1.69cqw;
line-height: 1.2;
font-weight: bold;
color: #1c6c7c;
letter-spacing: 0px;
font-family: -apple-system, BlinkMacSystemFont, "游ゴシック", "Yu Gothic", "游ゴシック体", YuGothic, "メイリオ", Meiryo, "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, Verdana, sans-serif;
opacity: 0;
}

.scroll-text3.visible {
  animation: revealTextC 1.0s forwards;
  animation-delay: 4s;
}

@keyframes revealTextC {
  from {
	opacity: 1;	  
    clip-path: inset(0 100% 0 0);
  }
  to {
	opacity: 1;
    clip-path: inset(0 0 0 0);
  }
}

/* -------------------------------------// スライドショーのテキスト */


/*  スライドショーのテキスト  ----------------------------------------------*/

.index_link_btn {
width: 340px;
aspect-ratio: 23 / 8;
display:block;
margin: 0px;
padding: 0px;
box-sizing: border-box;
position: absolute;
bottom: 50px;
right: 50px;
z-index: 16;
clear:both;
font-size:0px;
line-height:0px;
overflow:hidden;
}

.index_link_btn a {
width: 100%;
height: 100%;
display:block;
margin: 0px;
padding: 0px;
box-sizing: border-box;
position: relative;
clear:both;
opacity: 1;
background-color: rgba(255,255,255,0);
border-radius: 10px;
transition: 0.3s;
transform: translate3d(0, 0, 0);
}

.index_link_btn a:hover {
background-color: rgba(255,255,255,0.75);
}

@keyframes LinkAnimeA{
0% { background-color: rgba(60,136,228,0.5); }
22% { background-color: rgba(60,136,228,0.5); }
33% { background-color: rgba(245,116,116,0.5); }
55% { background-color: rgba(245,116,116,0.5); }
66% { background-color: rgba(54,155,174,0.5); }
88% { background-color: rgba(54,155,174,0.5); }
100% { background-color: rgba(60,136,228,0.5); }
}

.index_link_btn a p {
width: 100%;
height: 100%;
display:block;
margin: 0px;
padding: 0px;
box-sizing: border-box;
position: absolute;
top: 0px;
left: 0px;
z-index: 0;
clear:both;
backdrop-filter: blur(5px);
background-color: rgba(60,136,228,0.5);
animation: LinkAnimeA 8s linear infinite;
}

.clip-me4{
clip-path: url(#clipshape4);
}

.index_link_btn a h2 {
width: 100%;
height: 100%;
display:block;
margin: 0px;
padding: 0px;
box-sizing: border-box;
position: absolute;
top: 0px;
left: 0px;
z-index: 1;
clear:both;
}

.index_link_btn a h2 em {
width: 100%;
margin: 1.4em 0px 0px 0px;
padding: 0px;
box-sizing: border-box;
display:  inline-block;
font-style: normal;
text-decoration: none;
font-size: 20px;
line-height: 1.2;
font-weight: bold;
color: #fff;
text-align: center;
letter-spacing: 0.05em;
font-family: -apple-system, BlinkMacSystemFont, "游ゴシック", "Yu Gothic", "游ゴシック体", YuGothic, "メイリオ", Meiryo, "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, Verdana, sans-serif;
}

.index_link_btn a h2 u {
width: 100%;
margin: 0.25em 0px 0px 0px;
padding: 0px;
box-sizing: border-box;
display:  inline-block;
font-style: normal;
text-decoration: none;
font-size: 30px;
line-height: 1.2;
font-weight: bold;
color: #fff;
text-align: center;
letter-spacing: 0.05em;
font-family: -apple-system, BlinkMacSystemFont, "游ゴシック", "Yu Gothic", "游ゴシック体", YuGothic, "メイリオ", Meiryo, "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, Verdana, sans-serif;
}

/* -------------------------------------// スライドショーのテキスト */














/*  index news  ----------------------------------------------*/

.index_news_box{
	width:100%;
	display:block;
	margin:0px 0px 0px 0px;
	padding:calc(100vh + 80px) 0px 80px 0px;
	box-sizing: border-box;
	position: relative;
	clear:both;
	font-size:0px;
	line-height:0px;
	overflow:hidden;
}

.index_news_waku{
	width: calc(100% - 200px);
	display:block;
	margin:0px auto 0px auto;
	padding:30px 50px 30px 50px;
	box-sizing: border-box;
	position: relative;
	clear:both;
	font-size:0px;
	line-height:0px;
	overflow:hidden;
	background: #f7f6ef;
	border-radius: 20px;
    container-type: inline-size;
}

.index_news_title{
width: 18cqw;
display:block;
margin:0px;
padding:0px 0px 0px 0px;
box-sizing: border-box;
position: relative;
float: left;
}

.index_news_title h2 {
width: 100%;
margin: 0.75em 0px 0px 0px;
padding: 0px;
box-sizing: border-box;
display:  inline-block;
font-style: normal;
font-size: 1.6cqw;
line-height: 1.2;
font-weight: bold;
color: #3c88e4;
letter-spacing: 0.01em;
font-family: -apple-system, BlinkMacSystemFont, "游ゴシック", "Yu Gothic", "游ゴシック体", YuGothic, "メイリオ", Meiryo, "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, Verdana, sans-serif;
}

.index_news_title h3 {
width: 100%;
margin: 0.25em 0px 0px 0px;
padding: 0px;
box-sizing: border-box;
display:  inline-block;
font-style: normal;
font-size: 2.4cqw;
line-height: 1.2;
font-weight: bold;
color: #1f1512;
letter-spacing: 0.02em;
font-family: -apple-system, BlinkMacSystemFont, "游ゴシック", "Yu Gothic", "游ゴシック体", YuGothic, "メイリオ", Meiryo, "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, Verdana, sans-serif;
}

.index_news_title a {
margin: 20px 0px 0px 0px;
padding: 10px 10px 10px 10px;
box-sizing: border-box;
display:  inline-block;
font-style: normal;
font-size: 1.4cqw;
line-height: 1.2;
font-weight: bold;
color: #fff;
text-decoration: none;
letter-spacing: 0.05em;
font-family: -apple-system, BlinkMacSystemFont, "游ゴシック", "Yu Gothic", "游ゴシック体", YuGothic, "メイリオ", Meiryo, "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, Verdana, sans-serif;
vertical-align: top;
position: relative;
background: #3c88e4;
border-radius: 50px;
transition: 0.3s;
transform: translate3d(0, 0, 0);
}

.index_news_title a:hover {
background: #19348a;
}

.index_news_title a span {
margin: 0px;
padding: 0.6cqw 0.6cqw 0px 0.6cqw;
box-sizing: border-box;
display:  inline-block;
font-style: normal;
position: relative;
vertical-align: top;
}

.index_news_title a p {
width: 2.5cqw;
aspect-ratio: 1 / 1;
margin: 0px;
padding: 0.6cqw 0px 0px 0.6cqw;
box-sizing: border-box;
display:  inline-block;
font-style: normal;
position: relative;
background: #216bc6;
border-radius: 50px;
vertical-align: top;
transition: 0.3s;
transform: translate3d(0, 0, 0);
}

.index_news_title a:hover p {
background: #455ead;
border-radius: 50px;
}

.index_news_title a p img {
width: 1.3cqw;
height: auto;
}

.index_news_post {
width: calc(100cqw - 18cqw);
display:block;
margin:0px;
padding:0px;
box-sizing: border-box;
position: relative;
float: left;
font-size:0px;
line-height:0px;
overflow:hidden;
}

.index_news_post a {
width:100%;
display:block;
margin:0px 0px 0px 0%;
padding:10px 20px 7px 20px;
box-sizing: border-box;
position: relative;
clear: both;
font-size:0px;
line-height:0px;
overflow:hidden;
background-color: #f7f6ef;
border-radius: 6px;
text-decoration: none;
transition: background-color .3s;
}

.index_news_post a:hover {
background-color: #dceff6;
border-radius: 6px;
}

.index_news_post a span {
width: 10cqw;
display: inline-block;
font-size: 1.3cqw;
line-height: 1.6;
font-family: -apple-system, BlinkMacSystemFont, "游ゴシック", "Yu Gothic", "游ゴシック体", YuGothic, "メイリオ", Meiryo, "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, Verdana, sans-serif;
letter-spacing: 0.02em;
font-weight: normal;
color: #1f1512;
margin: 0px;
padding: 0px 0px 3px 0px;
box-sizing: border-box;
vertical-align: top;
}

.index_news_post a p{
width: calc(100% - 10cqw);
display: inline-block;
font-size: 1.2cqw;
line-height: 1.6;
font-family: -apple-system, BlinkMacSystemFont, "游ゴシック", "Yu Gothic", "游ゴシック体", YuGothic, "メイリオ", Meiryo, "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, Verdana, sans-serif;
letter-spacing: 0px;
font-weight: normal;
color: #1f1512;
margin: 0px 0px 0px 0px;
padding: 0px 0px 0px 0px;
box-sizing: border-box;
vertical-align: top;
font-style: normal;
text-decoration: none;
}


.index_news_post a p em{
display: inline;
font-size: 1.2cqw;
line-height: 1.6;
font-family: -apple-system, BlinkMacSystemFont, "游ゴシック", "Yu Gothic", "游ゴシック体", YuGothic, "メイリオ", Meiryo, "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, Verdana, sans-serif;
letter-spacing: 0.02em;
font-weight: normal;
color: #1f1512;
margin: 0px 0px 0px 0px;
padding: 0px 0px 3px 0px;
box-sizing: border-box;
vertical-align: top;
font-style: normal;
text-decoration: none;
background: linear-gradient(rgba(60,136,228,1), rgba(60,136,228,1));
background-position: calc(100%) bottom;
background-size: 0px 2px;
background-repeat: no-repeat;
transition: background-size .5s;
}


.index_news_post a:hover p em{
display: inline;
font-size: 1.2cqw;
line-height: 1.6;
font-family: -apple-system, BlinkMacSystemFont, "游ゴシック", "Yu Gothic", "游ゴシック体", YuGothic, "メイリオ", Meiryo, "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, Verdana, sans-serif;
letter-spacing: 0.02em;
font-weight: normal;
color: #1f1512;
margin: 0px 0px 0px 0px;
padding: 0px 0px 3px 0px;
box-sizing: border-box;
vertical-align: top;
font-style: normal;
text-decoration: none;
background: linear-gradient(rgba(60,136,228,1), rgba(60,136,228,1));
background-position: 0px bottom;
background-size: 100% 2px;
background-repeat: no-repeat;
}

/* -------------------------------------// index news */



/*  index rec  ----------------------------------------------*/

.index_rec_box{
	width:100%;
	display:block;
	margin:0px 0px 0px 0px;
	padding: 80px 0px 80px 0px;
	box-sizing: border-box;
	position: relative;
	clear:both;
	font-size:0px;
	line-height:0px;
	overflow:hidden;
	background: #f7f6ef;	
}

.index_rec_waku{
	width: calc(100% - 120px);
	display:block;
	margin:0px auto 0px auto;
	padding:50px 0px 50px 0px;
	box-sizing: border-box;
	position: relative;
	clear:both;
	font-size:0px;
	line-height:0px;
	overflow:hidden;
	background: #fff;
	border-radius: 20px;
    container-type: inline-size;
}


.index_rec_img{
	width: 27cqw;
	aspect-ratio: 1 / 1;
	display:block;
	margin:0px 0px 0px 3cqw;
	padding:0px;
	box-sizing: border-box;
	position: relative;
	float: left;
	font-size:0px;
	line-height:0px;
	overflow:hidden;
	border-radius: 10px;
}

.index_rec_img img{
	width: 100%;
	height: auto;
}

.index_rec_right{
	width: 64cqw;
	display:block;
	margin:0px 3cqw 0px 0px;
	padding:0px;
	box-sizing: border-box;
	position: relative;
	float: right;
	font-size:0px;
	line-height:0px;
	overflow:hidden;
}

.index_rec_right2{
	width: 64cqw;
	display:block;
	margin:0px 3cqw 0px 0px;
	padding:0px;
	box-sizing: border-box;
	position: relative;
	float: right;
	font-size:0px;
	line-height:0px;
	overflow:hidden;
}

.index_rec_title{
display:block;
margin:0px;
padding:0px 0px 0px 0px;
box-sizing: border-box;
position: relative;
clear: both;
vertical-align: top;
}

.index_rec_title h2 {
margin: 0px;
padding: 0.5em 1.5cqw 0px 0px;
box-sizing: border-box;
display:  inline-block;
font-style: normal;
font-size: 1.6cqw;
line-height: 1.2;
font-weight: bold;
color: #3c88e4;
letter-spacing: 0.01em;
font-family: -apple-system, BlinkMacSystemFont, "游ゴシック", "Yu Gothic", "游ゴシック体", YuGothic, "メイリオ", Meiryo, "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, Verdana, sans-serif;
vertical-align: top;
}

.index_rec_title h3 {
margin: 0px 0px 0px 0px;
padding: 0px;
box-sizing: border-box;
display:  inline-block;
font-style: normal;
font-size: 2.4cqw;
line-height: 1.2;
font-weight: bold;
color: #1f1512;
letter-spacing: 0.05em;
font-family: -apple-system, BlinkMacSystemFont, "游ゴシック", "Yu Gothic", "游ゴシック体", YuGothic, "メイリオ", Meiryo, "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, Verdana, sans-serif;
vertical-align: top;
}

.index_rec_title h3 a {
margin: 0px;
padding: 0px;
box-sizing: border-box;
display:  inline-block;
text-decoration: none;
color: #1f1512;
transition: 0.3s;
transform: translate3d(0, 0, 0);
}

.index_rec_title h3 a:hover {
margin: 0px;
padding: 0px;
box-sizing: border-box;
display:  inline-block;
text-decoration: none;
color: #3c88e4;
}


.index_rec_title h4 {
width: 100%;
margin: 0.6em 0px 0px 0px;
padding: 0px;
box-sizing: border-box;
display:  inline-block;
font-style: normal;
font-size: 1.6cqw;
line-height: 1.6;
font-weight: bold;
color: #1f1512;
letter-spacing: 0.01em;
font-family: -apple-system, BlinkMacSystemFont, "游ゴシック", "Yu Gothic", "游ゴシック体", YuGothic, "メイリオ", Meiryo, "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, Verdana, sans-serif;
}

.index_rec_title h5 {
width: 100%;
margin: 0.25em 0px 0px 0px;
padding: 0px;
box-sizing: border-box;
display:  inline-block;
font-style: normal;
font-size: 1.1cqw;
line-height: 1.6;
font-weight: bold;
color: #1f1512;
letter-spacing: 0.01em;
font-family: -apple-system, BlinkMacSystemFont, "游ゴシック", "Yu Gothic", "游ゴシック体", YuGothic, "メイリオ", Meiryo, "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, Verdana, sans-serif;
}

.index_rec_link{
display:block;
margin:0px;
padding:2.5cqw 0px 0px 0px;
box-sizing: border-box;
position: relative;
clear: both;
vertical-align: top;
}

.index_rec_link a{
display:block;
width: 34cqw;
aspect-ratio: 139 / 30;
margin:0px 0px 0px 0px;
padding:0px;
box-sizing: border-box;
position: relative;
clear: both;
vertical-align: top;
overflow: hidden;
text-decoration: none;
}
.index_rec_btn{
width: 100%;
display:block;
margin:0px;
padding:0px 0px 0px 0px;
box-sizing: border-box;
position: relative;
clear: both;
vertical-align: top;
}

.index_rec_btn a{
display:block;
width: 19.3cqw;
height: 50px;
margin:20px 2cqw 0px 0px;
padding:0px;
box-sizing: border-box;
position: relative;
float: left;
vertical-align: top;
overflow: hidden;
background: linear-gradient(rgba(190,190,190,1), rgba(190,190,190,1));
background-position: calc(100%) bottom;
background-size: 100% 2px;
background-repeat: no-repeat;
}

.index_rec_btn a span{
display:block;
width: 100%;
height: 50px;
margin:0px;
padding:0px;
box-sizing: border-box;
position: absolute;
top: 0px;
left: 0px;
z-index: 0;
background: linear-gradient(rgba(60,136,228,1), rgba(60,136,228,1));
background-position: calc(100%) bottom;
background-size: 0px 2px;
background-repeat: no-repeat;
transition: background-size .5s;
}

.index_rec_btn a:hover span{
display:block;
width: 100%;
height: 50px;
margin:0px;
padding:0px;
box-sizing: border-box;
position: absolute;
top: 0px;
left: 0px;
z-index: 0;
background: linear-gradient(rgba(60,136,228,1), rgba(60,136,228,1));
background-position: 0px bottom;
background-size: 100% 2px;
background-repeat: no-repeat;
}

.index_rec_btn a p{
display:block;
width: 100%;
height: 50px;
margin:0px;
padding:0px 0px 0px 0.5cqw;
box-sizing: border-box;
position: absolute;
top: 0px;
left: 0px;
z-index: 2;
font-style: normal;
font-size: 1.3cqw;
line-height: 50px;
font-weight: bold;
color: #1f1512;
letter-spacing: 0.03em;
font-family: -apple-system, BlinkMacSystemFont, "游ゴシック", "Yu Gothic", "游ゴシック体", YuGothic, "メイリオ", Meiryo, "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, Verdana, sans-serif;
transition: 0.3s;
background: url("img/he_migi_704x682.svg") no-repeat;
background-size: 14px 14px;
background-position: right 10px top 20px; 
}

.index_rec_btn a:hover p{
color: #3c88e4;
background: url("img/he_migi2_704x682.svg") no-repeat;
background-size: 14px 14px;
background-position: right 10px top 20px; 
}


.index_rec_link a p{
display:block;
width: 100%;
height: 100%;
margin:0px 0px 0px 0px;
padding:0px;
box-sizing: border-box;
position: absolute;
top: 0px;
left: 0px;
z-index: 2;
clear: both;
vertical-align: top;
overflow: hidden;
border: solid 2px #3c88e4;
background: #3c88e4;
transition: 0.3s;
transform: translate3d(0, 0, 0);
}

.index_rec_link a:hover p{
border: solid 2px #3c88e4;
background: #fff;
}

.index_rec_link a h2{
display:block;
width: 100%;
margin:0px;
padding:1em 0px 0px 2cqw;
box-sizing: border-box;
position: relative;
z-index: 4;
font-style: normal;
font-size: 1.6cqw;
line-height: 1.2;
font-weight: bold;
color: #fff;
text-align: left;
letter-spacing: 0.05em;
font-family: -apple-system, BlinkMacSystemFont, "游ゴシック", "Yu Gothic", "游ゴシック体", YuGothic, "メイリオ", Meiryo, "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, Verdana, sans-serif;
transition: 0.3s;
transform: translate3d(0, 0, 0);
}

.index_rec_link a:hover h2{
color: #3c88e4;
}

.index_rec_link a h3{
display:block;
width: 100%;
margin:0px;
padding:0.5em 0px 0px 1.9cqw;
box-sizing: border-box;
position: relative;
z-index: 3;
font-style: normal;
font-size: 1.2cqw;
line-height: 1.2;
font-weight: bold;
color: #fff;
text-align: left;
letter-spacing: 0.02em;
font-family: -apple-system, BlinkMacSystemFont, "游ゴシック", "Yu Gothic", "游ゴシック体", YuGothic, "メイリオ", Meiryo, "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, Verdana, sans-serif;
transition: 0.3s;
transform: translate3d(0, 0, 0);
}

.index_rec_link a:hover h3{
color: #3c88e4;
}

.index_rec_link a span{
display:block;
width: 100%;
height: 100%;
margin:0px 0px 0px 0px;
padding:0px;
box-sizing: border-box;
position: absolute;
top: 0px;
left: 0px;
z-index: 5;
clear: both;
background: url("img/link_icon01_334x334.svg") no-repeat;
background-size: 24px 24px;
background-position: right 10px top 10px;
transition: 0.3s;
transform: translate3d(0, 0, 0);
}

.index_rec_link a:hover span{
background: url("img/link_icon02_334x334.svg") no-repeat;
background-size: 24px 24px;
background-position: right 10px top 10px;
}


/* -------------------------------------// index rec */


/*  index ser  ----------------------------------------------*/

.index_ser_box{
	width:100%;
	display:block;
	margin:0px 0px 0px 0px;
	padding: 80px 0px 80px 0px;
	box-sizing: border-box;
	position: relative;
	clear:both;
	font-size:0px;
	line-height:0px;
	overflow:hidden;
}

.index_ser_waku{
	width: 100%;
	display:block;
	margin:0px;
	padding:0px;
	box-sizing: border-box;
	position: relative;
	clear:both;
	font-size:0px;
	line-height:0px;
	overflow:hidden;
}

.index_ser_title{
display:block;
margin:0px;
padding:0px 0px 0px 0px;
box-sizing: border-box;
position: relative;
clear: both;
vertical-align: top;
}

.index_ser_title h2 {
width: 100%;
text-align: center;
margin: 0px;
padding: 8px 20px 0px 0px;
box-sizing: border-box;
display:  inline-block;
font-style: normal;
font-size: 24px;
line-height: 1.2;
font-weight: bold;
color: #3c88e4;
letter-spacing: 0.05em;
font-family: -apple-system, BlinkMacSystemFont, "游ゴシック", "Yu Gothic", "游ゴシック体", YuGothic, "メイリオ", Meiryo, "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, Verdana, sans-serif;
vertical-align: top;
}

.index_ser_title h3 {
width: 100%;
text-align: center;
margin: 0.4em 0px 0px 0px;
padding: 0px;
box-sizing: border-box;
display:  inline-block;
font-style: normal;
font-size: 32px;
line-height: 1.2;
font-weight: bold;
color: #1f1512;
letter-spacing: 0.05em;
font-family: -apple-system, BlinkMacSystemFont, "游ゴシック", "Yu Gothic", "游ゴシック体", YuGothic, "メイリオ", Meiryo, "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, Verdana, sans-serif;
vertical-align: top;
}

.index_ser_title h3 a {
display: inline-block;
margin: 0px;
padding: 0px;
box-sizing: border-box;
text-decoration: none;
color: #1f1512;
transition: 0.3s;
transform: translate3d(0, 0, 0);
}

.index_ser_title h3 a:hover {
margin: 0px;
padding: 0px;
box-sizing: border-box;
display:  inline-block;
text-decoration: none;
color: #3c88e4;
}

.index_ser_btn{
display:flex;
flex-wrap: wrap;
flex-direction: row;
width: 92%;
margin:0px auto;
padding:0px;
box-sizing: border-box;
position: relative;
clear: both;
vertical-align: top;
container-type: inline-size;
}

.index_ser_btn a{
width: 28.3cqw;
display:block;
margin:60px 2.5cqw 0px 2.5cqw;
padding:0px 0px 0px 0px;
box-sizing: border-box;
position: relative;
float: left;
vertical-align: top;
background: #fff;
border: solid 0px #3c88e4;
border-bottom-width: 1px;
border-bottom-color: #7f7f7f;
transition: 0.3s;
transform: translate3d(0, 0, 0);
}

.index_ser_btn a:hover{
background: #dceff6;
border: solid 0px #3c88e4;
border-bottom-width: 1px;
border-bottom-color: #3c88e4;
}

.index_ser_btn a span{
width: 100%;
height: 100%;
display:block;
margin:0px;
padding:20px 20px 24px 20px;
box-sizing: border-box;
position: relative;
clear: both;
vertical-align: top;
}

.index_ser_btn a span p{
width: 100%;
display:inline-block;
margin:0px;
padding:0px;
box-sizing: border-box;
position: relative;
clear: both;
}

.index_ser_btn a span p img{
width: 100%;
height: auto;
}

.index_ser_btn a span h2 {
width: 100%;
text-align: center;
margin: 1.2em 0px 0px 0px;
padding: 0px;
box-sizing: border-box;
display:  inline-block;
font-style: normal;
font-size: 1.8cqw;
line-height: 1.2;
font-weight: bold;
color: #1f1512;
letter-spacing: 0.01em;
font-family: -apple-system, BlinkMacSystemFont, "游ゴシック", "Yu Gothic", "游ゴシック体", YuGothic, "メイリオ", Meiryo, "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, Verdana, sans-serif;
vertical-align: top;
transition: 0.3s;
transform: translate3d(0, 0, 0);
}

.index_ser_btn a:hover span h2 {
color: #3c88e4;
}

.index_ser_btn a span h3 {
width: 100%;
text-align: center;
margin: 0.8em 0px 0px 0px;
padding: 0px;
box-sizing: border-box;
display:  inline-block;
font-style: normal;
font-size: 1cqw;
line-height: 1.6;
font-weight: bold;
color: #1f1512;
letter-spacing: 0.01em;
font-family: -apple-system, BlinkMacSystemFont, "游ゴシック", "Yu Gothic", "游ゴシック体", YuGothic, "メイリオ", Meiryo, "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, Verdana, sans-serif;
vertical-align: top;
}


/* -------------------------------------// index ser */




/*  index video  ----------------------------------------------*/

.index_video_box{
	width:100%;
	display:block;
	margin:0px 0px 0px 0px;
	padding: 80px 0px 80px 0px;
	box-sizing: border-box;
	position: relative;
	clear:both;
	font-size:0px;
	line-height:0px;
	overflow:hidden;
	background: #f7f6ef;
}

.index_video_waku{
	width: 100%;
	display:block;
	margin:0px;
	padding:0px;
	box-sizing: border-box;
	position: relative;
	clear:both;
	font-size:0px;
	line-height:0px;
	overflow:hidden;
}

.index_video_title{
display:block;
margin:0px;
padding:0px 0px 0px 0px;
box-sizing: border-box;
position: relative;
clear: both;
vertical-align: top;
}

.index_video_title h2 {
width: 100%;
text-align: center;
margin: 0px;
padding: 8px 20px 0px 0px;
box-sizing: border-box;
display:  inline-block;
font-style: normal;
font-size: 24px;
line-height: 1.2;
font-weight: bold;
color: #3c88e4;
letter-spacing: 0.05em;
font-family: -apple-system, BlinkMacSystemFont, "游ゴシック", "Yu Gothic", "游ゴシック体", YuGothic, "メイリオ", Meiryo, "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, Verdana, sans-serif;
vertical-align: top;
}

.index_video_title h3 {
width: 100%;
text-align: center;
margin: 0.4em 0px 0px 0px;
padding: 0px;
box-sizing: border-box;
display:  inline-block;
font-style: normal;
font-size: 32px;
line-height: 1.2;
font-weight: bold;
color: #1f1512;
letter-spacing: 0.05em;
font-family: -apple-system, BlinkMacSystemFont, "游ゴシック", "Yu Gothic", "游ゴシック体", YuGothic, "メイリオ", Meiryo, "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, Verdana, sans-serif;
vertical-align: top;
}

.index_video_title h3 a {
display: inline-block;
margin: 0px;
padding: 0px;
box-sizing: border-box;
text-decoration: none;
color: #1f1512;
transition: 0.3s;
transform: translate3d(0, 0, 0);
}

.index_video_title h3 a:hover {
margin: 0px;
padding: 0px;
box-sizing: border-box;
display:  inline-block;
text-decoration: none;
color: #3c88e4;
}

/* -------------------------------------// index video */


/*  index video btn  ----------------------------------------------*/

.index_video_btn{
width: calc(100% - 200px);
display:flex;
flex-wrap: wrap;
flex-direction: row;
margin:0px auto;
padding:20px 0px 0px 0px;
box-sizing: border-box;
position: relative;
clear: both;
vertical-align: top;
container-type: inline-size;
}

/* サムネイルの見た目 */
 .thumb {
width: 22.5cqw;
margin: 30px 0px 12px 2cqw;
padding: 0px;
box-sizing: border-box;
display: inline-block;
cursor: pointer;
border-radius: 10px;
overflow: hidden;
background: #fff;
box-shadow: 0 4px 8px rgba(0,0,0,0);
transition: 0.3s;
transform: translate3d(0, 0, 0);
}

 .thumb:hover {
transform: translateY(-4px); box-shadow: 0 4px 8px rgba(0,0,0,0.3);
}

 .thumb span{
width: 100%;
margin: 0px;
padding: 0px;
box-sizing: border-box;
display: inline-block;
vertical-align: top;
}

.thumb span img {
display:block;
width:100%;
height:auto;
transition: 0.3s;
transform: translate3d(0, 0, 0);
}

.thumb:hover span img {
opacity: 0.8;
}

.thumb p {
width: 100%;
text-align: left;
margin: 0px 0px 0px 0px;
padding: 20px 20px 20px 20px;
box-sizing: border-box;
display:  inline-block;
font-style: normal;
font-size: 1.1cqw;
line-height: 1.6;
font-weight: bold;
color: #1f1512;
letter-spacing: 0.01em;
font-family: -apple-system, BlinkMacSystemFont, "游ゴシック", "Yu Gothic", "游ゴシック体", YuGothic, "メイリオ", Meiryo, "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, Verdana, sans-serif;
vertical-align: top;
transition: 0.3s;
transform: translate3d(0, 0, 0);
}

.thumb:hover p {
color: #3c88e4;
}

/* -------------------------------------// index video btn */

/*  index video btn  オーバーレイ  ----------------------------------------------*/

  /* オーバーレイ（非表示時は透明で pointer-events: none） */
  .overlay {
    position: fixed;
    inset: 0;
    background: rgba(0,0,0,0.7);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 1200;
    opacity: 0;
    pointer-events: none;
    transition: opacity .18s ease;
  }
  .overlay.open {
    opacity: 1;
    pointer-events: auto;
  }

  /* モーダルのコンテンツ（動画ラッパー） */
  .modal {
    position: relative;
    max-width: calc(100vw - 40px);
    width: 960px;
    max-height: calc(100vh - 40px);
    background: transparent; /* iframeの背景を活かす */
    border-radius: 10px;
    overflow: hidden;
    box-shadow: 0 12px 30px rgba(0,0,0,0.5);
  }

  /* レスポンシブなアスペクト比（16:9） */
  .video-wrap {
    width: 100%;
    height: 0;
    padding-bottom: 56.25%; /* 16:9 */
    position: relative;
  }
  .video-wrap iframe {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    border: 0;
  }

  /* 閉じるボタン */
  .close-btn {
    position: absolute;
    top: 8px;
    right: 8px;
    z-index: 10;
    background: rgba(0,0,0,0.6);
    color: white;
    border: none;
    border-radius: 6px;
    padding: 6px 10px;
    font-size: 14px;
    cursor: pointer;
    backdrop-filter: blur(4px);
  }
  .close-btn:focus { outline: 2px solid rgba(255,255,255,0.6); }

  /* モバイル向け微修正 */
  @media (max-width: 640px) {
    .modal { width: calc(100vw - 20px); }
    .close-btn { padding: 8px 12px; font-size: 16px; }
  }

/* -------------------------------------// index video btn オーバーレイ */


/*  index video link  ----------------------------------------------*/

.index_video_link{
width: 100%;
display: block;
margin:0px;
padding:20px 0px 0px 0px;
box-sizing: border-box;
position: relative;
clear: both;
vertical-align: top;
text-align: center;
}

.index_video_link a {
width: 500px;
height: 100px;
margin: 30px 0px 0px 0px;
padding: 0px 0px 0px 0px;
box-sizing: border-box;
display:  inline-block;
font-style: normal;
font-size: 24px;
line-height: 100px;
font-weight: bold;
color: #fff;
text-decoration: none;
letter-spacing: 0.05em;
font-family: -apple-system, BlinkMacSystemFont, "游ゴシック", "Yu Gothic", "游ゴシック体", YuGothic, "メイリオ", Meiryo, "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, Verdana, sans-serif;
vertical-align: top;
position: relative;
background: #3c88e4;
border: solid 2px #3c88e4;
border-radius: 0px;
transition: 0.3s;
transform: translate3d(0, 0, 0);
}

.index_video_link a:hover {
color: #3c88e4;
background: #fff;
}

.index_video_link a p{
display:block;
width: 20px;
height: 20px;
margin:0px;
padding:0px;
box-sizing: border-box;
position: absolute;
top: 10px;
right: 10px;
z-index: 5;
clear: both;
background: url("img/link_icon01_334x334.svg") no-repeat;
background-size: 20px 20px;
background-position: left 0px top 0px;
transition: 0.3s;
transform: translate3d(0, 0, 0);
}

.index_video_link a:hover p{
background: url("img/link_icon02_334x334.svg") no-repeat;
background-size: 20px 20px;
background-position: left 0px top 0px;
}

.index_video_link a span {
width: 500px;
height: 100px;
margin: 0px;
padding: 0px 0px 0px 0px;
box-sizing: border-box;
display:  inline-block;
font-style: normal;
position: absolute;
top: 0px;
left: 0px;
z-index: 3;
vertical-align: top;
}


/* -------------------------------------// index video link */




/*  index hoiku  ----------------------------------------------*/

.index_hoiku_box{
	width:100%;
	display:block;
	margin:0px 0px 0px 0px;
	padding: 80px 0px 80px 0px;
	box-sizing: border-box;
	position: relative;
	clear:both;
	font-size:0px;
	line-height:0px;
	overflow:hidden;
}

.index_hoiku_waku{
	width: 100%;
	display:block;
	margin:0px;
	padding:0px;
	box-sizing: border-box;
	position: relative;
	clear:both;
	font-size:0px;
	line-height:0px;
	overflow:hidden;
    container-type: inline-size;
}

.index_hoiku_img{
width: 33.5cqw;
display:block;
margin:0px 0px 0px 11cqw;
padding:0px;
box-sizing: border-box;
position: relative;
float: left;
font-size:0px;
line-height:0px;
overflow:hidden;
border-radius: 40px;
}

.index_hoiku_img img{
width: 100%;
height: auto;
}

.index_hoiku_txt{
width: 33.5cqw;
display:block;
margin:0px 0px 0px 11cqw;
padding:0px;
box-sizing: border-box;
position: relative;
float: left;
font-size:0px;
line-height:0px;
overflow:hidden;
}

.index_hoiku_txt h2 {
width: 100%;
text-align: left;
margin: 0px;
padding: 100px 0px 0px 0px;
box-sizing: border-box;
display:  inline-block;
font-style: normal;
font-size: 1.8cqw;
line-height: 1.2;
font-weight: bold;
color: #e7899a;
letter-spacing: 0.01em;
font-family: -apple-system, BlinkMacSystemFont, "游ゴシック", "Yu Gothic", "游ゴシック体", YuGothic, "メイリオ", Meiryo, "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, Verdana, sans-serif;
vertical-align: top;
}

.index_hoiku_txt h3 {
width: 100%;
text-align: left;
margin: 0.5em 0px 0px 0px;
padding: 0px;
box-sizing: border-box;
display:  inline-block;
font-style: normal;
font-size: 2.4cqw;
line-height: 1.2;
font-weight: bold;
color: #1f1512;
letter-spacing: 0.03em;
font-family: -apple-system, BlinkMacSystemFont, "游ゴシック", "Yu Gothic", "游ゴシック体", YuGothic, "メイリオ", Meiryo, "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, Verdana, sans-serif;
vertical-align: top;
}

.index_hoiku_txt h3 a {
display: inline-block;
margin: 0px;
padding: 0px;
box-sizing: border-box;
text-decoration: none;
color: #1f1512;
transition: 0.3s;
transform: translate3d(0, 0, 0);
}

.index_hoiku_txt h3 a:hover {
margin: 0px;
padding: 0px;
box-sizing: border-box;
display:  inline-block;
text-decoration: none;
color: #e7899a;
}

.index_hoiku_txt p {
width: 100%;
text-align: left;
margin: 1.6em 0px 0px 0px;
padding: 0px;
box-sizing: border-box;
display:  inline-block;
font-style: normal;
font-size: 1cqw;
line-height: 2.2;
font-weight: bold;
color: #1f1512;
letter-spacing: 0.01em;
font-family: -apple-system, BlinkMacSystemFont, "游ゴシック", "Yu Gothic", "游ゴシック体", YuGothic, "メイリオ", Meiryo, "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, Verdana, sans-serif;
vertical-align: top;
}

.index_hoiku_txt h4 {
width: 100%;
margin: 30px 0px 0px 0px;
padding: 0px;
box-sizing: border-box;
container-type: inline-size;
}

.index_hoiku_txt h4 a {
width: 100%;
height: 100px;
margin: 0px 0px 0px 0px;
padding: 0px 0px 0px 0px;
box-sizing: border-box;
display:  inline-block;
font-style: normal;
font-size: 5cqw;
line-height: 100px;
font-weight: bold;
color: #fff;
text-decoration: none;
letter-spacing: 0.03em;
font-family: -apple-system, BlinkMacSystemFont, "游ゴシック", "Yu Gothic", "游ゴシック体", YuGothic, "メイリオ", Meiryo, "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, Verdana, sans-serif;
vertical-align: top;
position: relative;
background: #e7899a;
border: solid 2px #e7899a;
border-radius: 0px;
transition: 0.3s;
transform: translate3d(0, 0, 0);
}

.index_hoiku_txt h4 a:hover {
color: #e7899a;
background: #fff;
}

.index_hoiku_txt h4 a p{
display:block;
width: 20px;
height: 20px;
margin:0px;
padding:0px;
box-sizing: border-box;
position: absolute;
top: 10px;
right: 10px;
z-index: 5;
clear: both;
background: url("img/link_icon01_334x334.svg") no-repeat;
background-size: 20px 20px;
background-position: left 0px top 0px;
transition: 0.3s;
transform: translate3d(0, 0, 0);
}

.index_hoiku_txt h4 a:hover p{
background: url("img/link_icon03_334x334.svg") no-repeat;
background-size: 20px 20px;
background-position: left 0px top 0px;
}

.index_hoiku_txt h4 a span {
width: 100%;
height: 100px;
margin: 0px;
padding: 0px 0px 0px 0px;
box-sizing: border-box;
display:  inline-block;
font-style: normal;
position: absolute;
top: 0px;
left: 0px;
z-index: 3;
vertical-align: top;
text-align: center;
}


/* -------------------------------------// index hoiku */




/*  index kokoro  ----------------------------------------------*/

.index_kokoro_box{
	width:100%;
	display:block;
	margin:0px 0px 0px 0px;
	padding: 0px 0px 80px 0px;
	box-sizing: border-box;
	position: relative;
	clear:both;
	font-size:0px;
	line-height:0px;
	overflow:hidden;
}

.index_kokoro_waku{
	width: 100%;
	display:block;
	margin:0px;
	padding:0px;
	box-sizing: border-box;
	position: relative;
	clear:both;
	font-size:0px;
	line-height:0px;
	overflow:hidden;
    container-type: inline-size;
}

.index_kokoro_img{
width: 40cqw;
display:block;
margin:0px 0px 0px 0px;
padding:0px;
box-sizing: border-box;
position: relative;
float: right;
font-size:0px;
line-height:0px;
overflow:hidden;
border-radius: 40px 0px 0px 40px;
}

.index_kokoro_img img{
width: 100%;
height: auto;
}

.index_kokoro_txt{
width: 40cqw;
display:block;
margin:0px 0px 0px 11cqw;
padding:0px;
box-sizing: border-box;
position: relative;
float: left;
font-size:0px;
line-height:0px;
overflow:hidden;
}

.index_kokoro_txt h2 {
width: 100%;
text-align: left;
margin: 0px;
padding: 80px 0px 0px 0px;
box-sizing: border-box;
display:  inline-block;
font-style: normal;
font-size: 1.8cqw;
line-height: 1.2;
font-weight: bold;
color: #e7899a;
letter-spacing: 0.01em;
font-family: -apple-system, BlinkMacSystemFont, "游ゴシック", "Yu Gothic", "游ゴシック体", YuGothic, "メイリオ", Meiryo, "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, Verdana, sans-serif;
vertical-align: top;
}

.index_kokoro_txt h3 {
width: 100%;
text-align: left;
margin: 0.5em 0px 0px 0px;
padding: 0px;
box-sizing: border-box;
display:  inline-block;
font-style: normal;
font-size: 2.4cqw;
line-height: 1.2;
font-weight: bold;
color: #1f1512;
letter-spacing: 0.01em;
font-family: -apple-system, BlinkMacSystemFont, "游ゴシック", "Yu Gothic", "游ゴシック体", YuGothic, "メイリオ", Meiryo, "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, Verdana, sans-serif;
vertical-align: top;
}

.index_kokoro_txt h3 a {
display: inline-block;
margin: 0px;
padding: 0px;
box-sizing: border-box;
text-decoration: none;
color: #1f1512;
transition: 0.3s;
transform: translate3d(0, 0, 0);
}

.index_kokoro_txt h3 a:hover {
margin: 0px;
padding: 0px;
box-sizing: border-box;
display:  inline-block;
text-decoration: none;
color: #e7899a;
}

.index_kokoro_txt p {
width: 100%;
text-align: left;
margin: 0px 0px 0px 0px;
padding: 0px;
box-sizing: border-box;
display:  inline-block;
font-style: normal;
font-size: 1cqw;
line-height: 1.8;
font-weight: bold;
color: #1f1512;
letter-spacing: 0.01em;
font-family: -apple-system, BlinkMacSystemFont, "游ゴシック", "Yu Gothic", "游ゴシック体", YuGothic, "メイリオ", Meiryo, "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, Verdana, sans-serif;
vertical-align: top;
}

.index_kokoro_txt p em {
width: 100%;
margin: 1em 0px 0px 0px;
padding: 0px;
display: inline-block;
box-sizing: border-box;
font-style: normal;
text-decoration: none;
font-size: 24px;
}

.index_kokoro_txt p u {
width: 100%;
margin: 1em 0px 0px 0px;
padding: 0px;
display: inline-block;
box-sizing: border-box;
font-style: normal;
text-decoration: none;
}



.index_kokoro_txt h4 {
max-width: 500px;
margin: 30px 0px 0px 0px;
padding: 0px;
box-sizing: border-box;
container-type: inline-size;
}

.index_kokoro_txt h4 a {
width: 100%;
height: 100px;
margin: 0px 0px 0px 0px;
padding: 0px 0px 0px 0px;
box-sizing: border-box;
display:  inline-block;
font-style: normal;
font-size: 5cqw;
line-height: 100px;
font-weight: bold;
color: #fff;
text-decoration: none;
letter-spacing: 0.03em;
font-family: -apple-system, BlinkMacSystemFont, "游ゴシック", "Yu Gothic", "游ゴシック体", YuGothic, "メイリオ", Meiryo, "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, Verdana, sans-serif;
vertical-align: top;
position: relative;
background: #e7899a;
border: solid 2px #e7899a;
border-radius: 0px;
transition: 0.3s;
transform: translate3d(0, 0, 0);
}

.index_kokoro_txt h4 a:hover {
color: #e7899a;
background: #fff;
}

.index_kokoro_txt h4 a p{
display:block;
width: 24px;
height: 23px;
margin:0px;
padding:0px;
box-sizing: border-box;
position: absolute;
top: 38px;
right: 16px;
z-index: 5;
clear: both;
background: url("img/he_migi3_704x682.svg") no-repeat;
background-size: 24px 23px;
background-position: left 0px top 0px;
transition: 0.3s;
transform: translate3d(0, 0, 0);
}

.index_kokoro_txt h4 a:hover p{
background: url("img/he_migi4_704x682.svg") no-repeat;
background-size: 24px 23px;
background-position: left 0px top 0px;
}

.index_kokoro_txt h4 a span {
width: 100%;
height: 100px;
margin: 0px;
padding: 0px 0px 0px 0px;
box-sizing: border-box;
display:  inline-block;
font-style: normal;
position: absolute;
top: 0px;
left: 0px;
z-index: 3;
vertical-align: top;
text-align: center;
}


/* -------------------------------------// index hoiku */














/*  スマホ版を非表示処理  */


/*  sp top blank  */
.sp_top_blank { visibility:hidden; display:none; }
/* ------------------------------- */



























/*  スマートフォン ※iPhone6 Plus 以下を準拠  */
@media only screen and (max-width:899px) {



    
    
/*  sp top blank  */
.sp_top_blank {
    visibility:visible;
    display:block;
    width: 100%;
	height: 100vh;
    margin: 0px;
    padding: 0px;
    box-sizing: border-box;
    clear: both;
}
/* ------------------------------- */





/*  スライドショー  ----------------------------------------------*/
.index_slide_box {
	width:100%;
	height: 100vh;
	display:block;
	margin:0px;
	padding:0px;
	box-sizing: border-box;
	position: absolute;
	top: 0px;
	left: 0px;
	z-index: 1;
	clear:both;
	font-size:0px;
	line-height:0px;
	overflow:hidden;	
}

.index_slide_left {
	width: 100%;
	height: 100vh;
	display:block;
	margin:0px;
	padding:0px;
	box-sizing: border-box;
	position: absolute;
    bottom: 0px;
	left: 0px;
	z-index: 1;
	clear:both;
	font-size:0px;
	line-height:0px;
	overflow:hidden;
    border-radius: 0px;
}

/* -------------------------------------// スライドショー */



/*  スライドショー  ----------------------------------------------*/

@keyframes AAnime{
   0% { z-index: 5; opacity: 1; background-position: 0vw 0px; }
  25% { z-index: 10; opacity: 1;}
  31% { z-index: 15; opacity: 1; background-position: -4vw 0px; } 
  32% { z-index: 1; opacity: 0; background-position: -4vw 0px; }  
 100% { z-index: 1; opacity: 0; background-position: 0vw 0px; }
}

@keyframes AAnimeFadeout{
   0% { -webkit-mask-position: 0vw 0px; mask-position: 0vw 0vh; }
  25% { -webkit-mask-position: 0vw 0px; mask-position: 0vw 0vh; }   
  31% { -webkit-mask-position: -100vw 0px; mask-position: 0vw -200vh; }
  99% { -webkit-mask-position: -100vw 0px; mask-position: 0vw -200vh; } 
 100% { -webkit-mask-position: 0vw 0px; mask-position: 0vw 0vh; }
}

.index_slide {
	width:100%;
	height: 100%;
	display:block;
	margin:0px;
	padding:0px;
	box-sizing: border-box;
	position: absolute;
	top: 0px;
	left: 0px;
	z-index: 1;
	clear:both;
	font-size:0px;
	line-height:0px;
	overflow:hidden;
}

.index_slide p:nth-of-type(1) {
margin: 0px;
padding: 0px;
box-sizing: border-box;
position: absolute;
z-index: 0;
top : 0px;
left: 0px;
width: 100%;
height: 100%;
background-image: url("img/sp_top_image01.jpg");
background-repeat: no-repeat;
background-size: cover;
background-position: 0vw 0px;
opacity: 0;

/* Chrome, Safari用 */
-webkit-mask-image: url("img/mask_img.svg");
-webkit-mask-repeat: no-repeat;
-webkit-mask-position: 0vw 0px;
-webkit-mask-size: cover;

mask-image: url("img/mask_img.svg");
mask-repeat: no-repeat;
mask-position: -50vw 0px;
mask-size: cover;

animation: AAnime 16s linear infinite, AAnimeFadeout 16s cubic-bezier(.43,.64,.48,1) infinite;
animation-delay: 0s,0s;
}

.index_slide p:nth-of-type(2) {
margin: 0px;
padding: 0px;
box-sizing: border-box;
position: absolute;
z-index: 0;
top : 0px;
left: 0px;
width: 100%;
height: 100%;
background-image: url("img/sp_top_image02.jpg");
background-repeat: no-repeat;
background-size: cover;
background-position: 0vw 0px;
opacity: 0;

/* Chrome, Safari用 */
-webkit-mask-image: url("img/mask_img.svg");
-webkit-mask-repeat: no-repeat;
-webkit-mask-position: 0vw 0px;
-webkit-mask-size: cover;

mask-image: url("img/mask_img.svg");
mask-repeat: no-repeat;
mask-position: -50vw 0px;
mask-size: cover;

animation: AAnime 16s linear infinite, AAnimeFadeout 16s cubic-bezier(.43,.64,.48,1) infinite;
animation-delay: 4s,4s;
}

.index_slide p:nth-of-type(3) {
margin: 0px;
padding: 0px;
box-sizing: border-box;
position: absolute;
z-index: 0;
top : 0px;
left: 0px;
width: 100%;
height: 100%;
background-image: url("img/sp_top_image03.jpg");
background-repeat: no-repeat;
background-size: cover;
background-position: 0vw 0px;
opacity: 0;

/* Chrome, Safari用 */
-webkit-mask-image: url("img/mask_img.svg");
-webkit-mask-repeat: no-repeat;
-webkit-mask-position: 0vw 0px;
-webkit-mask-size: cover;

mask-image: url("img/mask_img.svg");
mask-repeat: no-repeat;
mask-position: -50vw 0px;
mask-size: cover;

animation: AAnime 16s linear infinite, AAnimeFadeout 16s cubic-bezier(.43,.64,.48,1) infinite;
animation-delay: 8s,8s;
}

.index_slide p:nth-of-type(4) {
margin: 0px;
padding: 0px;
box-sizing: border-box;
position: absolute;
z-index: 0;
top : 0px;
left: 0px;
width: 100%;
height: 100%;
background-image: url("img/sp_top_image04.jpg");
background-repeat: no-repeat;
background-size: cover;
background-position: 0vw 0px;
opacity: 0;

/* Chrome, Safari用 */
-webkit-mask-image: url("img/mask_img.svg");
-webkit-mask-repeat: no-repeat;
-webkit-mask-position: 0vw 0px;
-webkit-mask-size: cover;

mask-image: url("img/mask_img.svg");
mask-repeat: no-repeat;
mask-position: -50vw 0px;
mask-size: cover;

animation: AAnime 16s linear infinite, AAnimeFadeout 16s cubic-bezier(.43,.64,.48,1) infinite;
animation-delay: 12s,12s;
}


/* -------------------------------------// スライドショー */






/*  スライドショーのテキスト  ----------------------------------------------*/

.index_slide_txt2 {
	width: 100%;
	height: calc(100% - 66px);
	display:block;
	margin:0px;
	padding: 0px 0px 0px 0px;
	box-sizing: border-box;
	position: absolute;
	top: 66px;
	left: 0px;
	z-index: 16;
	clear:both;
	font-size:0px;
	line-height:0px;
	overflow:hidden;
	container-type: inline-size;
}

.slide_txt_span1{
margin: 0px;
padding: 2cqw 2cqw 2cqw 2cqw;
box-sizing: border-box;
display: inline-block;
position: absolute;
top: 2vh;
left: 4cqw;
backdrop-filter: blur(3px);
background-color: rgb(54,155,174,0.4);
border-radius: 6px;
}

.scroll-text {
display: block;
white-space: nowrap;
overflow: hidden;
font-style: normal;
font-size: 4cqw;
line-height: 1.2;
font-weight: bold;
color: #fff;
letter-spacing: 0.05em;
font-family: -apple-system, BlinkMacSystemFont, "游ゴシック", "Yu Gothic", "游ゴシック体", YuGothic, "メイリオ", Meiryo, "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, Verdana, sans-serif;
opacity: 0;
}

.scroll-text.visible {
  animation: revealText 1.0s forwards;
  animation-delay: 3.5s; 
}

@keyframes revealText {
  from {
	opacity: 1;
    clip-path: inset(0 100% 0 0);
  }
  to {
	opacity: 1;	  
    clip-path: inset(0 0 0 0);
  }
}

.slide_txt_span2{
margin: 0px;
padding: 2cqw;
box-sizing: border-box;
display: inline-block;
position: absolute;
top: 8vh;
left: 4cqw;
backdrop-filter: blur(3px);
background-color: rgb(255,255,255,0.8);
border-radius: 6px;
}

.scroll-text2 {
padding: 0px 0px 0px 0px;
box-sizing: border-box;
display: block;
white-space: nowrap;
overflow: hidden;
font-style: normal;
font-size: 4cqw;
line-height: 1.2;
font-weight: bold;
color: #1c6c7c;
letter-spacing: 0.15em;
font-family: -apple-system, BlinkMacSystemFont, "游ゴシック", "Yu Gothic", "游ゴシック体", YuGothic, "メイリオ", Meiryo, "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, Verdana, sans-serif;
opacity: 0;
}

.scroll-text2.visible {
  animation: revealTextB 1.0s forwards;
  animation-delay: 3.75s; 
}

@keyframes revealTextB {
  from {
	opacity: 1;	  
    clip-path: inset(0 100% 0 0);
  }
  to {
	opacity: 1;
    clip-path: inset(0 0 0 0);
  }
}

.scroll-text3 {
padding: 8px 0px 0px 0px;
box-sizing: border-box;
display: block;
white-space: nowrap;
overflow: hidden;
font-style: normal;
font-size: 4cqw;
line-height: 1.2;
font-weight: bold;
color: #1c6c7c;
letter-spacing: 0px;
font-family: -apple-system, BlinkMacSystemFont, "游ゴシック", "Yu Gothic", "游ゴシック体", YuGothic, "メイリオ", Meiryo, "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, Verdana, sans-serif;
opacity: 0;
}

.scroll-text3.visible {
  animation: revealTextC 1.0s forwards;
  animation-delay: 4s;
}

@keyframes revealTextC {
  from {
	opacity: 1;	  
    clip-path: inset(0 100% 0 0);
  }
  to {
	opacity: 1;
    clip-path: inset(0 0 0 0);
  }
}

/* -------------------------------------// スライドショーのテキスト */


/*  スライドショーのテキスト  ----------------------------------------------*/

.index_link_btn {
width: 260px;
aspect-ratio: 23 / 8;
display:block;
margin: 0px -130px 0px 0px;
padding: 0px;
box-sizing: border-box;
position: absolute;
bottom: 200px;
right: 50%;
z-index: 16;
clear:both;
font-size:0px;
line-height:0px;
overflow:hidden;
container-type: inline-size;
}

.index_link_btn a {
width: 100%;
height: 100%;
display:block;
margin: 0px;
padding: 0px;
box-sizing: border-box;
position: relative;
clear:both;
opacity: 1;
background-color: rgba(255,255,255,0);
border-radius: 10px;
transition: 0.3s;
transform: translate3d(0, 0, 0);
}

.index_link_btn a:hover {
background-color: rgba(255,255,255,0.75);
}

@keyframes LinkAnimeA{
0% { background-color: rgba(60,136,228,0.5); }
22% { background-color: rgba(60,136,228,0.5); }
33% { background-color: rgba(245,116,116,0.5); }
55% { background-color: rgba(245,116,116,0.5); }
66% { background-color: rgba(54,155,174,0.5); }
88% { background-color: rgba(54,155,174,0.5); }
100% { background-color: rgba(60,136,228,0.5); }
}

.index_link_btn a p {
width: 100%;
height: 100%;
display:block;
margin: 0px;
padding: 0px;
box-sizing: border-box;
position: absolute;
top: 0px;
left: 0px;
z-index: 0;
clear:both;
backdrop-filter: blur(5px);
background-color: rgba(60,136,228,0.5);
animation: LinkAnimeA 8s linear infinite;
}

.clip-me4{
clip-path: url(#clipshape4);
}

.index_link_btn a h2 {
width: 100%;
height: 100%;
display:block;
margin: 0px;
padding: 0px;
box-sizing: border-box;
position: absolute;
top: 0px;
left: 0px;
z-index: 1;
clear:both;
}

.index_link_btn a h2 em {
width: 100%;
margin: 1.4em 0px 0px 0px;
padding: 0px;
box-sizing: border-box;
display:  inline-block;
font-style: normal;
text-decoration: none;
font-size: 6cqw;
line-height: 1.2;
font-weight: bold;
color: #fff;
text-align: center;
letter-spacing: 0.05em;
font-family: -apple-system, BlinkMacSystemFont, "游ゴシック", "Yu Gothic", "游ゴシック体", YuGothic, "メイリオ", Meiryo, "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, Verdana, sans-serif;
}

.index_link_btn a h2 u {
width: 100%;
margin: 0.3em 0px 0px 0px;
padding: 0px;
box-sizing: border-box;
display:  inline-block;
font-style: normal;
text-decoration: none;
font-size: 8cqw;
line-height: 1.2;
font-weight: bold;
color: #fff;
text-align: center;
letter-spacing: 0.05em;
font-family: -apple-system, BlinkMacSystemFont, "游ゴシック", "Yu Gothic", "游ゴシック体", YuGothic, "メイリオ", Meiryo, "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, Verdana, sans-serif;
}

/* -------------------------------------// スライドショーのテキスト */



    
    
    
    
    



/*  index news  ----------------------------------------------*/

.index_news_box{
	width:100%;
	display:block;
	margin:0px 0px 0px 0px;
	padding: 20px 0px 20px 0px;
	box-sizing: border-box;
	position: relative;
	clear:both;
	font-size:0px;
	line-height:0px;
	overflow:hidden;
    container-type: inline-size;
}

.index_news_waku{
	width: calc(100% - 10cqw);
	display:block;
	margin:0px auto 0px auto;
	padding:10px 0px 10px 0px;
	box-sizing: border-box;
	position: relative;
	clear:both;
	font-size:0px;
	line-height:0px;
	overflow:hidden;
	background: #f7f6ef;
	border-radius: 10px;
    container-type: inline-size;
}

.index_news_title{
width: 100cqw;
display:block;
margin:0px;
padding:0px 0px 0px 0px;
box-sizing: border-box;
position: relative;
float: none;
clear: both;
container-type: inline-size;
position: relative;
text-align: center;
}

.index_news_title h2 {
width: 100cqw;
margin: 0px 0px 0px 0px;
padding: 0px;
box-sizing: border-box;
display:  inline-block;
font-style: normal;
font-size: 5cqw;
line-height: 1.4;
font-weight: bold;
color: #3c88e4;
letter-spacing: 0.01em;
font-family: -apple-system, BlinkMacSystemFont, "游ゴシック", "Yu Gothic", "游ゴシック体", YuGothic, "メイリオ", Meiryo, "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, Verdana, sans-serif;
position: relative;
text-align: center;
}

.index_news_title h3 {
width: 100cqw;
margin: 0px 0px 0px 0px;
padding: 0px;
box-sizing: border-box;
display:  inline-block;
font-style: normal;
font-size: 7cqw;
line-height: 1.4;
font-weight: bold;
color: #1f1512;
letter-spacing: 0.02em;
font-family: -apple-system, BlinkMacSystemFont, "游ゴシック", "Yu Gothic", "游ゴシック体", YuGothic, "メイリオ", Meiryo, "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, Verdana, sans-serif;
position: relative;
text-align: center;
}

.index_news_title a {
margin: 0.3em 0px 0px 0px;
padding: 10px 10px 10px 10px;
box-sizing: border-box;
display:  inline-block;
font-style: normal;
font-size: 4cqw;
line-height: 1.2;
font-weight: bold;
color: #fff;
text-decoration: none;
letter-spacing: 0.05em;
font-family: -apple-system, BlinkMacSystemFont, "游ゴシック", "Yu Gothic", "游ゴシック体", YuGothic, "メイリオ", Meiryo, "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, Verdana, sans-serif;
vertical-align: top;
position: relative;
background: #3c88e4;
border-radius: 50px;
transition: 0.3s;
transform: translate3d(0, 0, 0);
}

.index_news_title a:hover {
background: #3c88e4;
}

.index_news_title a span {
margin: 0px;
padding: 0.6cqw 0.6cqw 0px 0.6cqw;
box-sizing: border-box;
display:  inline-block;
font-style: normal;
position: relative;
vertical-align: top;
}

.index_news_title a p {
width: 5cqw;
aspect-ratio: 1 / 1;
margin: 0px;
padding: 1cqw 0px 0px 1cqw;
box-sizing: border-box;
display:  inline-block;
font-style: normal;
position: relative;
background: #216bc6;
border-radius: 50px;
vertical-align: top;
transition: 0.3s;
transform: translate3d(0, 0, 0);
}

.index_news_title a:hover p {
background: #216bc6;
border-radius: 50px;
}

.index_news_title a p img {
width: 3cqw;
height: auto;
}

.index_news_post {
width: 100cqw;
display:block;
margin:0px;
padding:20px 0px 0px 0px;
box-sizing: border-box;
position: relative;
float: none;
clear: both;
font-size:0px;
line-height:0px;
overflow:hidden;
}

.index_news_post a {
width: 100cqw;
display:block;
margin:0px 0px 0px 0%;
padding:1em 20px 7px 20px;
box-sizing: border-box;
position: relative;
clear: both;
font-size:0px;
line-height:0px;
overflow:hidden;
background-color: #f7f6ef;
border-radius: 6px;
text-decoration: none;
transition: background-color .3s;
}

.index_news_post a:hover {
background-color: #f7f6ef;
border-radius: 6px;
}

.index_news_post a span {
width: 26cqw;
display: inline-block;
font-size: 4cqw;
line-height: 1.4;
font-family: -apple-system, BlinkMacSystemFont, "游ゴシック", "Yu Gothic", "游ゴシック体", YuGothic, "メイリオ", Meiryo, "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, Verdana, sans-serif;
letter-spacing: 0.01em;
font-weight: normal;
color: #1f1512;
margin: 0px;
padding: 0px 0px 3px 0px;
box-sizing: border-box;
vertical-align: top;
}

.index_news_post a p{
width: calc(100% - 26cqw);
display: inline-block;
font-size: 4cqw;
line-height: 1.4;
font-family: -apple-system, BlinkMacSystemFont, "游ゴシック", "Yu Gothic", "游ゴシック体", YuGothic, "メイリオ", Meiryo, "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, Verdana, sans-serif;
letter-spacing: 0px;
font-weight: normal;
color: #1f1512;
margin: 0px 0px 0px 0px;
padding: 0px 0px 0px 0px;
box-sizing: border-box;
vertical-align: top;
font-style: normal;
text-decoration: none;
}


.index_news_post a p em{
display: inline;
font-size: 4cqw;
line-height: 1.4;
font-family: -apple-system, BlinkMacSystemFont, "游ゴシック", "Yu Gothic", "游ゴシック体", YuGothic, "メイリオ", Meiryo, "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, Verdana, sans-serif;
letter-spacing: 0.02em;
font-weight: normal;
color: #1f1512;
margin: 0px 0px 0px 0px;
padding: 0px 0px 3px 0px;
box-sizing: border-box;
vertical-align: top;
font-style: normal;
text-decoration: none;
background: linear-gradient(rgba(60,136,228,1), rgba(60,136,228,1));
background-position: calc(100%) bottom;
background-size: 0px 2px;
background-repeat: no-repeat;
transition: background-size .5s;
}


.index_news_post a:hover p em{
display: inline;
font-size: 4cqw;
line-height: 1.4;
font-family: -apple-system, BlinkMacSystemFont, "游ゴシック", "Yu Gothic", "游ゴシック体", YuGothic, "メイリオ", Meiryo, "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, Verdana, sans-serif;
letter-spacing: 0.02em;
font-weight: normal;
color: #1f1512;
margin: 0px 0px 0px 0px;
padding: 0px 0px 3px 0px;
box-sizing: border-box;
vertical-align: top;
font-style: normal;
text-decoration: none;
background: linear-gradient(rgba(60,136,228,1), rgba(60,136,228,1));
background-position: calc(100%) bottom;
background-size: 0px 2px;
background-repeat: no-repeat;
}

/* -------------------------------------// index news */

    
    

/*  index rec  ----------------------------------------------*/

.index_rec_box{
width:100%;
display:block;
margin:0px 0px 0px 0px;
padding: 20px 0px 20px 0px;
box-sizing: border-box;
position: relative;
clear:both;
font-size:0px;
line-height:0px;
overflow:hidden;
background: #f7f6ef;
container-type: inline-size;
}

.index_rec_waku{
width: calc(100% - 10cqw);
display:block;
margin:0px auto 0px auto;
padding:20px 0px 20px 0px;
box-sizing: border-box;
position: relative;
clear:both;
font-size:0px;
line-height:0px;
overflow:hidden;
background: #fff;
border-radius: 20px;
container-type: inline-size;
}


.index_rec_img{
width: 37cqw;
aspect-ratio: 1 / 1;
display:block;
margin:0px 0px 0px 3cqw;
padding:0px;
box-sizing: border-box;
position: relative;
float: left;
font-size:0px;
line-height:0px;
overflow:hidden;
border-radius: 10px;
}

.index_rec_img img{
width: 100%;
height: auto;
}

.index_rec_right{
width: 54cqw;
display:block;
margin:0px 0px 0px 3cqw;
padding:0px;
box-sizing: border-box;
position: relative;
float: left;
font-size:0px;
line-height:0px;
overflow:hidden;
container-type: inline-size;
}
    
.index_rec_right2{
width: 94cqw;
display:block;
margin:0px 0px 0px 3cqw;
padding:0px;
box-sizing: border-box;
position: relative;
float: none;
clear: both;
font-size:0px;
line-height:0px;
overflow:hidden;
container-type: inline-size;
}

.index_rec_title{
display:block;
margin:0px;
padding:0px 0px 0px 0px;
box-sizing: border-box;
position: relative;
clear: both;
vertical-align: top;
}

.index_rec_title h2 {
margin: 0px;
padding: 0.5em 4cqw 0px 0px;
box-sizing: border-box;
display:  inline-block;
font-style: normal;
font-size: 6cqw;
line-height: 1.2;
font-weight: bold;
color: #3c88e4;
letter-spacing: 0.01em;
font-family: -apple-system, BlinkMacSystemFont, "游ゴシック", "Yu Gothic", "游ゴシック体", YuGothic, "メイリオ", Meiryo, "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, Verdana, sans-serif;
vertical-align: top;
}

.index_rec_title h3 {
margin: 0px 0px 0px 0px;
padding: 0px;
box-sizing: border-box;
display:  inline-block;
font-style: normal;
font-size: 10cqw;
line-height: 1.2;
font-weight: bold;
color: #1f1512;
letter-spacing: 0.05em;
font-family: -apple-system, BlinkMacSystemFont, "游ゴシック", "Yu Gothic", "游ゴシック体", YuGothic, "メイリオ", Meiryo, "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, Verdana, sans-serif;
vertical-align: top;
}

.index_rec_title h3 a {
margin: 0px;
padding: 0px;
box-sizing: border-box;
display:  inline-block;
text-decoration: none;
color: #1f1512;
transition: 0.3s;
transform: translate3d(0, 0, 0);
}

.index_rec_title h3 a:hover {
margin: 0px;
padding: 0px;
box-sizing: border-box;
display:  inline-block;
text-decoration: none;
color: #1f1512;
}


.index_rec_title h4 {
width: 100%;
margin: 0.7em 0px 0px 0px;
padding: 0px;
box-sizing: border-box;
display:  inline-block;
font-style: normal;
font-size: 8cqw;
line-height: 1.6;
font-weight: bold;
color: #1f1512;
letter-spacing: 0.01em;
font-family: -apple-system, BlinkMacSystemFont, "游ゴシック", "Yu Gothic", "游ゴシック体", YuGothic, "メイリオ", Meiryo, "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, Verdana, sans-serif;
}

.index_rec_title h5 {
width: 100%;
margin: 0.7em 0px 0px 0px;
padding: 0px;
box-sizing: border-box;
display:  inline-block;
font-style: normal;
font-size: 6cqw;
line-height: 1.6;
font-weight: bold;
color: #1f1512;
letter-spacing: 0.01em;
font-family: -apple-system, BlinkMacSystemFont, "游ゴシック", "Yu Gothic", "游ゴシック体", YuGothic, "メイリオ", Meiryo, "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, Verdana, sans-serif;
}

.index_rec_btn{
width: 100cqw;
display:block;
margin:0px;
padding:0px 0px 0px 0px;
box-sizing: border-box;
position: relative;
clear: both;
vertical-align: top;
container-type: inline-size;
}

.index_rec_btn a{
display:block;
width: 100cqw;
height: 40px;
margin:10px 0px 0px 0px;
padding:0px;
box-sizing: border-box;
position: relative;
float: none;
clear: both;
vertical-align: top;
overflow: hidden;
background: linear-gradient(rgba(190,190,190,1), rgba(190,190,190,1));
background-position: calc(100%) bottom;
background-size: 100% 2px;
background-repeat: no-repeat;
}

.index_rec_btn a span{
display:block;
width: 100%;
height: 40px;
margin:0px;
padding:0px;
box-sizing: border-box;
position: absolute;
top: 0px;
left: 0px;
z-index: 0;
background: linear-gradient(rgba(60,136,228,1), rgba(60,136,228,1));
background-position: calc(100%) bottom;
background-size: 0px 2px;
background-repeat: no-repeat;
transition: background-size .5s;
}

.index_rec_btn a:hover span{
display:block;
width: 100%;
height: 40px;
margin:0px;
padding:0px;
box-sizing: border-box;
position: absolute;
top: 0px;
left: 0px;
z-index: 0;
background: linear-gradient(rgba(60,136,228,1), rgba(60,136,228,1));
background-position: calc(100%) bottom;
background-size: 0px 2px;
background-repeat: no-repeat;
}

.index_rec_btn a p{
display:block;
width: 100%;
height: 40px;
margin:0px;
padding:0px 0px 0px 0.5cqw;
box-sizing: border-box;
position: absolute;
top: 0px;
left: 0px;
z-index: 2;
font-style: normal;
font-size: 5cqw;
line-height: 40px;
font-weight: bold;
color: #1f1512;
letter-spacing: 0.01em;
font-family: -apple-system, BlinkMacSystemFont, "游ゴシック", "Yu Gothic", "游ゴシック体", YuGothic, "メイリオ", Meiryo, "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, Verdana, sans-serif;
transition: 0.3s;
background: url("img/he_migi_704x682.svg") no-repeat;
background-size: 14px 14px;
background-position: right 10px top 12px; 
}

.index_rec_btn a:hover p{
color: #1f1512;
background: url("img/he_migi_704x682.svg") no-repeat;
background-size: 14px 14px;
background-position: right 10px top 12px; 
}

.index_rec_link{
width: 100cqw;
display:block;
margin:0px;
padding:10px 0px 0px 0px;
box-sizing: border-box;
position: relative;
clear: both;
vertical-align: top;
container-type: inline-size;
}

.index_rec_link a{
display:block;
width: 100cqw;
aspect-ratio: 139 / 30;
margin:0px 0px 0px 0px;
padding:0px;
box-sizing: border-box;
position: relative;
clear: both;
vertical-align: top;
overflow: hidden;
text-decoration: none;
}

.index_rec_link a p{
display:block;
width: 100%;
height: 100%;
margin:0px 0px 0px 0px;
padding:0px;
box-sizing: border-box;
position: absolute;
top: 0px;
left: 0px;
z-index: 2;
clear: both;
vertical-align: top;
overflow: hidden;
border: solid 2px #3c88e4;
background: #3c88e4;
transition: 0.3s;
transform: translate3d(0, 0, 0);
}

.index_rec_link a:hover p{
border: solid 2px #3c88e4;
background: #3c88e4;
}

.index_rec_link a h2{
display:block;
width: 100%;
margin:0px;
padding:0.5em 0px 0px 5cqw;
box-sizing: border-box;
position: relative;
z-index: 4;
font-style: normal;
font-size: 6cqw;
line-height: 1.2;
font-weight: bold;
color: #fff;
text-align: left;
letter-spacing: 0.05em;
font-family: -apple-system, BlinkMacSystemFont, "游ゴシック", "Yu Gothic", "游ゴシック体", YuGothic, "メイリオ", Meiryo, "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, Verdana, sans-serif;
transition: 0.3s;
transform: translate3d(0, 0, 0);
}

.index_rec_link a:hover h2{
color: #fff;
}

.index_rec_link a h3{
display:block;
width: 100%;
margin:0px;
padding:0.5em 0px 0px 4.9cqw;
box-sizing: border-box;
position: relative;
z-index: 3;
font-style: normal;
font-size: 4cqw;
line-height: 1.2;
font-weight: bold;
color: #fff;
text-align: left;
letter-spacing: 0.01em;
font-family: -apple-system, BlinkMacSystemFont, "游ゴシック", "Yu Gothic", "游ゴシック体", YuGothic, "メイリオ", Meiryo, "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, Verdana, sans-serif;
transition: 0.3s;
transform: translate3d(0, 0, 0);
}

.index_rec_link a:hover h3{
color: #fff;
}

.index_rec_link a span{
display:block;
width: 100%;
height: 100%;
margin:0px 0px 0px 0px;
padding:0px;
box-sizing: border-box;
position: absolute;
top: 0px;
left: 0px;
z-index: 5;
clear: both;
background: url("img/link_icon01_334x334.svg") no-repeat;
background-size: 24px 24px;
background-position: right 10px top 10px;
transition: 0.3s;
transform: translate3d(0, 0, 0);
}

.index_rec_link a:hover span{
background: url("img/link_icon01_334x334.svg") no-repeat;
background-size: 24px 24px;
background-position: right 10px top 10px;
}


/* -------------------------------------// index rec */

    


/*  index ser  ----------------------------------------------*/

.index_ser_box{
width:100%;
display:block;
margin:0px 0px 0px 0px;
padding: 20px 0px 20px 0px;
box-sizing: border-box;
position: relative;
clear:both;
font-size:0px;
line-height:0px;
overflow:hidden;
container-type: inline-size;
}

.index_ser_waku{
width: 100%;
display:block;
margin:0px;
padding:0px;
box-sizing: border-box;
position: relative;
clear:both;
font-size:0px;
line-height:0px;
overflow:hidden;
}

.index_ser_title{
display:block;
margin:0px;
padding:0px 0px 0px 0px;
box-sizing: border-box;
position: relative;
clear: both;
vertical-align: top;
}

.index_ser_title h2 {
width: 100%;
text-align: center;
margin: 0px;
padding: 8px 0px 0px 0px;
box-sizing: border-box;
display:  inline-block;
font-style: normal;
font-size: 4cqw;
line-height: 1.2;
font-weight: bold;
color: #3c88e4;
letter-spacing: 0.03em;
font-family: -apple-system, BlinkMacSystemFont, "游ゴシック", "Yu Gothic", "游ゴシック体", YuGothic, "メイリオ", Meiryo, "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, Verdana, sans-serif;
vertical-align: top;
}

.index_ser_title h3 {
width: 100%;
text-align: center;
margin: 0.4em 0px 0px 0px;
padding: 0px;
box-sizing: border-box;
display:  inline-block;
font-style: normal;
font-size: 5cqw;
line-height: 1.2;
font-weight: bold;
color: #1f1512;
letter-spacing: 0.03em;
font-family: -apple-system, BlinkMacSystemFont, "游ゴシック", "Yu Gothic", "游ゴシック体", YuGothic, "メイリオ", Meiryo, "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, Verdana, sans-serif;
vertical-align: top;
}

.index_ser_title h3 a {
display: inline-block;
margin: 0px;
padding: 0px;
box-sizing: border-box;
text-decoration: none;
color: #1f1512;
transition: 0.3s;
transform: translate3d(0, 0, 0);
}

.index_ser_title h3 a:hover {
margin: 0px;
padding: 0px;
box-sizing: border-box;
display:  inline-block;
text-decoration: none;
color: #1f1512;
}

.index_ser_btn{
display:flex;
flex-wrap: wrap;
flex-direction: row;
width: 88cqw;
margin:0px auto;
padding:0px;
box-sizing: border-box;
position: relative;
clear: both;
vertical-align: top;
container-type: inline-size;
}

.index_ser_btn a{
width: 100cqw;
display:block;
margin:15px 0px 0px 0px;
padding:0px 0px 15px 0px;
box-sizing: border-box;
position: relative;
float: left;
vertical-align: top;
background: #fff;
border: solid 0px #3c88e4;
border-bottom-width: 1px;
border-bottom-color: #7f7f7f;
transition: 0.3s;
transform: translate3d(0, 0, 0);
container-type: inline-size;
}

.index_ser_btn a:hover{
background: #fff;
border: solid 0px #3c88e4;
border-bottom-width: 1px;
border-bottom-color: #7f7f7f;
}

.index_ser_btn a span{
width: 100cqw;
height: 100%;
display:block;
margin:0px;
padding:0px 0px 0px 0px;
box-sizing: border-box;
position: relative;
clear: both;
vertical-align: top;
container-type: inline-size;
}

.index_ser_btn a span p{
width: 40cqw;
display:block;
margin:0px;
padding:0px;
box-sizing: border-box;
position: relative;
clear: none;
float: left;
}

.index_ser_btn a span p img{
width: 100%;
height: auto;
}

.index_ser_btn a span h2 {
width: 54cqw;
text-align: left;
margin: 0.4em 0px 0px 0px;
padding: 0px;
box-sizing: border-box;
display:  block;
float: right;
font-style: normal;
font-size: 4.5cqw;
line-height: 1.2;
font-weight: bold;
color: #1f1512;
letter-spacing: 0.01em;
font-family: -apple-system, BlinkMacSystemFont, "游ゴシック", "Yu Gothic", "游ゴシック体", YuGothic, "メイリオ", Meiryo, "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, Verdana, sans-serif;
vertical-align: top;
transition: 0.3s;
transform: translate3d(0, 0, 0);
}

.index_ser_btn a:hover span h2 {
color: #1f1512;
}

.index_ser_btn a span h3 {
width: 54cqw;
text-align: left;
margin: 0.3em 0px 0px 0px;
padding: 0px;
box-sizing: border-box;
display:  block;
float: right;
font-style: normal;
font-size: 3cqw;
line-height: 1.6;
font-weight: bold;
color: #1f1512;
letter-spacing: 0.01em;
font-family: -apple-system, BlinkMacSystemFont, "游ゴシック", "Yu Gothic", "游ゴシック体", YuGothic, "メイリオ", Meiryo, "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, Verdana, sans-serif;
vertical-align: top;
}


/* -------------------------------------// index ser */
    
    
    
    


/*  index video  ----------------------------------------------*/

.index_video_box{
width:100%;
display:block;
margin:0px 0px 0px 0px;
padding: 20px 0px 20px 0px;
box-sizing: border-box;
position: relative;
clear:both;
font-size:0px;
line-height:0px;
overflow:hidden;
background: #f7f6ef;
container-type: inline-size;
}

.index_video_waku{
width: 100%;
display:block;
margin:0px;
padding:0px;
box-sizing: border-box;
position: relative;
clear:both;
font-size:0px;
line-height:0px;
overflow:hidden;
container-type: inline-size;
}

.index_video_title{
display:block;
margin:0px;
padding:0px 0px 0px 0px;
box-sizing: border-box;
position: relative;
clear: both;
vertical-align: top;
}

.index_video_title h2 {
width: 100%;
text-align: center;
margin: 0px;
padding: 8px 20px 0px 0px;
box-sizing: border-box;
display:  inline-block;
font-style: normal;
font-size: 4cqw;
line-height: 1.2;
font-weight: bold;
color: #3c88e4;
letter-spacing: 0.05em;
font-family: -apple-system, BlinkMacSystemFont, "游ゴシック", "Yu Gothic", "游ゴシック体", YuGothic, "メイリオ", Meiryo, "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, Verdana, sans-serif;
vertical-align: top;
}

.index_video_title h3 {
width: 100%;
text-align: center;
margin: 0.4em 0px 0px 0px;
padding: 0px;
box-sizing: border-box;
display:  inline-block;
font-style: normal;
font-size: 5cqw;
line-height: 1.2;
font-weight: bold;
color: #1f1512;
letter-spacing: 0.05em;
font-family: -apple-system, BlinkMacSystemFont, "游ゴシック", "Yu Gothic", "游ゴシック体", YuGothic, "メイリオ", Meiryo, "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, Verdana, sans-serif;
vertical-align: top;
}

.index_video_title h3 a {
display: inline-block;
margin: 0px;
padding: 0px;
box-sizing: border-box;
text-decoration: none;
color: #1f1512;
transition: 0.3s;
transform: translate3d(0, 0, 0);
}

.index_video_title h3 a:hover {
margin: 0px;
padding: 0px;
box-sizing: border-box;
display:  inline-block;
text-decoration: none;
color: #1f1512;
}

/* -------------------------------------// index video */


/*  index video btn  ----------------------------------------------*/

.index_video_btn{
width: 100cqw;
display:flex;
flex-wrap: wrap;
flex-direction: row;
margin:0px auto;
padding:0px 0px 0px 0px;
box-sizing: border-box;
position: relative;
clear: both;
vertical-align: top;
container-type: inline-size;
}

/* サムネイルの見た目 */
 .thumb {
width: 88cqw;
margin: 15px 0px 0px 6cqw;
padding: 0px;
box-sizing: border-box;
display: inline-block;
cursor: pointer;
border-radius: 10px;
overflow: hidden;
background: #fff;
box-shadow: 0 4px 8px rgba(0,0,0,0);
transition: 0.3s;
transform: translate3d(0, 0, 0);
container-type: inline-size;
}

 .thumb:hover {
transform: translateY(0px); box-shadow: 0 0px 0px rgba(0,0,0,0);
}

 .thumb span{
width: 40cqw;
margin: 0px;
padding: 0px;
box-sizing: border-box;
display: block;
float: left;
vertical-align: top;
}

.thumb span img {
display:block;
width:100%;
height:auto;
transition: 0.3s;
transform: translate3d(0, 0, 0);
}

.thumb:hover span img {
opacity: 1;
}

.thumb p {
width: 60cqw;
text-align: left;
margin: 0px 0px 0px 0px;
padding: 10px 20px 10px 20px;
box-sizing: border-box;
display:  block;
float: left;
font-style: normal;
font-size: 4cqw;
line-height: 1.6;
font-weight: bold;
color: #1f1512;
letter-spacing: 0.01em;
font-family: -apple-system, BlinkMacSystemFont, "游ゴシック", "Yu Gothic", "游ゴシック体", YuGothic, "メイリオ", Meiryo, "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, Verdana, sans-serif;
vertical-align: top;
transition: 0.3s;
transform: translate3d(0, 0, 0);
}

.thumb:hover p {
color: #1f1512;
}

/* -------------------------------------// index video btn */

/*  index video btn  オーバーレイ  ----------------------------------------------*/

  /* オーバーレイ（非表示時は透明で pointer-events: none） */
  .overlay {
    position: fixed;
    inset: 0;
    background: rgba(0,0,0,0.7);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 1200;
    opacity: 0;
    pointer-events: none;
    transition: opacity .18s ease;
  }
  .overlay.open {
    opacity: 1;
    pointer-events: auto;
  }

  /* モーダルのコンテンツ（動画ラッパー） */
  .modal {
    position: relative;
    max-width: calc(100vw - 40px);
    width: 960px;
    max-height: calc(100vh - 40px);
    background: transparent; /* iframeの背景を活かす */
    border-radius: 10px;
    overflow: hidden;
    box-shadow: 0 12px 30px rgba(0,0,0,0.5);
  }

  /* レスポンシブなアスペクト比（16:9） */
  .video-wrap {
    width: 100%;
    height: 0;
    padding-bottom: 56.25%; /* 16:9 */
    position: relative;
  }
  .video-wrap iframe {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    border: 0;
  }

  /* 閉じるボタン */
  .close-btn {
    position: absolute;
    top: 8px;
    right: 8px;
    z-index: 10;
    background: rgba(0,0,0,0.6);
    color: white;
    border: none;
    border-radius: 6px;
    padding: 6px 10px;
    font-size: 14px;
    cursor: pointer;
    backdrop-filter: blur(4px);
  }
  .close-btn:focus { outline: 2px solid rgba(255,255,255,0.6); }

  /* モバイル向け微修正 */
  @media (max-width: 640px) {
    .modal { width: calc(100vw - 20px); }
    .close-btn { padding: 8px 12px; font-size: 16px; }
  }

/* -------------------------------------// index video btn オーバーレイ */


/*  index video link  ----------------------------------------------*/

.index_video_link{
width: 100%;
display: block;
margin:0px;
padding:0px 0px 0px 0px;
box-sizing: border-box;
position: relative;
clear: both;
vertical-align: top;
text-align: center;
container-type: inline-size;
}

.index_video_link a {
width: 88cqw;
height: auto;
aspect-ratio: 5 / 1;
margin: 20px auto 0px auto;
padding: 0px 0px 0px 0px;
box-sizing: border-box;
display:  inline-block;
font-style: normal;
font-size: 4.5cqw;
line-height: 1.2;
font-weight: bold;
color: #fff;
text-decoration: none;
letter-spacing: 0.01em;
font-family: -apple-system, BlinkMacSystemFont, "游ゴシック", "Yu Gothic", "游ゴシック体", YuGothic, "メイリオ", Meiryo, "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, Verdana, sans-serif;
vertical-align: top;
position: relative;
background: #3c88e4;
border: solid 2px #3c88e4;
border-radius: 0px;
transition: 0.3s;
transform: translate3d(0, 0, 0);
}

.index_video_link a:hover {
color: #fff;
background: #3c88e4;
}

.index_video_link a p{
display:block;
width: 14px;
height: 14px;
margin:0px;
padding:0px;
box-sizing: border-box;
position: absolute;
top: 8px;
right: 8px;
z-index: 5;
clear: both;
background: url("img/link_icon01_334x334.svg") no-repeat;
background-size: 14px 14px;
background-position: left 0px top 0px;
transition: 0.3s;
transform: translate3d(0, 0, 0);
}

.index_video_link a:hover p{
background: url("img/link_icon01_334x334.svg") no-repeat;
background-size: 14px 14px;
background-position: left 0px top 0px;
}

.index_video_link a span {
width: 100%;
height: auto;
margin: -0.5em 0px 0px 0px;
padding: 0px 0px 0px 0px;
box-sizing: border-box;
display:  inline-block;
font-style: normal;
position: absolute;
top: 50%;
left: 0px;
z-index: 3;
vertical-align: top;
}


/* -------------------------------------// index video link */
    
    
    
    
    

/*  index hoiku  ----------------------------------------------*/

.index_hoiku_box{
width:100%;
display:block;
margin:0px 0px 0px 0px;
padding: 20px 0px 20px 0px;
box-sizing: border-box;
position: relative;
clear:both;
font-size:0px;
line-height:0px;
overflow:hidden;
container-type: inline-size;
vertical-align: top;
}

.index_hoiku_waku{
width: 100%;
display:block;
margin:0px;
padding:0px;
box-sizing: border-box;
position: relative;
clear:both;
font-size:0px;
line-height:0px;
overflow:hidden;
container-type: inline-size;
vertical-align: top;
}

.index_hoiku_img{
width: 60cqw;
display:block;
margin:0px auto 0px auto;
padding:0px;
box-sizing: border-box;
position: relative;
float: none;
font-size:0px;
line-height:0px;
overflow:hidden;
border-radius: 20px 20px 20px 20px;
clear: both;
}

.index_hoiku_img img{
width: 100%;
height: auto;
}

.index_hoiku_txt{
width: 88cqw;
display:block;
margin:0px 0px 0px 6cqw;
padding:0px;
box-sizing: border-box;
position: relative;
float: none;
font-size:0px;
line-height:0px;
overflow:hidden;
clear: both;
}

.index_hoiku_txt h2 {
width: 100%;
text-align: center;
margin: 0px;
padding: 1.5em 0px 0px 0px;
box-sizing: border-box;
display:  inline-block;
font-style: normal;
font-size: 4cqw;
line-height: 1.2;
font-weight: bold;
color: #e7899a;
letter-spacing: 0.01em;
font-family: -apple-system, BlinkMacSystemFont, "游ゴシック", "Yu Gothic", "游ゴシック体", YuGothic, "メイリオ", Meiryo, "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, Verdana, sans-serif;
vertical-align: top;
}

.index_hoiku_txt h3 {
width: 100%;
text-align: center;
margin: 0.5em 0px 0px 0px;
padding: 0px;
box-sizing: border-box;
display:  inline-block;
font-style: normal;
font-size: 5.5cqw;
line-height: 1.2;
font-weight: bold;
color: #1f1512;
letter-spacing: 0.01em;
font-family: -apple-system, BlinkMacSystemFont, "游ゴシック", "Yu Gothic", "游ゴシック体", YuGothic, "メイリオ", Meiryo, "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, Verdana, sans-serif;
vertical-align: top;
}

.index_hoiku_txt h3 a {
display: inline-block;
margin: 0px;
padding: 0px;
box-sizing: border-box;
text-decoration: none;
color: #1f1512;
transition: 0.3s;
transform: translate3d(0, 0, 0);
}

.index_hoiku_txt h3 a:hover {
margin: 0px;
padding: 0px;
box-sizing: border-box;
display:  inline-block;
text-decoration: none;
color: #1f1512;
}

.index_hoiku_txt p {
width: 100%;
text-align: left;
margin: 1em 0px 0px 0px;
padding: 0px;
box-sizing: border-box;
display:  inline-block;
font-style: normal;
font-size: 4cqw;
line-height: 1.8;
font-weight: normal;
color: #1f1512;
letter-spacing: 0.01em;
font-family: -apple-system, BlinkMacSystemFont, "游ゴシック", "Yu Gothic", "游ゴシック体", YuGothic, "メイリオ", Meiryo, "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, Verdana, sans-serif;
vertical-align: top;
}

.index_hoiku_txt h4 {
width: 100%;
margin: 20px 0px 0px 0px;
padding: 0px;
box-sizing: border-box;
container-type: inline-size;
}

.index_hoiku_txt h4 a {
width: 100%;
height: auto;
aspect-ratio: 5 / 1;
margin: 0px 0px 0px 0px;
padding: 0px 0px 0px 0px;
box-sizing: border-box;
display:  inline-block;
font-style: normal;
font-size: 5.5cqw;
line-height: 1.2;
font-weight: bold;
color: #fff;
text-decoration: none;
letter-spacing: 0.03em;
font-family: -apple-system, BlinkMacSystemFont, "游ゴシック", "Yu Gothic", "游ゴシック体", YuGothic, "メイリオ", Meiryo, "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, Verdana, sans-serif;
vertical-align: top;
position: relative;
background: #e7899a;
border: solid 2px #e7899a;
border-radius: 0px;
transition: 0.3s;
transform: translate3d(0, 0, 0);
}

.index_hoiku_txt h4 a:hover {
color: #fff;
background: #e7899a;
}

.index_hoiku_txt h4 a p{
display:block;
width: 14px;
height: 14px;
margin:0px;
padding:0px;
box-sizing: border-box;
position: absolute;
top: 8px;
right: 8px;
z-index: 5;
clear: both;
background: url("img/link_icon01_334x334.svg") no-repeat;
background-size: 14px 14px;
background-position: left 0px top 0px;
transition: 0.3s;
transform: translate3d(0, 0, 0);
}

.index_hoiku_txt h4 a:hover p{
background: url("img/link_icon03_334x334.svg") no-repeat;
background-size: 14px 14px;
background-position: left 0px top 0px;
}

.index_hoiku_txt h4 a span {
width: 100%;
height: auto;
margin: -0.5em 0px 0px 0px;
padding: 0px 0px 0px 0px;
box-sizing: border-box;
display:  inline-block;
font-style: normal;
position: absolute;
top: 50%;
left: 0px;
z-index: 3;
vertical-align: top;
text-align: center;
}

/* -------------------------------------// index hoiku */

    
    
    
    
    
    
    


/*  index kokoro  ----------------------------------------------*/

.index_kokoro_box{
width:100%;
display:block;
margin:0px 0px 0px 0px;
padding: 20px 0px 20px 0px;
box-sizing: border-box;
position: relative;
clear:both;
font-size:0px;
line-height:0px;
overflow:hidden;
container-type: inline-size
}

.index_kokoro_waku{
width: 100%;
display:block;
margin:0px;
padding:0px;
box-sizing: border-box;
position: relative;
clear:both;
font-size:0px;
line-height:0px;
overflow:hidden;
container-type: inline-size;
}

.index_kokoro_img{
width: 60cqw;
display:block;
margin:0px auto 0px auto;
padding:0px;
box-sizing: border-box;
position: relative;
float: none;
clear: both;
font-size:0px;
line-height:0px;
overflow:hidden;
border-radius: 20px 20px 20px 20px;
}

.index_kokoro_img img{
width: 100%;
height: auto;
}

.index_kokoro_txt{
width: 88cqw;
display:block;
margin:0px 0px 0px 6cqw;
padding:0px;
box-sizing: border-box;
position: relative;
float: none;
clear: both;
font-size:0px;
line-height:0px;
overflow:hidden;
}

.index_kokoro_txt h2 {
width: 100%;
text-align: center;
margin: 0px;
padding: 1.5em 0px 0px 0px;
box-sizing: border-box;
display:  inline-block;
font-style: normal;
font-size: 4cqw;
line-height: 1.2;
font-weight: bold;
color: #e7899a;
letter-spacing: 0.01em;
font-family: -apple-system, BlinkMacSystemFont, "游ゴシック", "Yu Gothic", "游ゴシック体", YuGothic, "メイリオ", Meiryo, "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, Verdana, sans-serif;
vertical-align: top;
}

.index_kokoro_txt h3 {
width: 100%;
text-align: center;
margin: 0.5em 0px 0px 0px;
padding: 0px;
box-sizing: border-box;
display:  inline-block;
font-style: normal;
font-size: 5.5cqw;
line-height: 1.2;
font-weight: bold;
color: #1f1512;
letter-spacing: 0.01em;
font-family: -apple-system, BlinkMacSystemFont, "游ゴシック", "Yu Gothic", "游ゴシック体", YuGothic, "メイリオ", Meiryo, "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, Verdana, sans-serif;
vertical-align: top;
}

.index_kokoro_txt h3 a {
display: inline-block;
margin: 0px;
padding: 0px;
box-sizing: border-box;
text-decoration: none;
color: #1f1512;
transition: 0.3s;
transform: translate3d(0, 0, 0);
}

.index_kokoro_txt h3 a:hover {
margin: 0px;
padding: 0px;
box-sizing: border-box;
display:  inline-block;
text-decoration: none;
color: #1f1512;
}

.index_kokoro_txt p {
width: 100%;
text-align: left;
margin: 0px 0px 0px 0px;
padding: 0px;
box-sizing: border-box;
display:  inline-block;
font-style: normal;
font-size: 4cqw;
line-height: 1.8;
font-weight: normal;
color: #1f1512;
letter-spacing: 0.01em;
font-family: -apple-system, BlinkMacSystemFont, "游ゴシック", "Yu Gothic", "游ゴシック体", YuGothic, "メイリオ", Meiryo, "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, Verdana, sans-serif;
vertical-align: top;
}

.index_kokoro_txt p em {
width: 100%;
margin: 1em 0px 0px 0px;
padding: 0px;
display: inline-block;
box-sizing: border-box;
font-style: normal;
text-decoration: none;
font-size: 4.5cqw;
text-align: center;
font-weight: bold;
}

.index_kokoro_txt p u {
width: 100%;
margin: 0.7em 0px 0px 0px;
padding: 0px;
display: inline-block;
box-sizing: border-box;
font-style: normal;
text-decoration: none;
}



.index_kokoro_txt h4 {
max-width: 100%;
margin: 20px 0px 0px 0px;
padding: 0px;
box-sizing: border-box;
container-type: inline-size;
}

.index_kokoro_txt h4 a {
width: 100%;
height: auto;
aspect-ratio: 5 / 1;
margin: 0px 0px 0px 0px;
padding: 0px 0px 0px 0px;
box-sizing: border-box;
display:  inline-block;
font-style: normal;
font-size: 5.5cqw;
line-height: 1.2;
font-weight: bold;
color: #fff;
text-decoration: none;
letter-spacing: 0.03em;
font-family: -apple-system, BlinkMacSystemFont, "游ゴシック", "Yu Gothic", "游ゴシック体", YuGothic, "メイリオ", Meiryo, "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, Verdana, sans-serif;
vertical-align: top;
position: relative;
background: #e7899a;
border: solid 2px #e7899a;
border-radius: 0px;
transition: 0.3s;
transform: translate3d(0, 0, 0);
}

.index_kokoro_txt h4 a:hover {
color: #fff;
background: #e7899a;
}

.index_kokoro_txt h4 a p{
display:block;
width: 14px;
height: 14px;
margin: -0.5em 0px 0px 0px;
padding:0px;
box-sizing: border-box;
position: absolute;
top: 50%;
right: 16px;
z-index: 5;
clear: both;
background: url("img/he_migi3_704x682.svg") no-repeat;
background-size: 14px 14px;
background-position: left 0px top 0px;
transition: 0.3s;
transform: translate3d(0, 0, 0);
}

.index_kokoro_txt h4 a:hover p{
background: url("img/he_migi3_704x682.svg") no-repeat;
background-size: 14px 14px;
background-position: left 0px top 0px;
}

.index_kokoro_txt h4 a span {
width: 100%;
height: auto;
margin: -0.5em 0px 0px 0px;
padding: 0px 0px 0px 0px;
box-sizing: border-box;
display:  inline-block;
font-style: normal;
position: absolute;
top: 50%;
left: 0px;
z-index: 3;
vertical-align: top;
text-align: center;
}


/* -------------------------------------// index hoiku */

    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    





}
/* -----------------------------------------------------------------------------------------------  スマートフォン ※iPhone6 Plus 以下を準拠   */







	
