@charset "utf-8";

/* ========================================
FONTS
======================================== */
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;700&display=swap&amp;subset=japanese');

/* ========================================
OUTLINE
======================================== */
body{
	color: #111;
	font-family: "Noto Sans JP", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", "sans-serif";
	font-weight: 400;
	font-feature-settings: "palt";
	letter-spacing: 0.25em;
	background-color: #fff;
}
.body_fixed{
	overflow: hidden;
}
.contents{
	display: block;
	line-height: 1.6;
}
.bgBlack {
	background-color: #000000;
}
@media print, screen and (min-width: 768px){
	#container{
		padding-top: 0;
	}
	.contents{
		position: relative;
		top: 120px;
		background: url(../images/intro_bg_pc.jpg) repeat-y center 120px;
		background-size: 100% auto;
	}
}
@media screen and (max-width: 767px){
	#container{
		padding-top: 50px;
	}
	.contents{
		background: url(../images/intro_bg_sp.jpg) no-repeat center top;
		background-size: 100% auto;
	}
}
/* IE */
@media all and (-ms-high-contrast:none){
	body{
		letter-spacing: normal;
	}
}

/* ========================================
PARTS
======================================== */
/* cv_btn */
.cv_btn a{
	display: block;
	color: #fff;
	font-weight: 700;
	text-decoration: none;
	border-radius: 42px;
	background: #f7931e;
}
.cv_btn.blue_btn a {
	background: #1D8FE0;
}

/* bg_grad */
.bg_grad{
	background: #1d8fe0;
	background: -moz-linear-gradient(45deg, #1d8fe0 0%, #1dc0e0 100%);
	background: -webkit-linear-gradient(45deg, #1d8fe0 0%, #1dc0e0 100%);
	background: linear-gradient(45deg, #1d8fe0 0%, #1dc0e0 100%);
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#1d8fe0', endColorstr='#1dc0e0',GradientType=1 );
}

/* bg_ice */
.bg_ice_01{
	background-color: #fff;
	background-repeat: no-repeat, no-repeat;
}
@media print, screen and (min-width: 768px){
	.bg_ice_01{
		background-image: url(../images/bg_ice01_pc.png), url(../images/bg_ice02_pc.png);
		background-position: center top -3%, center bottom 25%;
		background-size: 100% auto, 100% auto;
	}
}
@media screen and (max-width: 767px){
	.bg_ice_01{
		background-image: url(../images/bg_ice01_sp.png), url(../images/bg_ice02_sp.png);
		background-position: center top -3%, center bottom 29%;
		background-size: 100% auto, 100% auto;
	}
}

/* sec_title */
.sec_title{
	position: relative;
	padding-top: 55px;
	text-align: center;
}
.sec_title::before{
	content: "";
	position: absolute;
	top: 0px;
	left: 50%;
	transform: translateX(-50%);
	background: url(../images/icon_sec_title.png) no-repeat center center;
	background-size: 100% auto;
}
.sec_title .t_grad{
	-webkit-text-fill-color: transparent;
	-webkit-background-clip: text;
}
@media print, screen and (min-width: 768px){
	.sec_title{
		margin-bottom: 40px;
		font-size: 45px;
	}
	.sec_title::before{
		width: 10px;
		height: 50px;
	}
}
@media screen and (max-width: 767px){
	.sec_title{
		margin-bottom: 30px;
		font-size: 30px;
	}
	.sec_title::before{
		width: 8px;
		height: 45px;
	}
}
/* IE */
@media all and (-ms-high-contrast:none){
	.sec_title .t_grad{
		color: #1d8fe0;
		background: none;
	}
}

/* w_1000 */
.w_1000{
	max-width: 1000px;
	margin-right: auto;
	margin-left: auto;
}

/* note */
@media print, screen and (min-width: 768px){
	.note{
		font-size: 13px;
	}
}
@media screen and (max-width: 767px){
	.note{
		font-size: 11px;
	}
}

/* indent */
.indent1{
	padding-left: 1em;
	text-indent: -1em;
}
.indent18{
	padding-left: 1.8em;
	text-indent: -1.8em;
}
.indent2{
	padding-left: 2em;
	text-indent: -2em;
}

/* ic_sub */
.ic_sub{
	font-size: 100%;
	vertical-align: -0.37em;
}

/* pc/sp */
.sp_only{
	display: none;
}
@media screen and (max-width: 767px){
	.pc_only{
		display: none;
	}
	.sp_only{
		display: block;
	}
}

/* ========================================
icHeader
======================================== */
#icHeader .head_wrap{
	display: flex;
	align-items: center;
	justify-content: space-between;
}
#icHeader .menu li a{
	text-decoration: none;
}
#icHeader .menu li:not(.cv_btn) a{
	display: block;
	color: #111;
	font-weight: 700;
}
#icHeader .menu .cv_btn a{
	box-shadow: 0px 0px 12px -5px rgba(0,0,0,0.6);
}
@media print, screen and (min-width: 768px){
	#icHeader .head_wrap{
		height: 100px;
		padding-right: 80px;
		padding-left: 80px;
	}
	#icHeader .logo{
		width: 27%;
	}
	#icHeader .menu{
		display: flex;
		align-items: center;
	}
	#icHeader .menu li a{
		font-size: 16px;
	}
	#icHeader .menu li:not(.cv_btn){
		margin-right: 28px;
		margin-left: 28px;
	}
	#icHeader .menu li:not(.cv_btn) a{
		height: 100px;
		line-height: 100px;
	}
	#icHeader .menu .cv_btn{
		margin-left: 20px;
	}
	#icHeader .menu .cv_btn a{
		padding: 17px 50px;
	}
	#icHeader .toggle{
		display: none;
	}
}
/* TB固有設定 */
@media screen and (min-width: 768px) and (max-width: 1279px) {
	#icHeader .head_wrap{
		padding-right: 20px;
		padding-left: 20px;
	}
	#icHeader .menu li:not(.cv_btn){
		margin-right: 15px;
		margin-left: 15px;
	}
}
@media screen and (max-width: 767px){
	#icHeader{
		position: fixed;
		width: 100%;
		background: #fff;
		z-index: 91;
	}
	#icHeader .head_wrap{
		height: 50px;
		padding-right: 20px;
		padding-left: 20px;
	}
	#icHeader .logo{
		width: 85%;
	}

	/* toggle */
	#icHeader .toggle{
		position: fixed;
		top: 0px;
		right: 0px;
		width: 50px;
		height: 50px;
		z-index: 100;
		cursor: pointer;
	}
	#icHeader .toggle span{
		position: absolute;
		left: 0px;
		width: 35px;
		height: 3px;
		transition: all 0.5s ease;
	}
	#icHeader .toggle span:nth-of-type(1){
		top: 16px;
	}
	#icHeader .toggle span:nth-of-type(2){
		top: 24px;
	}
	#icHeader .toggle span:nth-of-type(3){
		bottom: 15px;
	}
	#icHeader .toggle.active span{
	}
	#icHeader .toggle.active span:nth-of-type(1){
		width: 30px;
		left: 6px;
		transform: translateY(10px) rotate(-45deg);
	}
	#icHeader .toggle.active span:nth-of-type(2){
		opacity: 0;
	}
	#icHeader .toggle.active span:nth-of-type(3){
		width: 30px;
		left: 6px;
		bottom: 11px;
		transform: translateY(-10px) rotate(45deg);
	}

	/* menu */
	#icHeader .menu{
		display: none;
		overflow-y: auto;
		position: fixed;
		top: 0px;
		right: 0px;
		width: 100%;
		height: 100%;
		padding: 60px 15px;
		text-align: center;
		background: #fff;
		z-index: 99;
	}
	#icHeader .menu li:not(.cv_btn){
		position: relative;
		margin-top: 15px;
		padding-top: 25px;
	}
	#icHeader .menu li:not(.cv_btn)::after{
		content: "";
		position: absolute;
		top: 0px;
		left: 50%;
		transform: translateX(-50%);
		width: 8px;
		height: 35px;
		background: url(../images/icon_sec_title.png) no-repeat center center;
		background-size: 100% auto;
	}
	#icHeader .menu li:not(.cv_btn) a{
		padding: 20px 0 10px;
		font-size: 23px;
	}
	#icHeader .menu .cv_btn{
		width: 80%;
		max-width: 100%;
		margin: 35px auto 0;
	}
	#icHeader .menu .cv_btn a{
		position: relative;
		padding: 17px 0;
		font-size: 15px;
	}
	#icHeader .menu .cv_btn a::after{
		content: "";
		position: absolute;
		top: 50%;
		right: 20px;
		transform: translateY(-50%);
		width: 20px;
		height: 100%;
		background: url(../images/icon_arw_right_w.png) no-repeat center center;
		background-size: 100% auto;
	}
}

