@charset "utf-8";
/* CSS Document */

body {
	margin: 0;
	box-sizing: border-box;    
	font-family: 'M PLUS Rounded 1c','メイリオ','Hiragino Kaku Gothic Pro',	sans-serif;
   /*transform: rotate(0.03deg);  */     /* シャギーを防ぐ指定 */   
}  
.wrapper {
    overflow: hidden;
	background-repeat: no-repeat;
    background-image: url(img/chara.png);
    background-size: contain;
    /*background-position: center;*/
    background-attachment: fixed;
    /* background-blend-mode: lighten; */
    background-position: right bottom;
}

/*----------------------------
その場でふわっと表示  最初は透明だけ
----------------------------*/
.fuwatto {
	opacity: 0;
	transition: opacity 2.0s ease; /* ゆっくりふわっと */
}
/* 表示時に透明度を100%に */
.fuwatto.visible {
	opacity: 1;
}

/*----------------------------
fadeIn ｜TOP画像と概要のフェードイン
----------------------------*/
.fadeIn{
animation-name:fadeInAnime;
animation-duration:1s;
animation-fill-mode:forwards;
opacity:0;
}

@keyframes fadeInAnime{
  from {
    opacity: 0;
  }

  to {
    opacity: 1;
  }
}

/*----------------------------
scroll_up ｜下から上へ出現
----------------------------*/
.scroll_up {
  transition: 0.8s ease-in-out;
  transform: translateY(30px);
  opacity: 0;
}
.scroll_up.on {
  transform: translateY(0);
  opacity: 1.0;
}
.timing02 {transition-delay: .2s;}
.timing03 {transition-delay: .4s;}

h2.section_title{
    line-height: 1.3;
    text-align: left;
    color: #00662E;
    border-bottom: #00662E 2px solid;
    font-size: 2.0rem;
    margin-left: 20px!important;
	transform: rotate(0.03deg); /* シャギーを防ぐ指定 */
}

/* ヘッダー */
header {
	/*position: absolute;*/
    position: fixed;
	top: 0;
	left: 0;
	z-index: 100;
	width: 100%;
	background-color: rgba(255,255,255,0.9);
	max-height: 100vh;
  　overflow-y: auto!important;
}

/* ヘッダーA: サイト名 */
.headA {
	display: inline-block;
	/*background-color: #fff;*/
	color: #000;	
	font-family: 'Montserrat', sans-serif;
	font-size: 24px;
	text-decoration: none;
}
.headA img a:hover {
    opacity: 0.5;
}

/* ヘッダーB： ナビゲーションメニュー */
.headB ul {
	margin: 0;
	padding: 0;
	list-style: none;
    text-align: center;
	transform: rotate(0.03deg); /* シャギーを防ぐ指定 */
	max-height: 75vh; /* メニューの高さを確保 */
    overflow-y: auto; /* 必要に応じてスクロール */
}

.headB a {
    display: block;
    padding: 15px;
    font-size: 13px;
    text-decoration: none;
    color: #01662E;
    font-weight: 550;
}

.line {
	padding-bottom: 5px;
	position: relative;
  }
.line::before {
	background: #FFEE3D;
	content: '';
	width: 100%;
	height: 2px;
	position: absolute;
	left: 0;
	bottom: 0;
	margin: auto;
	transform-origin: center top;
	transform: scale(0, 1);
	transition: transform .3s;
  }
.line:hover::before {
	transform-origin: left top;
	transform: scale(1, 1);
  }

.menu_close {
    font-size: 13px;
    color: #aba6a6;
    display: block;
    padding: 15px;
    text-decoration: none;
}
@media (min-width: 1370px) {
	header .container {
		display: flex;
		align-items: center;
		justify-content: space-between;
	/*	max-width: 1000px;*/
		margin-left: auto;
		margin-right: auto;
	}
	.headB ul {
		display: flex;
	}
}

/* ヘッダーC： トグルボタン */

