@charset "UTF-8";

/* INTERFACE */

br.pc{
	display:none;
}

body>header{
	padding:10px 10px;
	position:fixed;
	top: 0;
	left: 0;
	right: 0;
	transition: transform 0.3s ease;
	z-index: 1000;
}

body>header>div{
	height:80px;
	background:linear-gradient(90deg,#00d4ae 10%,#00c5c5 45%);
	box-shadow: 0px 0px 5px 2px rgba(0, 102, 102, 0.2);
	border-radius:50px;
	position:relative;
}

body>header.hide{
	transform: translateY(-100%);
}

body>header h1,
body>header>div>a{
	display:block;
	margin:0;
	line-height:1;
	font-size:15px;
	position:absolute;
	top:15px;
	left:25px;
}

body>header h1 img,
body>header>div>a img{
	width:270px;
	vertical-align:bottom;
}

body>header nav{
	display:none;
	width:96%;
	margin:0 2%;
	padding:0 1em 0.5em;
	box-sizing:border-box;
	background-color:#fff;
	box-shadow: 0px 0px 8px 2px rgba(0, 102, 102, 0.2);
	border-radius:10px;
	position:absolute;
	top:80px;
}

body>header nav.open{
	display:block !important;
}

body>header nav ul{
	display:block;
	margin:0;
	padding:0;
	list-style-type:none;
	font-size:3.5vw;
	position:static;
}

body>header nav ul li{
	border-bottom:1px dotted #00baba;
}

body>header nav ul li a{
	display:block;
	padding:1em 0.5em;
}

body>header nav ul li a:link,
body>header nav ul li a:visited{
	color:#00adad;
}

body>header nav a.support{
	display:block;
	padding:1em 0 1em 1.5em;
	font-size:3.5vw;
	font-weight:500;
	line-height:1;
	color:#eb6d8e;
	background-image:url("../img/interface/ico_heart.svg");
	background-repeat:no-repeat;
	background-size:1.2em;
	background-position:left center;
	position:static;
}

#nav_sp{
	display:block;
	width:25px;
	height:20px;
	position:absolute;
	top:27px;
	right:25px;
	cursor:pointer;
	z-index:11;
}

#nav_sp span{
	display:block;
	margin:7px 0 7px;
	border-top:2px solid #fff;
}

#nav_sp.open span:first-of-type{
	margin:7px 0 0;
	transform:rotate(45deg);
	transition-duration:0.5s;
}

#nav_sp.open span:last-of-type{
	margin:-2px 0 0;
	transform:rotate(-45deg);
	transition-duration:0.5s;
}

#nav_sp.close span:first-of-type{
	transition-duration:0.5s;
}

#nav_sp.close span:last-of-type{
	transition-duration:0.5s;
}

body>footer{
	padding:10% 4% 320px;
	background-color:#00baba;
	border-top:10px solid #c1eeee;
	text-align:center;
}

body>footer>a:last-of-type {
	display: block;
	color: #fff !important;
	font-size: 18px;
	font-weight: 700;
	margin:0 0 8%;
	position: relative;
}

body>footer>a:last-of-type::after{
	content: "▶︎";
	font-size: 9px;
	position: absolute;
	top: 7px;
	padding: 0 0 0 5px;
}

body>footer>a img{
	width:300px;
	margin:0 0 5%;
}

body>footer small{
	display:block;
	font-family: "Jost", sans-serif;
	font-size:10px;
	color:#fff;
}

#footer_sns_area{
	margin:0 auto 5%;
}

#footer_sns_area ul{
	margin:0;
	padding:0;
	list-style-type:none;
	display:flex;
}

#footer_sns_area ul li{
	padding:1%;
}

#footer_sns_area ul img{
	width:100%;
}



/* HOME */

#home_taiwanext_area{
	display: flex;
	flex-direction: column;
	gap: 7px;
	position:fixed;
	bottom:10px;
	right:10px;
	z-index:11111;
}

#home_taiwanext_area img{
	width:140px;
	vertical-align:bottom;
	box-shadow: 0px 0px 5px 2px rgba(0, 102, 102, 0.2);
	border-radius:50%;
}

#home_key_area{
	margin:0 0 10%;
	padding:120px 0 0;
	position:relative;
	background-image:url("../img/key_bg.png");
	background-repeat:no-repeat;
	background-size:cover;
	background-position:top center;
}

#home_key_area p{
	margin:0 3%;
	font-size:15px;
}

#home_key_area p img{
	width:100%;
}

#home_key_area .key_next{
	width:100%;
	vertical-align:bottom;
}

#home_key_area .key_kishimoto{
	width:100%;
	vertical-align:bottom;
}

#home_welcome_area{
	padding:10% 5% 10%;
	position:relative;
}

#home_welcome_area img{
	width:100%;
}

#home_welcome_area h2{
	margin:0.5em 0 1em;
	font-size:8vw;
	font-weight:600;
	line-height:1.2;
}

#home_welcome_area p{
	margin:1em 0 1.5em;
	text-align:justify;
	font-size:4.5vw;
	font-weight:400;
	line-height:1.8;
}

#home_welcome_area a.btn_a{
	margin:0 auto;
}

#home_video_area{
	padding:10% 5%;
	background-image:url("../img/interface/bg_video.png");
	background-repeat:no-repeat;
	background-size:cover;
	background-position:top center;
}