/* ========================================
mv
======================================== */
#mv{
	position: relative;
	top: 0;
	margin-bottom: 0;
}
#mv .text_box{
	background: #fff;
	z-index: 1;
}
#mv .text_box h1 *{
	display: block;
}
#mv .text_box h1 .lead{
	color: #025c9b;
	letter-spacing: 0.12em;
	line-height: 1.4;
	text-align: center;
}
#mv .text_box h1 .logo_sub{
	color: #fff;
	font-weight: bold;
	text-align: center;
}
#mv .text_box p{
	text-align: center;
}
@media print, screen and (min-width: 768px){
	#mv {
		top: -120px;
		margin-bottom: -120px;
	}

	#mv .ph_box{
		width: 63%;
		margin-left: 3.5%;
	}
	#mv .text_box{
		position: absolute;
		right: 0%;
		width: 40%;
	}
	#mv .text_box h1 .lead{
		margin-bottom: 22px;
		font-size: 38px;
	}
	#mv .text_box h1 .logo{
		width: 320px;
		margin: 0 auto 32px;
	}
	#mv .text_box h1 .logo_sub{
		width: 300px;
		margin: 0 auto 20px;
		padding: 2px 0 6px;
		font-size: 26px;
	}
	#mv .text_box p{
		margin-bottom: 20px;
		font-size: 22px;
	}
	#mv .text_box ul{
		padding: 0 12%;
	}
	#mv .text_box ul li{
		font-size: 11px;
	}
	#mv .text_box ul li:nth-of-type(n+2){
		margin-top: 5px;
	}
}
@media print, screen and (min-width: 1680px){
	#mv .text_box{
		padding: 60px 0 55px;
	}
}
@media screen and (min-width: 1280px) and (max-width: 1679px) {
	#mv .text_box{
		padding: 40px 0 35px;
	}
}
@media print, screen and (min-width: 1440px){
	#mv .text_box{
		bottom: 0px;
	}
}
@media screen and (min-width: 1280px) and (max-width: 1439px) {
	#mv .text_box{
		top: 55px;
	}
}
/* TB固有設定 */
@media screen and (min-width: 768px) and (max-width: 1279px) {
	#mv .ph_box{
		width: 80%;
		margin: auto;
	}
	#mv .text_box{
		position: relative;
		width: 70%;
		margin: -60px auto 0;
		padding: 40px 0 35px;
	}
}
@media screen and (max-width: 767px){
	#mv{
		margin-bottom: 40px;
	}
	#mv .text_box{
		position: relative;
		width: 84%;
		margin: -30px auto 0;
		padding: 25px 0 20px;
	}
	#mv .text_box h1 .lead{
		margin-bottom: 10px;
		font-size: 21px;
	}
	#mv .text_box h1 .logo{
		width: 160px;
		margin: 0 auto 15px;
	}
	#mv .text_box h1 .logo_sub{
		width: 160px;
		margin: 0 auto 10px;
		padding: 2px 0 3px;
		font-size: 15px;
	}
	#mv .text_box p{
		margin-bottom: 10px;
		font-size: 15px;
	}
	#mv .text_box ul{
		padding: 0 12%;
	}
	#mv .text_box ul li{
		font-size: 8px;
	}
}