@media (max-width: 1370px) {
	/* 小さい画面用の設定 */
	header .container-small {
		display: flex;
		align-items: center;
		justify-content: space-between;
	}
	.headC {
		margin-right: 10px;
		padding: 0;
		border: none;
		outline: none;
		background: none;
		font-size: 28px;
		opacity: 0.5;
		cursor: pointer;
	}

	.headC:hover {
		opacity: 0.3;
	}

	.headB {
		display: none;
		height: 100vh; /* 全画面の高さを確保 */
        overflow-y: auto; /* 縦スクロールを許可 */
	}
}

@media (min-width: 1370px) {
	/* 大きい画面用の設定 */
	.headC {
		display: none;
	}

	.headB {
		display: block !important;
	}
}

/* コンテンツA： トップイメージ */

/*風船*/
.pc_img {
	position: relative;
	width: 100%;
	/*max-width: 1000px;*/
	margin: 0 auto;
}   
.balloon, .balloon-2, .balloon-p, .balloon-p2, .balloon-w, .balloon-w2 {
    position: absolute;
    animation: float 3s ease-in-out infinite;
    z-index: 10;
}
@media (min-width: 1400px) {
.balloon {
	top: 50%;
	left: 0%;
}
.balloon-2 {
	top: 50%;
	right: 5%;
	left: auto;  /* ← 追加 */
	text-align: right!important;
}
.balloon-p {
	top: 20%;
	right: 5%;
	left: auto;  /* ← 追加 */
	text-align: right!important;
}
.balloon-p2 {
    /*position: absolute;*/
    top: 65%;
    left: 14%;
}
.balloon-w {
	top: 30%;
	left: 15%;
}
.balloon-w2 {
	top: 45%;
	right: 15%;
	text-align: right;
}
}
@media (max-width: 1399px) {
.balloon {
	top: 55%;
	left: -5%;
}
.balloon-2 img {
	display: none;
}
.balloon-p {
	top: 40%;
	right: 0%;
	left: auto;  /* ← 追加 */
	text-align: right!important;
}
.balloon-p2 {
       display: none;
}
.balloon-w {
	top: 35%;
	left: 10%;
}
.balloon-w2 {
	top: 60%;
	right: 5%;
	text-align: right;
}
}    
/*.balloon {
	position: absolute; 
	top: 200px;          
	left: 0px;          
	animation: float 3s ease-in-out infinite;
	z-index: 99;       
}
.balloon-p {
	position: absolute; 
	top: 400px;          
	right: 0px;          
	animation: float 2.2s ease-in-out infinite;
	z-index: 98;       
	text-align: right;
}*/
.balloon img {
	opacity: 50%;
	width: 30%;
}
.balloon-2 img {
	opacity: 50%;
	width: 25%;
}
.balloon-p img {
	display: block;
	margin-left: auto;
	opacity: 50%;
	width: 20%;
}
.balloon-p2 img {
    /*display: block;
    margin-left: auto;*/
    opacity: 50%;
    width: 20%;
}
.balloon-w img {
	opacity: 50%;
	width: 20%;
}
.balloon-w2 img {
	opacity: 50%;
	width: 20%;
}
@keyframes float {
	0%   { transform: translateY(0); }
	50%  { transform: translateY(-60px); }
	100% { transform: translateY(0); }
}

@media (max-width: 480px) {
    
/*小さい画面用の設定 */
.conA .pc_img {
	display:none;
}

h2.section_title{
    font-size: 1.6rem;
 	transform: rotate(0.03deg); /* シャギーを防ぐ指定 */
}

.sp_img_top {
    margin-top: 83.16px;
}
}
@media (min-width: 481px) {
/*大きい画面用の設定 */
.conA .sp_img {
	display:none;
}
 
.pc_img_top {
    /*margin-top: 83.16px;*/
    margin-top: 61.16px;
    }
}

/* 開催可否ボタン */

.today {
margin-top:13px;
margin-bottom: 50px;
text-align: center!important;
}

@media screen and (max-width:1000px) { 
    /*　画面サイズが1000px以下はここを読み込む　*/
.today {
      margin-top:30px;
      margin-bottom: 20px;  
    }
.today a {
    display: inline-block!important;
    width: 90%;
}   
} 
    
.button-55 {
    display: flex;
    justify-content: center;
    align-items: center;
    width:550px;
    max-width: 90%;
    margin: 0 auto;
    padding: .9em 2em;
    border: none;
    border-radius: 5px;
    background-color: #d34636;
    color: #fff;
    font-weight: 600;
    font-size: 1em;
}