#home_video_area a.btn_a{
	margin:0 auto;
}

#home_video_area>div>div{
	width:100%;
	height:0;
	padding:56% 0 0;
	position:relative;
	margin:0 0 5%;
}

#home_video_area>div>div iframe{
	width:100%;
	height:100%;
	position:absolute;
	top:0;
	left:0;
}

#home_achievements_area{
	padding:10% 0;
	background-color:#edfafa;
}

#home_achievements_area.sub{
	padding:10% 0 20%;
}

#home_achievements_area>a{
	margin: 0 auto;
}

#achievements_title_area{
	padding:0 0 0 5%;
}

#achievements_title_area h2{
	margin:0 0 0.6em;
	font-size:9vw;
	font-weight:600;
	line-height:1.4;
}

#achievements_title_area h2 span{
	display:table;
	margin:0 0 0.4em;
	padding:0.5em 0.2em 0.5em 0.5em;
	font-size:6vw;
	font-weight:700;
	line-height:1;
	color:#fff;
	background-color:#ff9839;
}

#achievements_title_area img{
	width:100%;
}

#achievements_kouyaku_area{
	padding:0 5% 210px;
	background-image:url("../img/interface/ico_satoko02.png");
	background-repeat:no-repeat;
	background-size:auto 200px;
	background-position:bottom center;
}

#achievements_kouyaku_area p{
	margin:0;
	font-size:3.5vw;
	font-weight:500;
	line-height:1.3;
	color:#555;
	background-image:url("../img/interface/ico_circle.svg");
	background-repeat:no-repeat;
	background-size:2em;
	background-position:center right;
}

#achievements_kouyaku_area p b{
	display:block;
	font-size:10vw;
	font-weight:800;
	line-height:1.1;
	color:#ffcb00;
}

#achievements_kouyaku_area p b span{
	font-size:17vw;
	color:#ff9c28;
}

#achievements_list_area{
	padding:5% 3.5%;
}

#achievements_list_area section{
	padding:5% 1.5%;
	position:relative;
}

#achievements_list_area section>a img{
	width:100%;
	vertical-align:bottom;
}

#achievements_list_area section>a img.arrow{
	width:50px;
	vertical-align:bottom;
	position:absolute;
	bottom:0px;
	right:0px;
}

#achievements_list_area section>a{
	display:block;
	width:100%;
	background-color:#fff;
	box-shadow: 0px 0px 15px 2px rgba(0, 102, 102, 0.1);
}

#achievements_list_area section>a:hover{
	opacity:0.8;
}

#achievements_list_area section>a:hover img{
	right:-5px;
	transition:0.3s;
}

#achievements_list_area section>p{
	margin:0;
	font-family: "Jost", sans-serif;
	font-size:15vw;
	font-weight:500;
	line-height:0.8;
	color:#00adad;
}

#achievements_list_area section>p span{
	display:inline-block;
	margin:0 0 0 10px;
	font-size:8vw;
	line-height:1.2;
}

#achievements_list_area section>p span.small{
	font-size:6.5vw;
}

#achievements_list_area section h3{
	margin:0;
	padding:0.8em 1em;
	font-size:5vw;
	font-weight:600;
	line-height:1.2;
	color:#fff;
	background-color:#00adad;
}

#achievements_list_area section ul{
	margin:0;
	padding:1em 1em 1em 2.5em;
	font-size:3.8vw;
	font-weight:400;
	line-height:1.3;
	color:#555;
}

#achievements_list_area section ul li{
	margin:1em 0;
}


#home_policy_area{
	padding:320px 0 10%;
	background:linear-gradient(120deg,#00d176 2%,#00baba 10%);
	position:relative;
}

#home_policy_area h2{
	max-width:360px;
	margin:0 auto;
	position:absolute;
	left:0;
	right:0;
	top:-170px;
}

#home_policy_area h2 img{
	width:100%;
}

#home_policy_area p.lead{
	margin:0 0 10%;
	text-align:justify;
	font-size:4.5vw;
	font-weight:500px;
	line-height:1.5;
	color:#fff;
}

#home_policy_area>a{
	margin: -100px auto 0;
}

#home_policy_list{
	padding:0 5%;
}

#home_policy_list section{
	box-sizing:border-box;
	padding:0 0 140px;
	display:flex;
}

#home_policy_list section a{
	display:flex;
	flex-wrap:wrap;
	width:100%;
	padding:0 5% 8%;
	text-align:center;
	background-color:#fff;
	border-radius:10px;
	position:relative;
	box-shadow:0px 0px 5px 2px rgba(0, 102, 102, 0.2);
}

#home_policy_list section a:hover{
	opacity:0.8;
}

#home_policy_list section div{
	margin:-100px auto 0;
}

#home_policy_list section div img{
	width:150px;
	border:4px solid #fef2d4;
	border-radius:50%;
}

#home_policy_list section p.num{
	margin:0;
	font-family: "Jost", sans-serif;
	font-size:15vw;
	font-weight:700;
	line-height:0.6;
	color:#fff;
}

#home_policy_list section h3{
	display:table;
	margin:0 auto;
	padding:0.2em 0.5em 0.3em;
	font-size:4.5vw;
	font-style:italic;
	line-height:1.2;
	color:#fff;
	background-color:#00adad;
	position:relative;
	top:-20px;
}

#home_policy_list section h4{
	width:100%;
	margin:0;
	font-size:5.6vw;
	line-height:1.4;
	color:#000;
}