/* scroll */
#scrollDown.scrollDown_scroll {
	position: absolute;
	bottom: 0px;
	z-index: 90;
}
#scrollDown .text {
	padding-top: 70px;
}
#scrollDown .text span {
	overflow: hidden;
	position: absolute;
	top: 0px;
	left: 50%;
	width: 1px;
	height: 60px;
	background-color: #FFFFFF;
}
#scrollDown .text span:before {
	display: block;
	content: '';
	position: absolute;
	top: 0px;
	left: 0px;
	width: 100%;
	height: 100%;
	background: #1d8fe0;
	animation: scroll 2s infinite normal;
}
@keyframes scroll {
	0% {
		transform: translateY(-100%)
	}
	15% {
		transform: translateY(-98%)
	}
	85% {
		transform: translateY(98%)
	}
	100% {
		transform: translateY(100%)
	}
}
@media print, screen and (min-width: 768px){
	#scrollDown.scrollDown_scroll {
		left: 1.3%;
	}
}
@media screen and (max-width: 767px){
	#scrollDown.scrollDown_scroll {
		left: 2%;
	}
}

/* ========================================
intro
======================================== */
#intro{
	color: #fff;
	text-align: center;
}
#intro .intro_title{
	letter-spacing: 0.12em;
}
#intro .intro_title span{
	color: #ffeb7e;
	font-size: 140%;
}
#intro .compare_box{
	position: relative;
	border: 1px solid #fff;
}
#intro .compare_box .title_wrap{
	display: inline-block;
	position: absolute;
	left: 50%;
	transform: translateX(-50%);
	background: url(../images/intro_bg_sub_pc.jpg) no-repeat center center;
	background-size: cover;
}
#intro .compare_box .title_wrap .title{
	display: inline-block;
	border: 1px solid #fff;
}
#intro .compare_box .thermography > li ul{
	display: flex;
}
@media print, screen and (min-width: 768px){
	#intro{
		padding: 115px 0 100px;
	}
	#intro .intro_title{
		margin-bottom: 60px;
		font-size: 36px;
	}
	#intro .compare_box{
		padding: 50px 0 40px;
	}
	#intro .compare_box .title_wrap{
		top: -26px;
		padding: 0 30px;
	}
	#intro .compare_box .title_wrap .title{
		width: 570px;
		padding: 8px 0;
		font-size: 22px;
	}
	#intro .compare_box .thermography{
		display: flex;
		justify-content: center;
		margin-bottom: 40px;
	}
	#intro .compare_box .thermography .graph{
		margin: 0 20px;
	}
	#intro .compare_box .thermography > li ul{
		justify-content: center;
	}
}
/* TB固有設定 */
@media screen and (min-width: 768px) and (max-width: 1279px) {
	#intro{
		padding-right: 20px;
		padding-left: 20px;
	}
}
@media screen and (max-width: 767px){
	#intro{
		padding-bottom: 50px;
	}
	#intro .intro_title{
		margin-bottom: 60px;
		font-size: 22px;
	}
	#intro .compare_box{
		width: calc(100% - 40px);
		padding: 45px 20px 25px;
	}
	#intro .compare_box .title_wrap{
		top: -7%;
		padding: 0 10px;
		width: 75%;
		background: url(../images/intro_bg_sub_sp.jpg) no-repeat center center;
		background-size: cover;
	}
	#intro .compare_box .title_wrap .title{
		width: 100%;
		padding: 5px 0;
		font-size: 15px;
	}
	#intro .compare_box .thermography{
		margin-bottom: 20px;
	}
	#intro .compare_box .thermography .graph{
		width: 48%;
	}
	#intro .compare_box .thermography > .graph{
		margin: 0 auto 4%;
	}
	#intro .compare_box .thermography > li ul{
		justify-content: space-between;
	}
}

/* ========================================
about
======================================== */
#about .clm2{
	position: relative;
	max-width: 1340px;
	margin: auto;
}
#about .clm2 .text_box{
	color: #fff;
}
#about .clm2 .text_box .link a{
	position: relative;
	display: inline-block;
	color: #fff;
	text-decoration: none;
	border: 1px solid #fff;
	border-radius: 42px;
}
#about .clm2 .text_box .link a::after{
	content: "";
	position: absolute;
	top: 0px;
	height: 100%;
	background: url(../images/icon_arw_right_w.png) no-repeat center center;
	background-size: 100% auto;
}
#about .guideline{
	max-width: 700px;
	margin: auto;
	border-top: 2px solid #1dc0e0;
	border-bottom: 2px solid #1dc0e0;
}
#about .guideline .title{
	color: #025c9b;
	text-align: center;
}
#about .guideline dl .ice_lv3 img{
	width: 80px;
}
#about .guideline dl .ice_lv2 img{
	width: 50px;
}
#about .guideline dl .ice_lv1 img{
	width: 20px;
}
#about .guideline dl dd span{
	font-weight: bold;
}
@media print, screen and (min-width: 768px){
	#about{
		padding-top: 120px;
	}
	#about .clm2{
		margin-bottom: 100px;
		padding: 0 50px;
	}
	#about .clm2 .text_box{
		width: 66%;
		padding: 60px 14% 70px 60px;
		background: url(../images/about_bg_pc.jpg) no-repeat center center;
		background-size: cover;
	}
	#about .clm2 .text_box .title{
		margin-bottom: 30px;
		font-size: 30px;
	}
	#about .clm2 .text_box .text{
		margin-bottom: 40px;
	}
	#about .clm2 .text_box .link a{
		padding: 13px 85px 16px;
	}
	#about .clm2 .text_box .link a::after{
		right: 20px;
		width: 23px;
	}
	#about .clm2 .ph_box{
		position: absolute;
		top: 24%;
		right: 50px;
		width: 42%;
	}
	#about .guideline{
		padding: 40px 0;
	}
	#about .guideline .title{
		margin-bottom: 30px;
		font-size: 26px;
	}
	#about .guideline dl{
		display: flex;
		flex-wrap: wrap;
		align-items: center;
		padding: 0 75px;
	}
	#about .guideline dl dt:nth-of-type(n+2),
	#about .guideline dl dd:nth-of-type(n+2){
		margin-top: 15px;
	}
	#about .guideline dl dt{
		width: 112px;
	}
	#about .guideline dl dd{
		width: calc(100% - 112px);
		font-size: 18px;
	}
}
@media screen and (max-width: 767px){
	#about{
		overflow: hidden;
		padding-top: 40px;
	}
	#about .clm2{
		margin-bottom: 30px;
		padding: 0 20px;
	}
	#about .clm2 .text_box{
		padding: 30px 25px 80px 25px;
		background: url(../images/about_bg_sp.jpg) no-repeat center center;
		background-size: cover;
	}
	#about .clm2 .text_box .title{
		margin-bottom: 20px;
		font-size: 19px;
	}
	#about .clm2 .text_box .text{
		margin-bottom: 25px;
	}
	#about .clm2 .text_box .link a{
		width: 100%;
		padding: 10px 0 13px;
		text-align: center;
	}
	#about .clm2 .text_box .link a::after{
		right: 15px;
		width: 18px;
	}
	#about .clm2 .ph_box{
		float: right;
		width: 90%;
		margin-top: -50px;
		margin-right: -20px;
	}
	#about .guideline{
		width: calc(100% - 80px);
		margin: 0 auto;
		padding: 20px 0 30px;
		text-align: center;
	}
	#about .guideline .title{
		margin-bottom: 20px;
		font-size: 19px;
	}
	#about .guideline dl dt:nth-of-type(n+2){
		margin-top: 15px;
	}
	#about .guideline dl dd span{
		display: block;
	}
}