.button-55::after {
    width: 1.25em;
    height: 1.25em;
    margin-left: 8px;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M10 6V8H5V19H16V14H18V20C18 20.5523 17.5523 21 17 21H4C3.44772 21 3 20.5523 3 20V7C3 6.44772 3.44772 6 4 6H10ZM21 3V11H19L18.9999 6.413L11.2071 14.2071L9.79289 12.7929L17.5849 5H13V3H21Z' fill='%23fff'%3E%3C/path%3E%3C/svg%3E");
    content: '';
}

.button-55:hover {
    background-color: #fff;
    color: #c33626;
    border: 1px solid #c33626;
}

.button-55:hover::after {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M10 6V8H5V19H16V14H18V20C18 20.5523 17.5523 21 17 21H4C3.44772 21 3 20.5523 3 20V7C3 6.44772 3.44772 6 4 6H10ZM21 3V11H19L18.9999 6.413L11.2071 14.2071L9.79289 12.7929L17.5849 5H13V3H21Z' fill='%23c33626'%3E%3C/path%3E%3C/svg%3E");
}

/* コンテンツB： 概要～協賛 */
.conB {	
	margin: 40px 0px 60px;
}

.conB .back_color {
    text-align: center;
    width: 90%;
    padding: 10px;
    margin: 10px auto 30px;
    color: #2c2c2f;
    border-top: solid 5px #00662E;
    border-bottom: solid 5px #00662E;
}

.conB .bold {
    display: inline;
    line-height: 1.8;
    padding: 10px;
	text-wrap: nowrap;
    font-weight: bold;
}


@media screen and (min-width: 641px) {
	/*大きい画面用の設定 */
	.conB .bold {
		font-size: 1.4rem;
	}
}