#home_policy_list section h4 span{
	background:linear-gradient(transparent 65%, #fef2d4 35%);
}

#home_policy_list.sub section a{
	border:3px solid #00adad;
}

#home_policy_list.sub section p.num{
	margin:0;
	font-family: "Jost", sans-serif;
	font-size:15vw;
	font-weight:700;
	line-height:0.6;
	color:#00adad;
}


/*
#home_policy_list section{
	margin:0 auto;
	padding:10% 0;
	text-align:center;
	border-bottom:1px solid #a7baba;
}

#home_policy_list section:last-child{
	border-bottom:none;
}

#home_policy_area section>a:hover{
	opacity:0.8;
	transition:0.3s;
}

#home_policy_area section>a img{
	width:60%;
	border-radius:50%;
	border:8px solid #fff;
	vertical-align:bottom;
	position:relative;
	top:10px;
}

#home_policy_list section p{
	margin:0 0 2em;
	text-align:justify;
	font-size:4vw;
	font-weight:400;
	line-height:1.5;
	color:#fff;
}

#home_policy_area section p.num{
	display:table;
	margin:0;
	font-family: "Jost", sans-serif;
	font-size:15vw;
	font-weight:500;
	line-height:0.6;
	color:#fff;
}

#home_policy_list section h3{
	display:block;
	margin:0 0 1em;
	padding:1em 2em;
	font-size:5vw;
	font-weight:700;
	line-height:1.3;
	background-color:#fff;
}

#home_policy_list section h4{
	margin:0;
	padding:0 1.2em 0 0;
	text-align:left;
	font-size:6.8vw;
	font-weight:700;
	line-height:1.2;
	color:#fef2d4;
	background-image:url("../img/interface/ico_arrow_circle.png");
	background-repeat:no-repeat;
	background-size:1em;
	background-position:center right;
}

#home_policy_area section a.btn_b{
	margin:0 auto;
}

#home_policy_area section ul{
	margin:0 0 1.5em;
	padding:0;
	text-align:left;
	font-size:4.5vw;
	font-weight:400;
	line-height:1.4;
	color:#fff;
	list-style-type:none;
}

#home_policy_area section ul li{
	margin:1em 0;
	padding:0 0 0 1.2em;
	background-image:url("../img/interface/ico_triangle_yellow.svg");
	background-repeat:no-repeat;
	background-size:0.8em;
	background-position:top 0.2em left;
}
*/

#home_greeting_area{
	padding:10% 5% 0;
	background-image:url("../img/interface/bg_greeting.png");
	background-repeat:no-repeat;
	background-size:cover;
	background-position:bottom left;
	overflow:hidden;
}

#home_greeting_area>div{
	text-align:center;
}

#home_greeting_area>div>div{
	margin:0 0 5%;
}

#home_greeting_area h2{
	margin:0 0 1em;
	font-size:6.8vw;
	font-weight:600;
	line-height:1.2;
}

#home_greeting_area p{
	margin:0 0 1.2em;
	text-align:justify;
	font-size:4vw;
	font-weight:400;
	line-height:1.7;
}

#home_greeting_area a.btn_a{
	margin:0 auto;
}

#home_greeting_area>div>img{
	max-width:400px;
	width:80%;
	vertical-align:bottom;
	position:relative;
	right:-80px;
}

#home_greeting_area a.bnr img{
	width:100%;
}

#home_sns_area{
	padding:10% 5% 5%;
	background-color:#00baba;
}

#home_sns_area h2{
	text-align:center;
	margin:0 0 0.5em;
	font-size:8vw;
	font-weight:700;
	line-height:1.2;
	color:#fef2d4;
}

#home_sns_area p{
	margin:0 0 2em;
	text-align:center;
	font-size:4vw;
	font-weight:400;
	line-height:1.4;
	color:#fff;
}

#home_sns_area ul{
	margin:0 auto;
	padding:0;
	list-style-type:none;
	font-size:3.5vw;
	font-weight:500;
}

#home_sns_area ul li{
	padding:3% 0;
	border-top:1px solid #fff;
}

#home_sns_area ul li img{
	width:20%;
	vertical-align:bottom;
}

#home_sns_area ul li a{
	color:#fff;
	display:flex;
	align-items:center;
	justify-content:space-between;
}

#home_sns_area ul li a span{
	width:77%;
}

#home_voices_area{
	padding:10% 5%;
}

#home_voices_area h2{
	margin:0;
	text-align:center;
	font-family: "Crimson Text", serif;
	font-size:13vw;
	font-weight:500;
	line-height:1;
	color:#00baba;
}

#home_voices_area>p{
	margin:0.5em 0 1.5em;
	text-align:center;
	font-size:8vw;
	font-weight:600;
	line-height:1.2;
}

#home_voices_area section{
	margin:0 0 20%;
}

#home_voices_area section>div{
	margin:0 20px;
	padding:20px;
	background-image:url("../img/interface/bg_voice.png");
	background-repeat:no-repeat;
	background-size:100%;
	background-position:center;
}

#home_voices_area section>div img{
	width:100%;
	border-radius:50%;
	vertical-align:bottom;
}

#home_voices_area section h3{
	margin:0 0 0.5em;
	text-align:center;
	font-size:7.5vw;
	font-weight:600;
	line-height:1.2;
}