/* ========================================
future
======================================== */
#future .future_point{
	position: relative;
}
#future .future_point::after{
	content: "";
	position: absolute;
	bottom: 0px;
	left: 50%;
	transform: translateX(-50%);
	background: url(../images/icon_arw_bottom_b.png) no-repeat center center;
	background-size: 100% auto;
}
#future .future_result{
	max-width: 895px;
	margin-right: auto;
	margin-left: auto;
	text-align: center;
	background: -moz-linear-gradient(top, rgba(255,255,255,1) 0%, rgba(255,255,255,0) 100%);
	background: -webkit-linear-gradient(top, rgba(255,255,255,1) 0%, rgba(255,255,255,0) 100%);
	background: linear-gradient(to bottom, rgba(255,255,255,1) 0%, rgba(255,255,255,0) 100%);
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ffffff', endColorstr='#00ffffff',GradientType=0 );
}
#future .future_result .text{
	color: #025c9b;
	font-weight: 700;
}
#future .future_result .text span{
	background: linear-gradient(transparent 90%, #ffe400 90%);
}
#future .future_result .image{
	display: flex;
	justify-content: center;
	margin-bottom: 20px;
}
#future .future_result .image li img{
	border: 2px solid #fff;
}
#future .future_result .cv_btn a,
#intro .cv_btn a,
#example .cv_btn a,
.cv_btn.cv_mod a  {
	display: inline-block;
	position: relative;
}
#future .future_result .cv_btn a::after,
#intro .cv_btn a::after,
#example .cv_btn a::after {
	content: "";
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	height: 100%;
	background: url(../images/icon_arw_right_w.png) no-repeat center center;
	background-size: 100% auto;
}
#future .cv_btn.cv_mod a::after,
#example .cv_btn.cv_mod a::after {
	content: unset;
}
#future .point_title{
	position: relative;
	color: #0661a1;
	letter-spacing: 0.12em;
}
#future .point_title::before{
	content: "";
	position: absolute;
	top: 50%;
	left: 0px;
	transform: translateY(-50%);
}
#future .point_title span{
	display: inline-block;
	position: relative;
	padding-bottom: 5px;
}
#future .point_title span::after{
	content: "";
	position: absolute;
	left: 0px;
	bottom: 0px;
	width: 100%;
	background: #1d8fe0;
	background: -moz-linear-gradient(45deg, #1d8fe0 0%, #1dc0e0 100%);
	background: -webkit-linear-gradient(45deg, #1d8fe0 0%, #1dc0e0 100%);
	background: linear-gradient(45deg, #1d8fe0 0%, #1dc0e0 100%);
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#1d8fe0', endColorstr='#1dc0e0',GradientType=1 );
}
#future .point_detail{
	margin-right: auto;
	margin-left: auto;
	background: rgba(255,255,255,0.7);
}

/* point_1 */
#future .point_1 .point_title::before{
	background: url(../images/future_num01.png) no-repeat left center;
	background-size: auto 100%;
}
#future .point_1 .point_detail .text{
	position: relative;
	font-weight: bold;
	text-align: center;
}
#future .point_1 .point_detail .text::after{
	content: "";
	position: absolute;
	bottom: 0px;
	left: 50%;
	transform: translateX(-50%);
	background: url(../images/icon_arw_bottom_b.png) no-repeat center center;
	background-size: 100% auto;
}
#future .point_1 .point_detail .text .marker_txt{
	background: linear-gradient(transparent 90%, #ffe400 90%);
}
#future .point_1 .point_detail .text .f_Large{
	color: #025c9b;
	font-size: 125%;
}
#future .point_1 .point_detail .clm2{
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
}
#future .point_1 .point_detail .clm2 .text_box .title_sub{
	color: #025c9b;
}
#future .point_1 .point_detail .clm2 .text_box dl dt{
	margin-bottom: 5px;
	font-weight: 700;
}

/* point_2 */
#future .point_2 .point_title::before{
	background: url(../images/future_num02.png) no-repeat left center;
	background-size: auto 100%;
}
#future .point_2 .point_detail .clm2{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
#future .point_2 .point_detail .clm2 .ph_box{
	position: relative;
}
#future .point_2 .point_detail .clm2 .ph_box .image_pos{
	position: absolute;
}