@media screen and (min-width: 481px)and (max-width:640px) {
	/*中くらい画面用の設定 */
	.conB .bold {
		font-size: initial;
	}
}
@media screen and (max-width:480px){    
	/*小さい画面用の設定 */
	.conB .bold {
		font-size: 0.8rem;
		text-wrap: wrap;
	}
		.conB .bold {
		font-size: 0.8rem;
		text-wrap: wrap;
        text-decoration: underline;
        text-decoration-color: #00662E;
	}
    .conB p img.fa-ribbon {
	display:none;
    }
	  .conB .back_color {
        background-size: contain;
        background-repeat: no-repeat;
        background-position: center;
        background-image: url(https://static.tokyo-np.co.jp/tokyo-np/pages/event/sp/greenribbonrun2025/img/ribborn.png);
        background-color: rgba(255,255,255,0.9);
        background-blend-mode: lighten;
    }
}

/*
@media screen and (min-width: 451px)and (max-width:640px) {
	
	.conB .bold {
		font-size: initial;
	}
}
@media screen and (min-width: 395px)and (max-width:450px){    
	
	.conB .bold {
		font-size: 0.8rem;
		text-wrap: wrap;
	}
}
@media (max-width: 480px) {    
	
    
    .conB .back_color {
        background-size: contain;
        background-repeat: no-repeat;
        background-position: center;
        background-image: url(https://static.tokyo-np.co.jp/tokyo-np/pages/event/sp/greenribbonrun2023/img/ribborn.png);
        background-color: rgba(255,255,255,0.9);
        background-blend-mode: lighten;
    }
	.conB .bold {
		font-size: 0.8rem;
		text-wrap: wrap;
        text-decoration: underline;
        text-decoration-color: #00662E;
	}
    .conB .gaiyo p .fa-ribbon {
	display:none;
    }
}
*/




.conB .sita {
	margin-top: 20px;
	text-align: left;
}

.conB .gaiyo2 {
	padding: 0 30px;
    font-size: 14px;
    transform: rotate(0.03deg);   /* シャギーを防ぐ指定 */
}
.conB .gaiyo2 .tuika_1 {
	margin-bottom: 20px;
}
.conB .tuika_1 .txt {
	color:#000;
    padding-left: 5px;
}
.tuika_2_1 a:hover {
    opacity: 0.5;
    color: #FFF
}
.conB .tuika_2 {
	display: flex;
    align-items: center;
}
.conB .tuika_2 .tuika_2_1 {
	flex:1;
	min-width:200px;
	display: inline-block;
}

.conB .tuika_2 .tuika_2_b {
    border-radius: 5px;
    color: #000;
    background-color: #ccc;
    padding: 10px 20px;
}
.conB .kekka_b {
    display: flex;
    flex-wrap: wrap;
    width: 100%;
    margin: 0 auto;
    align-items: center;
    justify-content: center;	
}
.conB .kekka_b .botan {
	-webkit-box-flex: 0;
    flex: 0 1 33.333%;
	display: inline-block;
	margin: 10px;
    padding: 10px 10px;
	border: solid 3px #BF6A7A;
	border-radius: 6px;
	background-color: #BF6A7A;	
	color: #fff;	
	font-size: 14px;
	text-align: center;  
}
.conB .kekka_b a {
    display: inline-block;
    font-size: 1rem;
    text-decoration: none;
    text-align: center;
	color: #fff;
}
.conB .kekka_b a:hover {
	background-image: none;
}
.conB .kekka_b .botan:hover	{
	opacity: 0.5;
}
.conB p {
	margin-top: 0;
	margin-bottom: 20px;
	font-size: 14px;
	line-height: 1.8;
	opacity: 0.8;
	transform: rotate(0.03deg); /* シャギーを防ぐ指定 */
}
.conB a:hover	{
	background-image: linear-gradient(
		rgba(255,255,255,0.2),
		rgba(255,255,255,0.2)
	);
}
.conB .con_left .infomation .komoku {
    /*display: flex;*/
}
.conB .con_left a {
	display:inline-block;	
	font-size: 14px;
	text-decoration: none;
}
.conB .con_left .kekka_b a {
    display:block;
}

.conB .con_left a :hover {
    opacity: 0.5;
}
@media screen and (min-width: 550px){
	.conB .tuika_2 .tuika_2_2 {
		flex: 3;
		padding: 10px 0px 10px 10px;
	}
}
@media screen and (max-width:549px) {
	/* 小さい画面用の設定 */
	.conB .tuika_2 {
		display: block;
	}
	.conB .tuika_2 .tuika_2_2 {
		margin-left: 0px;
    	margin-top: 10px;
	}
}

.conB .box {
  width: 100%;                
  height: 300px;    /*Informationリストが長くなったら300px以上に変更する*/                
  /*border: 1px solid #000;   */   /* わかりやすくボーダーを引く */
  overflow-y: scroll;        /* 縦方向にスクロール可能にする */
  transform: rotate(0.03deg); /* シャギーを防ぐ指定 */
}

/* :::::: 新聞記事:::::: */

    .conB .con_left .tokyo_w {
        margin: 20px;
}
    .conB .con_left .web_kiji {
        margin-top: 60px;
        padding: 20px;
        background-color: #fbf9f9;
    }
    .conB .con_left .hiduke {
        background-color: #542f8e;
        padding: 6px;
        border-radius: 3px;
        color: #fff;
    }
    .conB .con_left .web_kiji > a {
        color: #000;
        padding-top: 5px;
        text-decoration: underline;
        display: inline-block;
        font-size: 14px;
    }

/* :::::: 検索ボックスt :::::: */
 
.search-1000, .search-1001 {
	margin-bottom: 30px;
}    
/* 共通の検索ボックスデザイン */
.search-1000 .gsc-input-box, 
.search-1001 .gsc-input-box {
	display: flex;
	align-items: center;
	/*width: auto;*/
	/*width:200px; */
	/*gap: 5px;*/
	margin: 0;
	padding: 0;
	width:200px;
}
/* 検索ボックス・テキストボックスの高さ固定 */
.search-1000 .gsc-input, 
.search-1001 .gsc-input {
	width:202px;
	/*height: 30px;*/
	height: 48px; 
	box-sizing: border-box;
	margin: 0;
	padding: 0 5px;
	font-size: 14px;
	flex-grow: 1; /* 入力ボックスが親コンテナの幅に合わせて伸びる */
}    
@media (max-width:1000px) {
/*1000px以下の場合検索ボックス上下のスペースは小さく*/
.conB {
	margin: 10px 0px 60px!important;
}
.search-1000, .search-1001 {
	margin-bottom: 0px;
}
}
/* 検索アイコン（虫眼鏡）ボタン */
.search-1000 .gsc-search-button, 
.search-1001 .gsc-search-button  {
	height: 48px; 
	/*height: 30px;*/ /* テキストボックスと高さを揃える */
	width: 48px; /* 正方形に設定 */
	display: flex; /* アイコンを中央揃えにする */
	align-items: center; /* 垂直方向に中央揃え */
	justify-content: center; /* 水平方向に中央揃え */
	margin: 0; /* 不要な余白を削除 */
	padding: 0; /* パディング削除 */
	background-color: #f0f0f0; /* 背景色（必要に応じて変更） */
	border: 1px solid #ccc; /* ボーダーを調整 */
	cursor: pointer; /* マウスオーバー時にポインタを表示 */
}

@media (min-width: 1001px) {
/*1001px以上の場合mainの検索ボックスは表示しない*/
.search-1000.search-main {
	display: none;
}
}
@media (max-width:1000px) {
/*1000px以下の場合右サイドにある検索ボックスは表示しない*/
.search-1001.search-right {
	display: none;
}
.search-1000.search-main {
	display: flex;
	justify-content: flex-end; /* 右寄せ */
}
} 



/* :::::: information list :::::: */

.infomation .tab {    
	background-color: #00662E;
	color: #fff;
	padding: 10px 30px 0px;
	border-radius: 10px 10px 0px 0px;
}

.infomation .list dd {
    margin: 0;
    padding: 0;
}
dl:first-child {
    padding-top: 0px;
}
.infomation .list dl {
    padding-bottom: 20px;
    padding-top: 20px;
}
.infomation .list li {
    line-height: 1.4;
	font-size: 14px;
}
.infomation .list a {
	display: inline-block;
    color: #333;
    text-decoration: none;
}
.infomation { 
    margin-bottom: 20px;
	margin-top: 100px;
}
.l-information {
	list-style: none;
	padding: 0 25px;
}

.l-information dl { 
    border-top: 1px solid #ddd;
    padding: 10px 0px;
}
.l-information li:first-child dl {
    border-top: 0;
    padding-top: 0px;
}
.l-information dt,
.l-information dd {
    box-sizing: border-box;
}

.l-information dt {
    /*color: #000;*/
    color: #00662E;
    width: 80px;
    font-size: 1.1rem;
}
.l-information .txt {
	width: 100%;
}

/*conBとconEの協賛に同じスタイルをあてる*/

.conB .con_right h2 , .conE .con_right h2 {
    border-bottom: 2px solid #9E7430;
    border-top: 2px solid #9E7430;
    display: inline;
    font-size: 1.2rem;
    text-align: center;
    margin-left: 0px;
    margin-top: 10px;
	transform: rotate(0.03deg); 	/* シャギーを防ぐ指定 */
}
.conB .con_right a, .conE .con_right a {
	display: inline-block;
	margin-top: 20px;
	font-size: 14px;
	text-decoration: none;
}
.conB .con_right .kyosan .aki, .conE .con_right .kyosan .aki {
    margin-top: 50px;
}
.conB .con_right img , .conE .con_right img{
    /*width:100%;*/
    width:200px;
    border: solid 1px #ccc;
}
.conB .con_right .kyosan ul, .conE .con_right .kyosan ul {
	list-style: none;
	margin: 0;
	text-align: center;
	padding-left: 0px!important;
}
.conB .con_right .cmp-kyosan, .conE .con_right .cmp-kyosan {
	text-align: center;	
}
.conB .con_right .kyosan ul li, .conE .con_right .kyosan ul li{
    display:flex;
    align-items: center;
    justify-content:center;
}

@media screen and (min-width: 851px)and (max-width:1000px) {
	/* 小さい画面用の設定 */
	.conB .con_right , .conE .con_right{
		margin-top: 100px;
	}
	.conB .con_right .kyosan .list_design007, .conE .con_right .kyosan .list_design007 {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		align-items: center;
		justify-content: center;
		padding: 0;
		flex-flow: wrap;
   	}
    .conB .con_right img, .conE .con_right img{
        width:200px;
        border: solid 1px #ccc;
  	}
	.conB .con_right a , .conE .con_right a{	
	    margin-top: 0px;
	}    
   	.conB .con_right .kyosan .list_design007, .conE .con_right .kyosan .list_design007 {
		flex-flow: rap;
  	}
  	.conB .con_right .kyosan .list_design007 li, .conE .con_right .kyosan .list_design007 li {
		list-style: none;
		margin: 1rem;
  	}
}
@media screen and (min-width: 561px)and (max-width:850px) {
    .conB .con_right , .conE .con_right {
		margin-top: 100px;
	}
	.conB .con_right .kyosan .list_design007, .conE .con_right .kyosan .list_design007 {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		align-items: center;
		justify-content: center;
		padding: 0;
		flex-flow: wrap;
   	}
    .conB .con_right img , .conE .con_right img{
        width:200px;
        border: solid 1px #ccc;
  	}
	.conB .con_right a , .conE .con_right a {	
	    margin-top: 0px;
	}    
   .conB .con_right .kyosan .list_design007 li , .conE .con_right .kyosan .list_design007 li{
		list-style: none;
		margin: 1rem;	
  	}
	.conB .con_right .kyosan .list_design007 , .conE .con_right .kyosan .list_design007 {
		flex-flow: wrap;
	}
}
    
@media (max-width:560px) {
	.conB .con_right ,.conE .con_right {
		margin-top: 50px;
	}
	.conB .con_right .kyosan .list_design007 , .conE .con_right .kyosan .list_design007  {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		align-items: center;
		justify-content: center;
		padding: 0;
		flex-flow: wrap;
   	}
    .conB .con_right img , .conE .con_right img {
        width:200px; 
        border: solid 1px #ccc;
  	}
	.conB .con_right a , .conE .con_right a{	
	margin-top: 0px;
	}    
   .conB .con_right .kyosan .list_design007 li , .conE .con_right .kyosan .list_design007 li {
		list-style: none;
		margin: 1rem;
		width: 45%;
  	}
	.conB .con_right .kyosan .list_design007, .conE .con_right .kyosan .list_design007 {
		flex-flow: wrap;
	}
}

@media (min-width: 1001px) {
	.conB .container {
		display: flex;
		max-width: 1000px;		
		margin-left: auto;
		margin-right: auto;
	}
	.conB .con_left {
		flex: 4;
		margin-top: 20px;
	}
	.conB .con_right {
		flex: 1;
		padding: 20px 0px 50px 50px;
	}
    /*1001px以上の場合conEの方の協賛は表示しない*/
	.conE .container{
		display: none;
	}
	.conB .kyosan {
		display: block;
	}
}
@media (max-width:1000px) {
    /*1000px以下の場合conBの方の協賛は表示しない*/
	.conB .kyosan {
		display: none;
	}
	.conE .container {
		display: block;
	}
}

.conB .twitter {
	margin-top: 100px;
}
.conB .twitter .banner {
	width: 90%;
    margin: 0 auto;
}
/*.conB .movie {
	margin-top: 80px;
}
.conB .youtube {
	width: 90%;
    aspect-ratio: 16 / 9;
    margin: 0 auto;
}*/


/* YouTube埋め込みの共通スタイル */

.conC {
	background: #88c57b3b;
	padding-top: 40px !important;
	padding-bottom: 40px !important;
	margin: 0 auto;
    /*padding: 0px 0px;*/
}
.conC .container {
	max-width: 1000px;
	margin: 0 auto;
  } 
.conC .you_text {
    width: 90%;
    transform: rotate(0.03deg); /* シャギーを防ぐ指定 */
    margin: 0 auto 30px;
    font-size: 14px;
    line-height: 1.8;
}
/*.conC .youtube {
    width: 90%;
    margin: 0 auto;
    aspect-ratio: 16 / 9; 
    border-radius: 16px;
    border: 1px solid #eee;
    padding: 10px;
}
.conC .youtube iframe {
  	width: 100%;
  	height: 100%;
}
*/
.video-container {
	position: relative;
	/*width: 95%; */
	max-width: 1000px; /* 最大幅を制限 */
	height: 0; /* 高さを0にして比率調整 */
	padding-top: 56.25%; /* 16:9 のアスペクト比（高さを調整） */
	margin: 10px auto 20px; /* 中央配置 & 下の余白 */
	border-radius: 16px;
	border: 1px solid #eee;
	overflow: hidden; /* 余計なはみ出しを防ぐ */
	background-color: #000; /* 背景を黒にして統一 */
	margin: 10px;
}
.video-container iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	border: none;
}
.waku {
	background-color: #fff;
	border: 1px solid #eee;
	border-radius: 16px;
	/*padding-top: 20px;*/
	width: 85%;
	margin: 0 auto 30px; 
}      
.waku .video_title1 a {
	text-decoration: none;
	color: #00662E;
}