#home_voices_area section h3 span{
	padding:0 0.2em;
	background:linear-gradient(transparent 65%, #ffea00 35%);
}

#home_voices_area section h3 span span{
	font-size: 0.7em
}

#home_voices_area section h4{
	margin:0 0 1.5em;
	text-align:center;
	font-size:3.5vw;
	font-weight:500;
	line-height:1.3;
	color:#555;
}

#home_voices_area section p{
	margin:0;
	text-align:justify;
	font-size:3.8vw;
	font-weight:400;
	line-height:1.7;
	color:#555;
}

/* ACHIEVEMENTS */

#achievements_contents_area{
	padding:25% 0 5%;
}

#achievements_contents_title{
	margin:0 5% 10%;
	text-align:center;
}

#achievements_contents_title p.taiwa{
	display:table;
	margin:0 auto 0.5em;
	padding:0.4em 0.6em;
	font-size:7vw;
	font-weight:700;
	line-height:1.1;
	color:#fff;
	background-color:#ff9839;
}

#achievements_contents_title h1{
	margin:0 0 0.5em;
	font-size:12vw;
	font-weight:700;
	line-height:1.2;
}

#achievements_contents_title h1 span{
	display:block;
	font-family: "Jost", sans-serif;
	font-size:20vw;
	font-weight:600;
	line-height:1;
	color:#00adad;
}

#achievements_contents_title img{
	width:80%;
	border-radius:50%;
	border:8px solid #ffcb00;
}

#achievements_contents_title p.lead{
	margin:1em 0 0;
	text-align:justify;
	font-size:4.5vw;
	line-height:1.5;
}

#achievements_contents_detail{
	display: grid;
	grid-template-columns: 1fr 120px;
	gap: 2%;
	padding:0 0 0 5%;
}

#achievements_contents_detail .fix{
	position:sticky;
	top:200px;
	height:400px;
}

#achievements_contents_detail .fix img{
	width:100%;
}

#achievements_contents_detail section{
	margin:0 0 30%;
}

#achievements_contents_detail section img{
	width:100%;
}

#achievements_contents_detail section img.float{
	width:100%;
	margin:0 0 20px;
}

#achievements_contents_detail section .pics{
	
}

#achievements_contents_detail section .pics figure{
	margin:0 0 20px;
}

#achievements_contents_detail section .pics figure img{
	width:100%;
}

#achievements_contents_detail section h2{
	margin:0 0 1em;
	padding:0.7em 0 0 0.4em;
	font-size:6vw;
	font-weight:600;
	line-height:1.2;
	border-left:6px solid #00adad;
}

#achievements_contents_detail section h3{
	margin:3em 0 1.5em;
	font-size:5.2vw;
	font-weight:600;
	line-height:1.2;
	color:#eb6d8e;
}

#achievements_contents_detail section ul{
	margin:0;
	padding:0;
	list-style-type:none;
	font-size:4vw;
}

#achievements_contents_detail section ul li{
	margin:0 0 2em;
	padding:0 0 0 1.6em;
	background-image:url("../img/interface/ico_star.svg");
	background-repeat:no-repeat;
	background-size:1.5em;
	background-position:left top;
}

#achievements_contents_detail section ul.note{
	margin:2em 0;
	padding:0 0 0 1.5em;
	list-style-type:disc;
	text-align:justify;
	font-size:3.5vw;
}

#achievements_contents_detail section ul.note li{
	padding:0;
	background-image:none;
}

#achievements_contents_detail section p{
	margin:0 0 2em;
	text-align:justify;
	font-size:4vw;
	line-height:1.7;
}

#achievements_contents_detail section p{
	font-size:3.5vw;
}

#achievements_contents_detail section em{
	font-style:normal;
	font-weight:600;
	color:#666;
}

#achievements_contents_detail section figure{
	margin:0;
}

#achievements_contents_detail section figure img{
	width:100%;
	margin:10px 0 0;
}

#achievements_contents_detail section figure figcaption{
	text-align:center;
	font-size:3.3vw;
	color:#555;
}


/* TAIWA NO KUSEI */

#taiwa_contents_area{
	margin:300px 0 0;
	padding:200px 5% 5%;
	background:linear-gradient(120deg,#00d176 1%,#00baba 4%);
	position:relative;
}

#taiwa_contents_area h1{
	max-width:350px;
	margin:0 auto 2%;
	position:absolute;
	top:-175px;
	left:0;
	right:0;
}

#taiwa_contents_area h1 img{
	width:100%;
}

#taiwa_contents_area p.lead{
	margin:0 auto 2em;
	text-align:justify;
	font-size:4.5vw;
	font-weight:500px;
	line-height:1.5;
	color:#fff;
}

#taiwa_contents_area .bg{
	padding:10% 5%;
	background-color:#fff;
	border-radius:10px;
}

#taiwa_contents_area .bg>section{
	margin:0 0 10%;
	padding:0 0 10%;
	border-bottom:2px dotted #ddd;
}

#taiwa_contents_area h2{
	margin:0 0 1.5em;
	padding:0.7em 0 0 0.4em;
	font-size:6vw;
	font-weight:600;
	line-height:1.2;
	border-left:6px solid #00adad;
}

#taiwa_contents_area h3{
	margin:2.5em 0 1em;
	font-size:5.5vw;
	font-weight:600;
	line-height:1.2;
	color:#eb6d8e;
}