/* point_3 */
#future .point_3 .point_title::before{
	background: url(../images/future_num03.png) no-repeat left center;
	background-size: auto 100%;
}
#future .point_3 .point_detail .clm2{
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
}
#future .point_3 .point_detail .clm2 > div dl dt{
	margin-bottom: 7px;
	font-weight: bold;
	text-align: center;
}
@media print, screen and (min-width: 768px){
	#future{
		padding-top: 100px;
	}
	#future .future_in{
		padding-top: 40px;
		padding-bottom: 120px;
		background: url(../images/future_bg_pc.png) no-repeat center top;
		background-size: cover;
	}
	#future .future_point{
		display: flex;
		justify-content: center;
		margin-bottom: 30px;
		padding-bottom: 85px;
	}
	#future .future_point::after{
		width: 107px;
		height: 56px;
	}
	#future .future_point > div{
		margin: 0 25px;
	}
	#future .future_result{
		padding-top: 40px;
	}
	#future .future_result .text{
		margin-bottom: 30px;
		font-size: 36px;
	}
	#future .future_result .image li{
		width: 280px;
		margin: 0 15px;
	}
	#future .future_result .cv_btn,
	#intro .cv_btn {
		margin-top: 50px;
	}
	#future .future_result .cv_btn a,
	#intro .cv_btn a,
	#example .cv_btn a, 
	.cv_btn.cv_mod a {
		padding: 23px 150px 26px;
		font-size: 22px;
	}
	#future .future_result .cv_btn a::after,
	#intro .cv_btn a::after,
	#example .cv_btn a::after {
		right: 30px;
		width: 30px;
	}
	#future .point_box:nth-of-type(n+2){
		margin-top: 50px;
	}
	#future .point_title{
		margin-bottom: 30px;
		padding-left: 70px;
		font-size: 38px;
	}
	#future .point_title::before{
		width: 70px;
		height: 67px;
	}
	#future .point_title span::after{
		height: 5px;
	}
	#future .point_detail{
		width: calc(100% - 100px);
		margin-top: -60px;
		padding-top: 60px;
		padding-bottom: 70px;
	}

	/* point_1 */
	#future .point_1 .point_detail .image{
		margin: 30px 0;
		text-align: center;
	}
	#future .point_1 .point_detail .text{
		margin-bottom: 30px;
		padding-bottom: 75px;
		font-size: 30px;
	}
	#future .point_1 .point_detail .text::after{
		width: 107px;
		height: 56px;
	}
	#future .point_1 .point_detail .clm2 .text_box{
		padding: 20px 0 0 30px;
	}
	#future .point_1 .point_detail .clm2 .text_box .title_sub{
		margin-bottom: 25px;
		font-size: 18px;
	}
	#future .point_1 .point_detail .clm2 .text_box dl{
		margin-bottom: 25px;
	}

	/* point_2 */
	#future .point_2 .point_detail .clm2 .text_box,
	#future .point_2 .point_detail .clm2 .ph_box{
		width: 485px;
	}
	#future .point_2 .point_detail .clm2 .text_box p:nth-of-type(n+2){
		margin-top: 25px;
	}
	#future .point_2 .point_detail .clm2 .ph_box .image_pos{
		right: -90px;
		bottom: -120px;
	}

	/* point_3 */
	#future .point_3 .point_detail .clm2{
		margin: 35px 0;
	}
	#future .point_3 .point_detail .clm2 > div{
		margin: 0 25px;
	}
	#future .point_3 .point_detail .clm2 > div p{
		margin-bottom: 20px;
	}
	#future .point_3 .point_detail .clm2 > div dl dt{
		font-size: 18px;
	}
	#future .point_3 .point_detail .clm2 > div dl dd{
		text-align: center;
	}
}
/* TB固有設定 */
@media screen and (min-width: 768px) and (max-width: 1279px) {
	#future .point_box,
	#future .point_detail{
		padding-right: 20px;
		padding-left: 20px;
	}
	#future .point_1 .point_detail .clm2 .ph_box,
	#future .point_1 .point_detail .clm2 .text_box{
		width: 50%;
	}
	#future .point_2 .point_detail .clm2 .text_box,
	#future .point_2 .point_detail .clm2 .ph_box{
		width: 50%;
	}
	#future .point_2 .point_detail .clm2 .ph_box .image_pos{
		right: -15%;
	}
	#future .point_3 .point_detail .clm2 > div{
		width: 35%;
	}
}
@media screen and (max-width: 767px){
	#future{
		padding-top: 50px;
	}
	#future .future_in{
		padding: 20px 20px 50px;
		background: url(../images/future_bg_sp.png) no-repeat center top;
		background-size: cover;
	}
	#future .future_point{
		margin-bottom: 20px;
		padding-bottom: 55px;
	}
	#future .future_point::after{
		width: 72px;
		height: 38px;
	}
	#future .future_result{
		padding-top: 30px;
	}
	#future .future_result .text{
		margin-bottom: 20px;
		font-size: 22px;
	}
	#future .future_result .image li{
		width: 45%;
		margin: 0 1.5%;
	}
	#future .future_result .cv_btn,
	#intro .cv_btn,
	#example .cv_btn,
	.cv_btn.cv_mod{
		margin-top: 25px;
	}
	#future .future_result .cv_btn a,
	#intro .cv_btn a,
	.cv_btn.cv_mod a,
	#example .cv_btn a {
		width: 100%;
		padding: 15px 0 17px;
		font-size: 15px;
	}
	#future .future_result .cv_btn a::after,
	#intro .cv_btn a::after,
	#example .cv_btn a::after {
		right: 20px;
		width: 20px;
	}
	#future .point_box:nth-of-type(n+2){
		margin-top: 30px;
	}
	#future .point_title{
		padding-left: 45px;
		font-size: 22px;
		line-height: 1.3;
	}
	#future .point_title::before{
		width: 40px;
		height: 40px;
		background-position: center center !important;
	}
	#future .point_title span::after{
		height: 4px;
	}
	#future .point_detail{
		margin-top: -20px;
		padding: 45px 20px 35px;
	}

	/* point_1 */
	#future .point_1 .point_detail .image{
		margin: 20px 0 30px;
	}
	#future .point_1 .point_detail .text{
		margin-bottom: 20px;
		padding-bottom: 55px;
		font-size: 19px;
	}
	#future .point_1 .point_detail .text::after{
		width: 72px;
		height: 38px;
	}
	#future .point_1 .point_detail .clm2 .text_box{
		margin-top: 20px;
	}
	#future .point_1 .point_detail .clm2 .text_box .title_sub{
		margin-bottom: 12px;
		font-size: 16px;
	}
	#future .point_1 .point_detail .clm2 .text_box dl{
		margin-bottom: 12px;
	}

	/* point_2 */
	#future .point_2 .point_detail .clm2 .text_box,
	#future .point_2 .point_detail .clm2 .ph_box{
		width: 100%;
	}
	#future .point_2 .point_detail .clm2 .text_box p:nth-of-type(n+2){
		margin-top: 12px;
	}
	#future .point_2 .point_detail .clm2 .ph_box{
		margin-top: 25px;
	}
	#future .point_2 .point_detail .clm2 .ph_box .image_pos{
		right: -3%;
		bottom: -42%;
		width: 30%;
	}

	/* point_3 */
	#future .point_3 .point_detail .clm2{
		margin: 20px 0 30px;
	}
	#future .point_3 .point_detail .clm2 > div:nth-of-type(n+2){
		margin-top: 20px;
	}
	#future .point_3 .point_detail .clm2 > div p{
		width: 225px;
		margin: 0 auto 10px;
	}
	#future .point_3 .point_detail .clm2 > div dl dt{
		font-size: 15px;
	}
}