.conC .palent {
	text-align: center;
	display: flex;
	justify-content: space-around;
	flex-wrap: wrap;
    max-width: 95%;
	margin: 30px auto;
  }  
.conC .child {
	box-shadow: 0 7px 35px rgba(81, 127, 111, .16);
	background-color: #fff;
	text-align: center;
	width: 200px;
    border: 1px solid #eee;
    border-radius: 16px;
    padding: 10px;
    margin-top: 20px !important;
  }  
.conC .child > iframe {
	width: 200px;
	border-radius: 16px;
  }  
.conC .video_title1 {
	padding-top: 15px;
	padding-bottom: 10px;
	text-align: center;
	font-weight: bold;
	font-size: 18px;
    transform: rotate(0.03deg); /* シャギーを防ぐ指定 */
  }
.conC .video_title1 a {
    color: #00662E;
  }
.conC .video_title2 {
	padding-top: 15px;
	padding-bottom: 10px;
	text-align: center;
	/*font-weight: bold;*/
	font-size: 14px;
    transform: rotate(0.03deg); /* シャギーを防ぐ指定 */
  }
.conC .video_title2 a {
    color: #00662E;
  }

@media screen and (min-width:461px) and (max-width:940px) {  
.conC .container {
	  flex-direction: column;
	}
.conC .movie {
		padding: 20px 0px;
	  }
  }
  