#taiwa_contents_area h4{
	margin:2.5em 0 1em;
	font-size:5vw;
	font-weight:600;
	line-height:1.2;
}

#taiwa_contents_area p{
	margin:0 0 1em;
	text-align:justify;
	font-size:4vw;
	line-height:1.7;
}

#taiwa_contents_area ul{
	margin:0 0 1em;
	padding:0 0 0 1.5em;
	font-size:4vw;
	line-height:1.7;
}

#taiwa_contents_area p.attention{
	padding:0 0 0 2em;
	font-weight:500;
	background-image:url("../img/interface/ico_star.svg");
	background-repeat:no-repeat;
	background-size:1.5em;
	background-position:left top;
}

#taiwa_contents_area a.btn_c{
	margin:0 0 1em;
}

#taiwa_step{
	margin:0;
}

#taiwa_step figcaption{
	font-size:3.5vw;
	color:#555;
}

#taiwa_step>div{
	display:flex;
	flex-wrap:wrap;
	margin:0 0 1em;
}

#taiwa_step section{
	width:50%;
	box-sizing:border-box;
	padding:5%;
	position:relative;
}

#taiwa_step section h4{
	margin:0 0 1em;
	font-size:5vw;
	font-weight:600;
	line-height:1.2;
}

#taiwa_step section h4 span{
	display:block;
	font-family: "Jost", sans-serif;
	font-size:8vw;
	line-height:1;
}

#taiwa_step p{
	font-size:3.5vw;
	line-height:1.5;
}

#taiwa_step ul{
	font-size:3.5vw;
	line-height:1.5;
}

#taiwa_step section.step01{
	background-color:#faedf1;
}

#taiwa_step section.step01 img{
	width:20px;
	position:absolute;
	right:-10px;
	top:50%;
	transform:translateY(-50%);
	z-index:111;
}

#taiwa_step section.step02{
	background-color:#edf6fa;
}

#taiwa_step section.step02 img{
	width:20px;
	position:absolute;
	bottom:-10px;
	left:50%;
	transform:translateX(-50%);
	z-index:111;
}

#taiwa_step section.step03{
	background-color:#fcf9f0;
}

#taiwa_step section.step03 img{
	width:20px;
	position:absolute;
	left:-10px;
	top:50%;
	transform:translateY(-50%);
	z-index:111;
}

#taiwa_step section.step04{
	background-color:#edfafa;
}

#taiwa_step section.step04 img{
	width:20px;
	position:absolute;
	top:-10px;
	left:50%;
	transform:translateX(-50%);
	z-index:111;
}

#taiwa_case section{
	margin:0 0 15%;
	text-align:center;
}

#taiwa_case section>img{
	width:70%;
	border-radius:50%;
	border:8px solid #eb6d8e;
}

#taiwa_case section h3{
	margin:0 0 0.5em;
	text-align:left;
	font-size:5.5vw;
	font-weight:700;
	line-height:1.2;
	color:#eb6d8e;
}

#taiwa_case section p{
	margin:0 0 2em;
	padding:0 0 0.5em;
	text-align:justify;
	font-size:4vw;
	font-weight:400;
	line-height:1.7;
	list-style-type:none;
}

#taiwa_case section p.title{
	display:table;
	margin:0 0 0.5em;
	padding:2.5em 4.2em 0 0;
	font-size:4vw;
	font-weight:500;
	line-height:0.6;
	background-image:url("../img/interface/ico_satoko.png");
	background-repeat:no-repeat;
	background-size:4em;
	background-position:bottom right;
}

#taiwa_case section p.title span{
	font-family: "Jost", sans-serif;
	font-size:12vw;
}

#taiwa_torikumi{
	margin:0;
}

#taiwa_torikumi>div{
	margin:0 0 3%;
}

#taiwa_torikumi table{
	width:100%;
	border-collapse:collapse;
	font-size:3.5vw;
	border-left:1px solid #eee;
	border-right:1px solid #eee;
}

#taiwa_torikumi table th{
	padding:1em 1em;
	text-align:left;
	border-bottom:1px solid #eee;
}

#taiwa_torikumi table td{
	padding:1em 1em;
	border-bottom:1px solid #eee;
	white-space:nowrap;
}

#taiwa_torikumi table tr:nth-of-type(even){
	background-color:#edfafa;
}

#taiwa_torikumi table thead{
	color:#fff;
	background-color:#0091ad;
}

#taiwa_torikumi p.emphasis{
	margin:0;
	font-size:3.5vw;
	line-height:1.5;
}

#taiwa_torikumi p.emphasis b{
	display:block;
	margin:0 0 0.2em;
	font-size:8vw;
	font-weight:700;
	line-height:1.1;
	color:#ffcb00;
}

#taiwa_torikumi p.emphasis b span{
	display:block;
	font-size:7.2vw;
	color:#ff9c28;
}

#taiwa_contents_area h4.example{
	display:table;
	margin:1em 0 0.5em;
	font-family: "Jost", sans-serif;
	font-size:4.5vw;
	font-weight:500;
	line-height:0.8;
}

#taiwa_contents_area h4.example span{
	display:table;
	padding:1em 1.5em;
	font-size:4.5vw;
	font-weight:700;
	line-height:1.2;
	color:#fff;
	background-color:#eb6d8e;
}

#taiwa_sankasya{
	margin:0;
}

#taiwa_sankasya figcaption{
	font-size:4vw;
	color:#555;
}