/* ========================================
quality
======================================== */

#quality {
	background: #fff;
}

#quality .lead_box .title{
	color: #0661a1;
}
#quality .clm2{
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
}
#quality .clm2 > div{
	display: flex;
}
#quality .clm2 > div .ph_box img{
	border: 1px solid #c5c5c5;
}
#quality .clm2 > div:first-child .ph_box img {
	border: none;
}
#quality .clm2 > div .ph_box img
#quality .clm2 > div .text_box dl dt{
	margin-bottom: 7px;
	font-weight: bold;
}
@media print, screen and (min-width: 768px){
	#quality{
		padding-top: 90px;
		padding-bottom: 30px;
	}
	#quality .lead_box{
		margin-bottom: 35px;
	}
	#quality .lead_box .title{
		margin-bottom: 30px;
		font-size: 22px;
		text-align: center;
	}
	#quality .lead_box .text{
		margin-bottom: 22px;
		font-size: 18px;
		text-align: center;
	}
	#quality .clm2 > div .text_box{
		width: 320px;
		padding: 7px 0 0 20px;
	}
}
/* TB固有設定 */
@media screen and (min-width: 768px) and (max-width: 1279px) {
	#quality .clm2{
		padding-right: 20px;
		padding-left: 20px;
	}
	#quality .clm2 > div{
		width: 50%;
	}
}
@media screen and (max-width: 767px){
	#quality{
		padding-top: 50px;
	}
	#quality .lead_box{
		margin-bottom: 30px;
		padding: 0 20px;
	}
	#quality .lead_box .title{
		margin-bottom: 20px;
		font-size: 16px;
	}
	#quality .lead_box .text{
		margin-bottom: 15px;
	}
	#quality .clm2{
		padding: 0 20px;
	}
	#quality .clm2 > div{
		width: 100%;
		flex-direction: column;
		align-items: center;
		justify-content: center;
	}
	#quality .clm2 > div:nth-of-type(n+2){
		margin-top: 15px;
	}
	/* #quality .clm2 > div .ph_box{
		width: 167px;
	} */
	#quality .clm2 > div .text_box{
		/* width: calc(100% - 167px); */
		padding: 3px 0 0 10px;
	}
	.mt30_sp {
		margin-top: 30px !important;
	}
}

/* ========================================
qa
======================================== */
#qa {
	background: #fff;
}
#qa .qa_accordion dt,
#qa .qa_accordion dd{
	position: relative;
}
#qa .qa_accordion dt::before,
#qa .qa_accordion dd::before{
	position: absolute;
	left: 0px;
	line-height: 1;
	text-align: center;
}
#qa .qa_accordion dt::before{
	content: "Q";
}
#qa .qa_accordion dd::before{
	content: "A";
	color: #1dc0e0;
	font-weight: 700;
}
#qa .qa_accordion dt{
	color: #1d8fe0;
	font-weight: 700;
}
@media print, screen and (min-width: 768px){
	#qa{
		padding-top: 60px;
		padding-bottom: 32px;
	}
	#qa .qa_accordion dt,
	#qa .qa_accordion dd{
		padding-left: 40px;
	}
	#qa .qa_accordion dt::before,
	#qa .qa_accordion dd::before{
		width: 30px;
		height: 30px;
		font-size: 26px;
	}
	#qa .qa_accordion dt{
		margin-bottom: 22px;
		font-size: 20px;
		pointer-events: none;
	}
	#qa .qa_accordion dd{
		display: block !important;
		margin-bottom: 30px;
		padding-bottom: 30px;
		border-bottom: 1px solid #c5c5c5;
	}
	#qa .qa_accordion dd:last-child {
		margin-bottom: 0;
	}
}
/* TB固有設定 */
@media screen and (min-width: 768px) and (max-width: 1279px) {
	#qa .qa_accordion{
		padding-right: 20px;
		padding-left: 20px;
	}
}
@media screen and (max-width: 767px){
	#qa{
		padding-top: 50px;
	}
	#qa .qa_accordion{
		width: calc(100% - 40px);
		border-bottom: 1px solid #c5c5c5;
	}
	#qa .qa_accordion dt::before,
	#qa .qa_accordion dd::before{
		width: 25px;
		height: 25px;
		font-size: 22px;
	}
	#qa .qa_accordion dt{
		padding: 15px 30px 15px 30px;
		font-size: 15px;
		pointer-events: all;
	}
	#qa .qa_accordion dt::after{
		content: "";
		position: absolute;
		top: 0px;
		right: 5px;
		width: 18px;
		height: 100%;
		background: url(../images/icon_plus.png) no-repeat center center;
		background-size: 100% auto;
	}
	#qa .qa_accordion dt.open::after{
		background: url(../images/icon_minus.png) no-repeat center center;
		background-size: 100% auto;
	}
	#qa .qa_accordion dt:nth-of-type(n+2){
		border-top: 1px solid #c5c5c5;
	}
	#qa .qa_accordion dd{
		display: none;
		padding: 0 0 15px 30px;
	}
}