@media (max-width: 460px) {
.conC .container {
		flex-direction: column;
	  }
.conC .movie {
	  padding: 20px 0px;
 	}
}

@media (max-width: 430px) {
.conC .child {
		margin: 0 auto;
	}
}



/* コンテンツD： お問い合わせ */
.conD {
    padding-bottom: 30px;
}
.conD .container {
	padding-top: 50px;
}

.conD p {
	margin-top: 0;
	margin-bottom: 20px;
	font-size: 14px;
	line-height: 1.8;
	opacity: 0.8;
    margin-left: 20px;
	transform: rotate(0.03deg); 	/* シャギーを防ぐ指定 */
}
.conD a {
	display: inline-block;
	margin-top: 20px;
	padding: 10px 30px;
	box-shadow: 0 0 0 1px #888;
	color: #fff;
	font-size: 14px;
	text-decoration: none;
}
.conD a:hover	{
	background-image: linear-gradient(
		rgba(255,255,255,0.2),
		rgba(255,255,255,0.2)
	);
}

@media (min-width: 768px) {
	.conD .container {		
		max-width: 1000px;		
		margin-left: auto;
		margin-right: auto;
		padding-top: 40px;
		padding-bottom: 40px;
	}
}

/*ページTOPへ戻るボタン*/
/*#page_top{
	width: 60px;
	height: 60px;
	position: fixed;
	right: 0;
	bottom: 0;
	opacity: 0.6;
  }
  #page_top a{
	width: 60px;
	height: 60px;
	text-decoration: none;
  }
  #page_top a::before{
	font-family: 'Font Awesome 5 Free';
	font-weight: 900;
	content: '\f139';
	font-size: 50px;
	color: #51bf22;
  }
*/