#taiwa_sankasya table{
	width:100%;
	margin:0 0 0.5em;
	border-collapse:collapse;
	font-size:3.3vw;
	border-left:1px solid #eee;
	border-right:1px solid #eee;
}

#taiwa_sankasya table th{
	padding:1em 0.5em;
	text-align:left;
	border-bottom:1px solid #eee;
}

#taiwa_sankasya table td{
	padding:1em 0.5em;
	border-bottom:1px solid #eee;
}

#taiwa_sankasya table thead{
	color:#fff;
	background-color:#0091ad;
}

#taiwa_faq section>div{
	display:flex;
	justify-content:space-between;
}

#taiwa_faq section>div .a{
	width:10%;
	text-align:center;
	font-family: "Jost", sans-serif;
	font-size:8vw;
}

#taiwa_faq section>div>div{
	width:90%;
}

#taiwa_faq h3{
	padding:0.4em 0.6em;
	font-size:4vw;
	font-weight:700;
	line-height:1.2;
	color:#000;
	background-color:#ffcb00;
	border-radius:10px;
}

#taiwa_faq h3 span{
	font-family: "Jost", sans-serif;
	font-size:9vw;
}

#taiwa_faq p{
	margin:1em 0;
}

#taiwa_faq p a{
	word-break:break-all;
}

/* POLICY */

#policy_key_area{
	padding:120px 5% 5%;
	background:linear-gradient(120deg,#00d176 2%,#00baba 10%);
	position:relative;
}

#policy_key_area section{
	margin:0 auto;
	text-align:center;
}

#policy_key_area section>img{
	width:70%;
	border-radius:50%;
	border:8px solid #fff;
	vertical-align:bottom;
}

#policy_key_area section p{
	margin:0 0 2em;
	text-align:justify;
	font-size:4vw;
	font-weight:400;
	line-height:1.5;
	color:#fff;
}

#policy_key_area section p.num{
	display:table;
	margin:0;
	padding:1.3em 2.2em 0 0;
	font-family: "Jost", sans-serif;
	font-size:15vw;
	font-weight:500;
	line-height:0.6;
	color:#fff;
	background-image:url("../img/interface/ico_satoko.png");
	background-repeat:no-repeat;
	background-size:2em;
	background-position:bottom right;
}

#policy_key_area section h1{
	display:table;
	margin:0 0 0.5em;
	padding:1em 2em;
	font-size:5vw;
	font-weight:700;
	line-height:1.2;
	background-color:#fff;
}

#policy_key_area section p.catch{
	margin:0 0 0.5em;
	text-align:left;
	font-size:7.5vw;
	font-weight:700;
	line-height:1.2;
	color:#fef2d4;
}

#policy_contents_detail{
	padding:5%;
}

#policy_contents_detail ul.anchor{
	margin:0 0 20%;
	padding:0 0 0 0.5em;
	font-size:4vw;
	font-weight:400;
	line-height:1.4;
	color:#fff;
	list-style-type:none;
}

#policy_contents_detail ul.anchor li{
	margin:1.2em 0;
	padding:0 0 0 1.5em;
	background-image:url("../img/interface/ico_triangle_pink_down.svg");
	background-repeat:no-repeat;
	background-size:0.7em;
	background-position:top 0.3em left;
}

#policy_contents_detail section{
	margin:0 0 15%;
}

#policy_contents_detail section h2{
	margin:0 0 1em;
	padding:1em 0 0 0.4em;
	font-size:5vw;
	font-weight:500;
	line-height:1.2;
	border-left:6px solid #00adad;
}

#policy_contents_detail section h2 span{
	display:block;
	margin:0.5em 0;
	font-size:3.7vw;
	font-weight:500;
	line-height:1.4;
	color:#444;
}

#policy_contents_detail section h3{
	margin:0 0 1em;
	font-size:4.5vw;
	font-weight:600;
	line-height:1.4;
}

#policy_contents_detail section ul{
	margin:0;
	padding:0;
	list-style-type:none;
	font-size:4vw;
}

#policy_contents_detail section ul li{
	margin:0 0 2em;
	padding:0 0 0 1.6em;
	background-image:url("../img/interface/ico_star.svg");
	background-repeat:no-repeat;
	background-size:1.5em;
	background-position:left top;
}

#policy_contents_detail section p{
	margin:0 0 2em;
	text-align:justify;
	font-size:4vw;
	line-height:1.7;
}

#policy_contents_detail section em{
	font-style:normal;
	font-weight:600;
	color:#666;
}

#policy_contents_detail section figure{
	margin:0;
}

#policy_contents_detail section figure img{
	width:100%;
	margin:10px 0 0;
}

#policy_contents_detail section figure figcaption{
	text-align:center;
	font-size:3.3vw;
	color:#555;
}

#policy_contents_detail .continue,
#policy_contents_detail .work,
#policy_contents_detail .consider{
	margin:20% 0;
	padding:0 5% 3%;
	background-color:#fcfaf2;
	border-radius:5px;
}

#policy_contents_detail .continue p,
#policy_contents_detail .work p,
#policy_contents_detail .consider p{
	margin:0 0 1em;
}