/* ========================================
voice
======================================== */
#voice {
	background: #fff;
}
#voice .voice_list li{
	display: flex;
	align-items: flex-start;
	justify-content: center;
}
#voice .voice_list li:nth-of-type(n+2){
	margin-top: 30px;
}
#voice .voice_list li .psn{
	background-repeat: no-repeat;
	background-position: center top;
}
#voice .voice_list li.male .psn{
	background-image: url(../images/voice_male.png);
}
#voice .voice_list li.female .psn{
	background-image: url(../images/voice_female.png);
}
#voice .voice_list li .psn .info{
	line-height: 1.3;
	font-weight: 700;
	text-align: center;
}
#voice .voice_list li .psn .info span{
	display: block;
	font-size: 115%;
}
#voice .voice_list li .exp{
	position: relative;
	background: #e7fbff;
}
#voice .voice_list li .exp::before{
	content: "";
	position: absolute;
	top: 23px;
	left: -23px;
	border: 15px solid transparent;
	border-right: 15px solid #e7fbff;
}
@media print, screen and (min-width: 768px){
	#voice{
		padding-top: 90px;
		padding-bottom: 100px;
	}
	#voice .voice_list li .psn{
		width: 220px;
		padding-top: 88px;
		background-size: auto 80px;
	}
	#voice .voice_list li .psn .info{
		font-size: 14px;
	}
	#voice .voice_list li .exp{
		width: 780px;
		margin-top: 10px;
		padding: 25px 30px;
	}
	#voice .voice_list + .note{
		margin-top: 30px;
		text-align: right;
	}
}
/* TB固有設定 */
@media screen and (min-width: 768px) and (max-width: 1279px) {
	#voice .voice_list,
	#voice .voice_list + .note{
		padding-right: 20px;
		padding-left: 20px;
	}
}
@media screen and (max-width: 767px){
	#voice{
		padding-top: 50px;
	}
	#voice .voice_list{
		padding: 0 20px;
	}
	#voice .voice_list li .psn{
		width: 130px;
		padding-top: 65px;
		background-size: auto 60px;
	}
	#voice .voice_list li .psn .info{
		font-size: 8px;
	}
	#voice .voice_list li .exp{
		width: calc(100% - 130px);
		padding: 15px 20px;
	}
	#voice .voice_list + .note{
		margin-top: 20px;
		padding: 0 20px;
		text-align: center;
	}
}

/* ========================================
example
======================================== */
.exBtn {
	max-width: 895px;
    margin-right: auto;
    margin-left: auto;
    text-align: center;
}
.exBtn .cv_btn {
	margin-top: 25px;
}
.cv_btn.cv_mod {
	margin-top: 25px;
}
.cv_btn.cv_mod a {
	background-color: #1d8fe0;
}
/* #example .cv_btn a::before {
	position: absolute;
	content: '';
	background: url(../images/icon_download.png) no-repeat center;
	background-size: 100%;
	width: 40px;
	height: 32px;
} */
#example .example_inner {
	width: 100%;
	max-width: 965px;
	margin: 0 auto;
}
#example .exp_ttl {
	font-size: 20px;
	color: #ffffff;
	background: url(../images/bg_bluegrad.png) repeat-y;
	background-size: 100%;
	margin: 20px auto 0;
	padding: 5px 20px;
}
#example .ttl_flex {
	display: flex;
	flex-direction: row;
}
#example .ttl_flex .exp_ttl:first-child {
	width: 64%;
	margin-right: 2%;
}
#example .ttl_flex .exp_ttl {
	width: calc(100% - 66%);
}
#example .exp_list{
	width: 100%;
	max-width: 965px;
	display: flex;
	flex-wrap: wrap;
	margin: 15px auto 0;
}
#example .exp_list img {
	width: 100%;
}
#example .exp_list li .text{
	display: flex;
	align-items: center;
	justify-content: center;
	position: relative;
	width: 88%;
	margin-right: auto;
	margin-left: auto;
	color: #000;
	font-weight: 700;
	text-align: center;
}
#example .exp_list li .text.f_Small{
	font-size: 93%;
}
@media print, screen and (min-width: 768px){
	#example{
		padding-top: 90px;
		padding-bottom: 50px;
	}
	#example .exp_list{
		justify-content: flex-start;
	}
	#example .exp_list li{
		width: 33%;
	}
	#example .exp_list li .text{
		height: 73px;
		font-size: 20px;
	}
	.ex_intro {
		font-size: 20px;
	}
	#example .cv_btn a span,
	.cv_btn.cv_mod a span {
		margin-right: 15px;
	}
}
@media screen and (max-width: 767px){
	#example{
		padding: 50px 20px 20px;
	}
	#example .exp_list{
		justify-content: space-between;
	}
	#example .ttl_flex .exp_ttl:first-child {
		width: 100%;
		margin-right: 0;
	}
	#example .exp_list li{
		width: 48%;
	}
	#example .exp_list li:nth-of-type(n+3){
		margin-top: 25px;
	}
	#example .exp_list li .text{
		height: 40px;
	}
	.ex_intro {
		font-size: 14px;
	}
	#example .cv_btn a span,
	.cv_btn.cv_mod a span {
		margin-right: 10px;
	}
	#example .cv_btn a span img,
	.cv_btn.cv_mod a span img {
		width: 30px;
	}
}

/* ========================================
icFooter
======================================== */
#icFooter{
	text-align: center;
}
#icFooter .foot_wrap .title{
	color: #fff;
	line-height: 1.7;
}
#icFooter .foot_wrap .cv_btn a{
	display: inline-block;
	position: relative;
	border: 2px solid #fff;
}
#icFooter .foot_wrap .cv_btn a::after{
	content: "";
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	height: 100%;
	background: url(../images/icon_arw_right_w.png) no-repeat center center;
	background-size: 100% auto;
}
#icFooter .foot_wrap .cv_btn.cv_mod a::after {
	content: unset;
}
#icFooter .copyright{
	background: #e2e2e2;
}
@media print, screen and (min-width: 768px){
	#icFooter .foot_wrap{
		margin-top: 100px;
		padding: 70px 0;
		background: url(../images/foot_bg_pc.jpg) no-repeat center center;
		background-size: cover;
	}
	#icFooter .foot_wrap .title{
		margin-bottom: 30px;
		font-size: 26px;
	}
	#icFooter .foot_wrap .cv_btn a{
		padding: 28px 150px 34px;
		font-size: 22px;
	}
	#icFooter .foot_wrap .cv_btn.cv_mod a {
		padding: 26px 150px 26px;
	}
	#icFooter .foot_wrap .cv_btn a::after{
		right: 30px;
		width: 30px;
	}
	#icFooter .copyright{
		padding: 30px 0;
		font-size: 13px;
	}
}
@media screen and (max-width: 767px){
	#icFooter .foot_wrap{
		margin-top: 75px;
		padding: 35px 20px 45px;
		background: url(../images/foot_bg_sp.jpg) no-repeat center center;
		background-size: cover;
	}
	#icFooter .foot_wrap .title{
		margin-bottom: 20px;
		font-size: 19px;
	}
	#icFooter .foot_wrap .cv_btn a{
		width: 100%;
		padding: 18px 0 20px;
		font-size: 15px;
	}
	#icFooter .foot_wrap .cv_btn.cv_mod a{
		padding: 14px 0 15px;
	}
	#icFooter .foot_wrap .cv_btn a::after{
		right: 20px;
		width: 20px;
	}
	#icFooter .copyright{
		padding: 20px 0;
		font-size: 11px;
	}
}