/*ページTOPへ戻るボタン*/
#page_top{
	width: 60px;
	height: 60px;
	position: fixed;
	right: 30px;
	bottom: 30px;
	opacity: 0.6;
  }
  #page_top a{
	width: 60px;
	height: 60px;
	text-decoration: none;
  }
  #page_top a::before{
	font-family: 'Font Awesome 5 Free';
	font-weight: 900;
	content: '\f106';
	font-size: 50px;
	color:#fff;
	background-color: #51bf22;
	border-radius:50%;
	padding: 10px 15px;
  }
  
  
    /* ============================================================
   グリーンリボンラン 右下固定フローティングバナー
   「画面TOPに戻る」ボタンの上に重ならず表示されます
   ============================================================ */

/* ---------- バナー本体（丸型） ---------- */
#grr-float-banner {
  position: fixed;
  bottom: 120px;          /* 「TOPに戻る」ボタン(約50px) + 余白 */
  right: 50px;
  z-index: 9998;         /* TOPボタンより手前、モーダルより後ろ */

  width: 150px;
  height: 150px;
  border-radius: 50%;
  opacity: 75%;

  background-color: #1a6b3c;
  border: 3px solid #4caf78;

  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 4px;

  text-decoration: none;
  cursor: pointer;

  font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Meiryo", sans-serif;

  transition: transform 0.18s ease, background-color 0.18s ease;
}