#policy_contents_detail .continue h3{
	display:table;
	margin:0;
	padding:0.5em 1em 0.5em 2em;
	color:#fff;
	background-image:url("../img/interface/ico_thumbup.png"),linear-gradient(90deg,#00d4ae 10%,#00c5c5 45%);
	background-repeat:no-repeat;
	background-size:1.2em,cover;
	background-position:left 0.5em center,center;
	border-radius:5px;
	position:relative;
	top:-1em;
	left:-1.5em;
}

#policy_contents_detail .work h3{
	display:table;
	margin:0;
	padding:0.5em 1em 0.5em 2em;
	color:#fff;
	background-image:url("../img/interface/ico_work.png"),linear-gradient(90deg,#00d4ae 10%,#00c5c5 45%);
	background-repeat:no-repeat;
	background-size:1.2em,cover;
	background-position:left 0.5em center,center;
	border-radius:5px;
	position:relative;
	top:-1em;
	left:-1.5em;
}

#policy_contents_detail .consider h3{
	display:table;
	margin:0;
	padding:0.5em 1em 0.5em 2em;
	color:#fff;
	background-image:url("../img/interface/ico_consider.png"),linear-gradient(90deg,#00d4ae 10%,#00c5c5 45%);
	background-repeat:no-repeat;
	background-size:1.2em,cover;
	background-position:left 0.5em center,center;
	border-radius:5px;
	position:relative;
	top:-1em;
	left:-1.5em;
}

#policy_list_area{
	padding:2% 3.5% 5%;
}

#policy_list_area section{
	margin:0 0 10%;
}

#policy_list_area section>a img{
	width:100%;
}

#policy_list_area section>a img.arrow{
	width:50px;
	vertical-align:bottom;
	position:absolute;
	bottom:-10px;
	right:-5px;
}

#policy_list_area section>a{
	display:block;
	width:100%;
	height:100%;
	padding:0 0 2em;
	background-color:#fff;
	box-shadow: 0px 0px 15px 2px rgba(0, 102, 102, 0.1);
	position:relative;
}

#policy_list_area section>a:hover{
	opacity:0.8;
}

#policy_list_area section>a:hover img{
	right:-5px;
	transition:0.3s;
}

#policy_list_area section a p{
	margin:0;
	padding:1em 1.5em 0;
	text-align:justify;
	font-size:16px;
	font-weight:400;
	line-height:1.3;
	color:#555;
}

#policy_list_area section>p.num{
	margin:0;
	font-family: "Jost", sans-serif;
	font-size:60px;
	font-weight:500;
	line-height:0.6;
	color:#00adad;
}

#policy_list_area section h3{
	margin:0;
	padding:0.8em 1em;
	font-size:22px;
	font-weight:600;
	line-height:1.2;
	color:#fff;
	background-color:#00adad;
}


/* MODAL */

.open-modal{
	background-color: transparent;
	border: none;
	cursor: pointer;
	outline: none;
	padding: 0;
	appearance: none;
	font-size:1.1em;
	color:#00adad;
}

.modal {
	position: fixed;
	inset: 0;
	background: rgba(0, 0, 0, 0.6);
	display: flex;
	justify-content: center;
	align-items: center;
	z-index: 1111111;
	visibility: hidden;
	opacity: 0;
	transition: opacity 0.3s ease, visibility 0s linear 0.3s;
}
.modal.active {
	visibility: visible;
	opacity: 1;
	transition-delay: 0s;
}
.modal-content {
	background: white;
	box-sizing:border-box;
	padding: 2rem;
	border-radius: 10px;
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2);
	position: relative;
	max-width: 500px;
	width: 90%;
	transform: translateY(20px);
	transition: transform 0.3s ease;
}
.modal.active .modal-content {
	transform: translateY(0);
}
.close-btn {
	position: absolute;
	top: 1rem;
	right: 1rem;
	background: none;
	border: none;
	font-size: 1.5rem;
	cursor: pointer;
}

.modal-content h2{
	margin:0.5em 0 1em;
	font-size:5vw;
	font-weight:500;
	line-height:1.3;
}

.modal-content p{
	margin:1em 0;
	text-align:justify;
	font-size:3.8vw;
	line-height:1.6;
}


/* SUB POLICY */

#sub_policy_area{
	margin:0 0 20%;
}

#sub_policy_key{
	margin:0 0 300px;
	padding:100px 0 200px;
	background:linear-gradient(120deg,#00d176 5%,#00baba 20%);
	position:relative;
}

#sub_policy_area h1{
	max-width:360px;
	margin:auto;
	position:absolute;
	left:0;
	right:0;
	bottom:-170px;
}

#sub_policy_area h1 img{
	width:100%;
}

#sub_policy_area p.lead{
	margin:0 0 5%;
	text-align:center;
	font-size:22px;
	font-weight:500px;
	line-height:1.5;
	color:#fff;
}

#sub_policy_area>a{
	margin: 0 auto;
}