/* ========================================
PRINT
======================================== */
@media print{
}
.mod_box {
	padding: 0 20px;
	max-width: 745px;
	margin: 0 auto;
	text-align: left;
}
.mod_box .indentList li {
	font-size: 11px;
}

/* ========================================
Header adjustment
======================================== */
.tabOnly {
	display: none;
}
.pcSp {
	display: block;
}
.tabOnly .linkBlk {
	display: flex;
	flex-wrap: wrap;
	margin-left: 20px;
	width: 350px;
}
.tabOnly .linkBlk li {
	width: 50%;
	margin: 0 !important;
}
.tabOnly .linkBlk li a {
	height: auto !important;
	line-height: 35px !important;
}
.tabOnly .btnBlk {
	display: flex;
}

@media screen and (max-width: 767px){
	.tabOnly {
		display: none;
	}
	.pcSp {
		display: block;
	}
}

@media screen and (min-width: 768px) and (max-width: 1055px) {
	.tabOnly .linkBlk {
		width: 290px;
	}
}
@media screen and (min-width: 768px) and (max-width: 1440px) {
	.tabOnly {
		display: block;
	}
	.pcSp {
		display: none;
	}
}

/* ========================================
Fixed header
======================================== */
@media screen and (min-width: 767px){
	#icHeader {
		position: fixed;
		top: 0;
		right: 0;
		width: 100%;
		background-color: #fff;
		z-index: 100;
	}
	#container {
		margin-top: 100px;
	}
	#icHeader.pcSp {
		display: none !important;
	}
	#icHeader.tabOnly {
		display: block !important;
	}
}

/* ========================================
Video 220614
======================================== */
.intro_video p {
	width: 44%;
	padding: 4px 5% 4px 4px;
	border-bottom: 2px solid #fff;
	color: #fff;
	font-size: 28px;
	font-weight: bold;
	text-align: right;
	line-height: 1;
}
.intro_video p span.txt02 {
	font-size: 45px;
}
.intro_video .video {
	position: relative;
	margin-top: 25px;
	text-align: center;
	z-index: 3;
}
.intro_video .video iframe {
	width: 960px;
	height: 540px;
}
.intro_video p .txt02 .ic_sub {
	line-height: 0.4;
}
@media screen and (max-width:767px) {
	.intro_video {
		margin-top: 15px;
	}
	.intro_video p {
		width: 60.7vw;
		padding: 2px 1%;
		border-bottom: 1px solid #fff;
		font-size: 14px;
		text-align: center;
	}
	.intro_video p span.txt02 {
		font-size: 28px;
	}
	.intro_video .video {
		width: 90%;
		margin-top: 10px;
		margin-left: auto;
		margin-right: auto;
	}
	.intro_video .video iframe {
		width: 100%;
		height: 50vw;
	}
}
@media screen and (min-width: 768px) and (max-width: 1279px) {
	.intro_video p {
		margin-left: -20px;
		padding: 4px 2% 4px 4px;
	}
}

/* adopted */
#adopted {
	margin: 40px auto 0;
	padding: 0 20px;
	width: 100%;
	max-width: 800px;
}
#adopted .adopted_ttl {
	color: #0661a1;
	font-size: 20px;
	font-weight: bold;
}
#adopted .adopted_ttl .ic_sub {
	margin-left: -2px;
}
#adopted .adopted_img {
	margin-top: 20px;
}
@media screen and (max-width:767px)  {
	#adopted .adopted_ttl {
		font-size: 16px;
	}
	#adopted .adopted_img {
		margin: 20px auto 0;
		width: 100%;
		max-width: 325px;
	}
}

/* 230118 add swiper and text */
@media screen and (min-width:767px) and (max-width:1279px)  {
	.swiper-horizontal>.swiper-pagination-bullets,
	.swiper-pagination-bullets.swiper-pagination-horizontal,
	.swiper-pagination-custom, .swiper-pagination-fraction {
		bottom: 65px;
	}
}

#mv .text_box > p.txt_span {
    position: relative;
    top: 0;
    left: 50%;
    width: 40%;
    transform: translateX(-50%);
    z-index: 2;
}

#mv .text_box > p.txt_span > span {
    background: #fff;
    padding: 6px 10px 8px;
    border: 1px solid #025c9b;
    color: #025c9b;
	font-size: 15px;
}

@media screen and (min-width: 1280px) and (max-width: 1679px) {
	#mv .text_box {
		padding: 30px 0 35px;
	}
}

/* @media print, screen and (min-width: 1880px) {
	#mv .text_box > p.txt_span {
		top: -15%;
	}
}

@media print, screen and (min-width: 1560px) and (max-width: 1600px) {
    #mv .text_box {
        bottom: -40px;
    }
}

@media print, screen and (max-width: 1560px) and (min-width: 1281px) {
    #mv .text_box  {
        bottom: -30px;
        top: 100px;
    }

    #mv .text_box > p.txt_span {
        top: -10%;
    }
}

@media print, screen and (max-width: 1280px) and (min-width: 768px) {
    #mv .text_box p.txt_span {
        top: 0;
        left: 50%;
        transform: translate(-50%, -30%);
        position: relative;
    }
} */