#grr-float-banner:hover {
  transform: scale(1.06);
  background-color: #155a32;
}

/* ---------- パルスリング（注目演出） ---------- */
#grr-float-banner::before {
  content: "";
  position: absolute;
  inset: -6px;
  border-radius: 50%;
  border: 2px solid #4caf78;
  opacity: 0.4;
  animation: grr-pulse 2.2s ease-in-out infinite;
  pointer-events: none;
}

@keyframes grr-pulse {
  0%   { transform: scale(1);    opacity: 0.4; }
  50%  { transform: scale(1.1);  opacity: 0.1; }
  100% { transform: scale(1),    opacity: 0.4; }
}

/* ---------- 「募集中！」ラベル ---------- */
#grr-float-banner .grr-fb-label {
  background-color: #155a32;
  color: #a8e6c1;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.06em;
  padding: 2px 9px;
  border-radius: 20px;
  white-space: nowrap;
}

/* ---------- 日付テキスト ---------- */
#grr-float-banner .grr-fb-date {
  color: #ffffff;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.35;
  text-align: center;
  white-space: nowrap;
}

/* ---------- 「今すぐ申込」テキスト ---------- */
#grr-float-banner .grr-fb-action {
  color: #a8e6c1;
  font-size: 10px;
  letter-spacing: 0.03em;
  white-space: nowrap;
}

/* ---------- 閉じるボタン（任意） ---------- */
#grr-float-banner .grr-fb-close {
  position: absolute;
  top: -4px;
  left: -4px;
  width: 22px;
  height: 22px;
  border-radius: 50%;
  background: #555;
  color: #fff;
  font-size: 12px;
  line-height: 22px;
  text-align: center;
  cursor: pointer;
  border: none;
  padding: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  transition: opacity 0.15s;
}

#grr-float-banner:hover .grr-fb-close {
  opacity: 1;
}

/* ---------- レスポンシブ（スマートフォン） ---------- */
@media (max-width: 600px) {
  #grr-float-banner {
    width: 120px;
    height: 120px;
    bottom: 150px;
    right: 16px;
  }

  #grr-float-banner .grr-fb-date {
    font-size: 12px;
  }

  #grr-float-banner .grr-fb-label,
  #grr-float-banner .grr-fb-action {
    font-size: 9px;
  }
}

  
/*フッター*/

footer {
    background-color: #01662E;
    color: #fff;
    font-size: 0.8rem;
    font-weight: normal;
    text-align: center;
    padding: 30px 0px;
}

@media screen and (min-width: 1500px) {
    footer img {
    max-width:250px;
    width: 20%;
    height: auto;
    }
}
@media screen and (min-width: 1201px)and (max-width:1499px) {
    footer img {
    max-width:220px;
    width: 30%;
    height: auto;
    }
}
@media screen and (min-width:461px) and (max-width:1200px) { 
    footer img {
    width: 40%;
    max-width: 210px;
    height: auto;
    }    
}
@media screen and (max-width: 460px) {
    footer img {
    width: 50%;
    min-width:200px;
    height: auto;
    }
}