/*
#sub_policy_list{
	margin:0 auto;
	padding:0 5%;
}

#sub_policy_list section{
	padding:8% 0;
	border-bottom:1px solid #ddd;
	text-align:center;
}

#sub_policy_list section:last-child{
	padding:5% 0 0;
	border-bottom:none;
}

#sub_policy_area section>img{
	width:60%;
	border-radius:50%;
	border:5px solid #00baba;
}

#sub_policy_list section p{
	margin:0 0 2em;
	text-align:justify;
	font-size:4vw;
	font-weight:400;
	line-height:1.6;
}

#sub_policy_area section p.num{
	display:table;
	margin:0;
	font-family: "Jost", sans-serif;
	font-size:15vw;
	font-weight:500;
	line-height:0.6;
}

#sub_policy_list section h2{
	margin:0 0 1em;
	padding:1em 2em;
	font-size:5vw;
	font-weight:700;
	line-height:1.2;
	background-color:#fef2d4;
}

#sub_policy_area section h3{
	margin:0 0 1em;
	font-size:7vw;
	font-weight:700;
	line-height:1.3;
}

#sub_policy_area section h3 span{
	padding:0 0.2em;
	background:linear-gradient(transparent 65%, #ffea00 35%);
}

#sub_policy_area section ul{
	margin:0;
	padding:0 0 0 1em;
	text-align:left;
	font-size:3.6vw;
	font-weight:400;
	line-height:1.4;
	color:#555;
}

#sub_policy_area section ul li{
	margin:1em 0;
}

#sub_policy_area section ul.em{
	margin:0 0 2em;
	padding:0 0 0 0.5em;
	font-size:4.2vw;
	font-weight:500;
	line-height:1.4;
	color:#00baba;
	list-style-type:none;
	border-top:1px dotted #ddd;
}

#sub_policy_area section ul.em li{
	margin:0;
	padding:1em 0 1em 1.5em;
	background-image:url("../img/interface/ico_triangle_yellow.svg");
	background-repeat:no-repeat;
	background-size:0.8em;
	background-position:center left;
	border-bottom:1px dotted #ddd;
}

#three_column_area{
	margin:0 auto 200px;
	padding:0 5%;
	text-align:center;
}

#three_column_area div{
	padding:3% 5% 130px;
	background:url("../img/interface/ico_satoko04.png"),linear-gradient(120deg,#00d176 5%,#00baba 50%);
	background-repeat:no-repeat;
	background-size:auto 350px,cover;
	background-position:bottom -200px right -20px,center;
	border-radius:10px;
}

#three_column_area a{
	color:#fff;
}

#three_column_area a:hover{
	opacity:0.8;
}

#three_column_area h2{
	margin:0 0 0.3em;
	font-size:9vw;
	line-height:1.2;
	color:#00adad;
}

#three_column_area h3{
	margin:0.6em 0;
	font-size:8vw;
	line-height:1.2;
}

#three_column_area h3 b{
	display:block;
	font-family: "Jost", sans-serif;
	font-size:15vw;
}

#three_column_area h3 span{
	width:calc(100% - 100px);
}

*/

#three_column_area{
	max-width:900px;
	margin:0 auto 200px;
	padding:0 5%;
}

#three_column_area a:hover{
	opacity:0.8;
}

#three_column_area img{
	width:100%;
}

/* VISION */

#vision_contents_area{
	padding:120px 5% 20%;
	background-image:url("../img/key_bg.png");
	background-repeat:no-repeat;
	background-size:cover;
	background-position:center left;
}

#vision_contents_area h1{
	margin:0 0 1em;
	text-align:center;
	font-size:10vw;
	line-height:1.1;
	color:#00baba;
	background:linear-gradient(120deg, #00d176 5%, #00baba 60%);
	-webkit-background-clip:text;
	-webkit-text-fill-color:transparent;
}

#vision_contents_area h1 span{
	font-family: "Jost", sans-serif;
	font-size:25vw;
}

#vision_contents_area h2{
	margin:0 0 0.6em;
	font-size:8.5vw;
	font-style:italic;
	line-height:1.1;
	color:#00baba;
}

#vision_contents_area h2 span{
	display:block;
	margin:0 0.2em 0 0;
	font-family: "Jost", sans-serif;
	font-size:20vw;
	line-height:1;
	color:#f4ee91;
}

#vision_contents_area h3{
	margin:0 0 0.5em;
	font-size:6vw;
	line-height:1.2;
	color:#ff9839;
}

#vision_contents_area p{
	margin:0 0 2em;
	text-align:justify;
	font-size:4.4vw;
	font-weight:500;
	line-height:1.5;
	color:#00baba;
}

#vision_contents_area ul{
	margin:0 0 1em;
	padding:0 0 0 1.5em;
	font-size:4.6vw;
	font-weight:500;
	line-height:1.5;
}

#vision_contents_area ul li{
	margin:0 0 1em;
}

#vision_contents_area ul span{
	background:linear-gradient(transparent 65%, #67e0bd 35%);
}

#vision_contents_area .bg{
	max-width:850px;
	margin:0 auto;
}

#vision_contents_area .bg section{
	margin:0 0 15%;
}

#home_broadlistening_area{
	padding:5%;
	text-align:center;
}

#home_broadlistening_area img{
	width:100%;
}


#greeting_video_area{
	padding:10% 5%;
	background-color:#eee;
	text-align:center;
}

#greeting_video_area h2{
	margin:0 0 1.5em;
	font-size:6.2vw;
}

#greeting_video_area .btn_a{
	margin:0 auto;
}

#greeting_video_area>div{
	margin:0 auto 5%;
}

#greeting_video_area>div a{
	display:block;
	margin:0 0 8%;
	font-size:4.5vw;
	font-weight:600;
	line-height:1.2;
	color:#000;
}

#greeting_video_area>div a:hover{
	opacity:0.8;
}

#greeting_video_area>div a img{
	width:100%;
	margin:0 0 5px;
	padding:10px 0;
	background-color:#000;
}