@charset "UTF-8";

/*
======================================
	TAVI
	2019.6.05
	last 2019.08.21

	[1]Hero
	[2]Container Size
	[3]Title
	[4]Column
	[5]Color Box
	[6]Movie
	[7]Daido
	[8]Tavi
	[9]Merit
	[10]System
	[11]Faq
	[12]Contact
======================================
*/
/*
-------------------------
	[1]Hero
-------------------------
*/
.c-hero{
	padding: 80px 0 145px;
	text-align: center;
}

.c-hero-logo{
	width: 492px;
	margin: 0 auto 40px;
}

.c-hero-text{
	font-size: 2rem;
	color: #fff;
	line-height: 1.8;
}

@media screen and (max-width: 767px){
	.c-hero{
		padding: calc(334 / 750 * 100vw) 0 calc(145 / 750 * 100vw);
	}

	.c-hero-logo{
		width: calc(468 / 750 * 100vw);
		margin-bottom: calc(35 / 750 * 100vw);
	}

	.c-hero-text{
		font-size: 1.4rem;
		line-height: 1.7;
	}
}

/*
-------------------------
	[2]Container Size
-------------------------
*/

.container-490,
.container-600,
.container-670,
.container-690,
.container-760,
.container-820{
	margin-left: auto;
	margin-right: auto;
}

.container-490{
	width: 490px;
}

.container-600{
	width: 600px;
}

.container-670{
	width: 670px;
}

.container-690{
	width: 690px;
}

.container-760{
	width: 760px;
}

.container-820{
	width: 820px;
}

@media screen and (max-width: 767px){
	.container-490,
	.container-600,
	.container-670,
	.container-690,
	.container-760,
	.container-820{
		width: 100%;
	}

	.container-490,
	.container-600,
	.container-670{
		padding-left: 15px;
		padding-right: 15px;
	}

	.container-690,
	.container-760{
		padding-left: 25px;
		padding-right: 25px;
	}
}

/*
-------------------------
	[3]Title
-------------------------
*/
.title-h2,
.title-h2-white{
	font-size: 4.2rem;
	font-weight: 500;
	line-height: 1.6;
	text-align: center;
	position: relative;
	z-index: 0;
}

.title-h2::before,
.title-h2-white::before{
	content: "";
	width: 118px;
	height: 118px;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	z-index: -1;
}

.title-h2{
	color: rgb(0, 129, 210);
}

.title-h2::before{
	background: url("../img/bg-title-h2.png") no-repeat 0 0;
	background-size: contain;
}

.title-h2-white{
	color: #fff;
}

.title-h2-white::before{
	background: url("/tavi/img/bg-title-h2-white.png") no-repeat 0 0;
	background-size: contain;
}

.title-h3{
	font-size: 2.2rem;
	font-weight: 500;
	color: #02376d;
	line-height: 1.6;
	text-align: center;
}

.title-h4{
	font-size: 2.8rem;
	font-weight: 500;
	line-height: 1.6;
	text-align: center;
	position: relative;
}

.title-h4 span{
	font-size: 3.2rem;
	color: #019ae9;
}

.title-h4::after{
	background: linear-gradient(to right, #019ae9 0%, #10c8a3 100%);
	content: "";
	width: 100%;
	height: 2px;
	display: block;
	position: absolute;
	bottom: -15px;
	left: 0;
}

.title-bg-blue{
	background: #019ae9;
	border-radius: 20px;
	font-size: 2rem;
	font-weight: 500;
	color: #fff;
	text-align: center;
}

.title-bg-blue span{
	background: #fff;
	border-radius: 50%;
	width: 30px;
	height: 30px;
	margin-right: 20px;
	font-size: 1.6rem;
	color: #029ce6;
	display: inline-block;
}

.title-yellow{
	font-size: 2.4rem;
	font-weight: 500;
	color: #fff71b;
}

.title-blue{
	font-size: 1.8rem;
	font-weight: 500;
	color: #019ae9;
}

.title-black{
	font-size: 1.8rem;
	font-weight: 500;
}

.title-white{
	font-size: 2rem;
	font-weight: 500;
	color: #fff;
}

@media screen and (max-width: 767px){
	.title-h2,
	.title-h2-white{
		font-size: 2.6rem;
	}

	.title-h2::before,
	.title-h2-white::before{
		width: 86px;
		height: 86px;
	}

	.title-h3{
		font-size: 2rem;
		text-align: left;
	}

	.title-h4{
		font-size: 1.8rem;
	}

	.title-h4 span{
		font-size: 2rem;
	}

	.title-h4::after{
		bottom: -10px;
	}

	.title-bg-blue{
		border-radius: 18px;
		font-size: 1.8rem;
	}

	.title-bg-blue span{
		margin-right: 10px;
	}

	.title-yellow{
		font-size: 2rem;
	}

	.title-blue{
		font-size: 1.6rem;
	}

	.title-black{
		font-size: 1.6rem;
	}

	.title-white{
		font-size: 1.5rem;
	}
}

/*
-------------------------
	[4]Column
-------------------------
*/
.column-2-01,
.column-2-02,
.column-2-03,
.column-2-04,
.column-2-05{
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-flex-wrap: wrap;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-justify-content: space-between;
	-ms-flex-pack: justify;
	justify-content: space-between;
}

.column-2-01-left{
	width: 530px;
}

.column-2-01-left p:nth-child(n + 1){
	margin-top: 25px;
}

.column-2-01-right{
	width: 180px;
}

.column-2-02-left{
	width: 298px;
}

.column-2-02-right{
	width: 400px;
}

.column-2-03-left{
	width: 385px;
}

.column-2-03-right{
	width: 405px;
}

.column-2-04 > *{
	width: 355px;
	margin-bottom: 10px;
}

.column-2-04 figcaption{
	font-size: 2rem;
	font-weight: 500;
	color: #019ae9;
}

.column-2-04 .note{
	width: 100%;
	font-size: 1.2rem;
	text-align: right;
}

.column-2-05-left{
	width: 180px;
}

.column-2-05-right{
	width: 470px;
}

@media screen and (max-width: 767px){
	.column-2-01,
	.column-2-03,
	.column-2-04{
		display: block;
	}

	.column-2-01-left,
	.column-2-01-right,
	.column-2-02-left,
	.column-2-02-right,
	.column-2-03-left,
	.column-2-03-right,
	.column-2-04 > *,
	.column-2-05-left,
	.column-2-05-right{
		width: 100%;
	}

	.column-2-01-left p:nth-child(n + 1),
	.column-2-01-right{
		margin-top: calc(40 / 750 * 100vw);
	}

	.column-2-02-left{
		width: 100%;
		-webkit-order: 2;
		-ms-flex-order: 2;
		order: 2;
	}

	.column-2-02-right{
		width: 100%;
		margin-bottom: calc(40 / 750 * 100vw);
		-webkit-order: 1;
		-ms-flex-order: 1;
		order: 1;
	}

	.column-2-04 > *{
		margin-bottom: 0;
	}

	.column-2-04 > *:not(:first-child){
		margin-top: 30px;
	}

	.column-2-04 figcaption{
		font-size: 1.8rem;
	}

	.column-2-04 .note{
		margin-top: 2px;
	}

	.column-2-05-left img{
		width: calc(300 / 750 * 100vw);
		margin: 0 auto 10px;
		display: block;
	}

}

/*
-------------------------
	[5]Color Box
-------------------------
*/
.bg-gray-box{
	background: #f7f7f7;
	border-radius: 10px;
	width: 100%;
	padding: 35px 30px;
}

.bg-gray-box img{
	margin: 0 auto;
	display: block;
}

.bg-white-box{
	background: #fff;
	border-radius: 10px;
	padding: 35px 35px;
}

@media screen and (max-width: 767px){
	.bg-gray-box,
	.bg-white-box{
		padding: 20px 15px;
	}
}

/*
-------------------------
	[6]Movie
-------------------------
*/
.movie-container{
	padding: 38px;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-flex-wrap: wrap;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-justify-content: space-between;
	-ms-flex-pack: justify;
	justify-content: space-between;
}

.movie-container .movie-box{
	width: 355px;
}

.movie-container .text-box{
	width: 300px;
}

.movie-container .text-box dt,
.movie-container .text-box dd{
	padding-left: 5px;
}

.movie-container .title-blue{
	border-bottom: 1px solid #dfdfdf;
	margin-bottom: 10px;
	font-size: 2.4rem;
}

.movie-contents{
	width: 100%;
	padding-top: calc(9 / 16 * 100%);
	position: relative;
}

.movie-contents iframe{
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
}

@media screen and (max-width: 767px){
	.movie-container{
		padding: 20px 15px;
	}

	.movie-container .movie-box,
	.movie-container .text-box{
		width: 100%;
	}

	.movie-container .text-box{
		margin-top: 10px;
	}

	.movie-container .title-blue{
		font-size: 2rem;
	}
}

/*
-------------------------
	[7]Daido
-------------------------
*/
.c-daido .column-2-01-right img{
	width: 157px;
}

.c-daido .bg-gray-box img{
	width: 578px;
}

@media screen and (max-width: 767px){
	.c-daido .column-2-01-right img{
		margin: calc(20 / 750 * 100vw) auto 0;
		display: block;
	}

	.c-daido .bg-gray-box img{
		width: 100%;
	}
}

/*
-------------------------
	[8]Tavi
-------------------------
*/
.c-tavi-pict01{
	width: 261px;
}

.c-tavi-pict02{
	width: 621px;
}

.c-tavi-pict03{
	width: 463px;
}

@media screen and (max-width: 767px){
	.c-tavi-pict01{
		width: calc(418 / 750 * 100vw);
	}

	.c-tavi-pict02,
	.c-tavi-pict03{
		width: 100%;
	}
}

/*
-------------------------
	[9]Merit
-------------------------
*/
.c-merit dd{
	color: #fff;
}

@media screen and (max-width: 767px){
	.c-merit dt{
		text-align: center;
	}
}

/*
-------------------------
	[10]System
-------------------------
*/
.c-system .column-2-04 figure{
	margin-bottom: 10px;
}

/*
-------------------------
	[11]Faq
-------------------------
*/
.c-faq-list li{
	background: #fff;
	padding: 30px 28px;
}

.c-faq-list li:not(:first-child){
	margin-top: 1px;
}

.c-faq-list dt,
.c-faq-list dd{
	padding-left: 50px;
	position: relative;
}

.c-faq-list dt::before,
.c-faq-list dd::before{
	border-radius: 2px;
	width: 32px;
	height: 32px;
	font-size: 1.8rem;
	font-size: 500;
	color: #fff;
	line-height: 32px;
	text-align: center;
	display: block;
	position: absolute;
	top: 3px;
	left: 0;
}

.c-faq-list dt{
	margin-bottom: 10px;
	font-size: 2rem;
	font-weight: 500;
	color: rgb(0, 155, 209);
	line-height: 1.6;
}

.c-faq-list dt::before{
	background: rgb(0, 155, 209);
	content: "Q";
}

.c-faq-list dd::before{
	background: #10c8a4;
	content: "A";
}

.c-faq-list .note-text,
.c-faq-list .note-link{
	font-size: 1.3rem;
}

.c-faq-list .note-text{
	margin-top: 10px;
}

.c-faq-list .note-link{
	margin-bottom: 10px;
	text-indent: 1em;
}

.c-faq-list .note-link a{
	text-decoration: underline;
}

@media screen and (min-width: 768px){
	.c-faq-list .note-link a:hover{
		text-decoration: none;
	}
}

@media screen and (max-width: 767px){
	.c-faq-list li{
		padding: 20px 15px;
	}

	.c-faq-list li:not(:first-child){
		margin-top: calc(30 / 750 * 100vw);
	}

	.c-faq-list dt,
	.c-faq-list dd{
		padding-left: 40px;
	}

	.c-faq-list dt::before,
	.c-faq-list dd::before{
		width: 28px;
		height: 28px;
		font-size: 1.6rem;
		line-height: 28px;
		top: 1px;
	}

	.c-faq-list dt{
		font-size: 1.8rem;
	}

	.c-faq-list .note-text,
	.c-faq-list .note-link{
		font-size: 1.2rem;
	}
}

/*
-------------------------
	[12]Contact
-------------------------
*/
.c-contact{
	text-align: center;
	position: relative;
}

.c-contact .title-yellow{
	border-bottom: 1px solid #fff;
	width: 850px;
	margin: 0 auto 30px;
	padding-bottom: 10px;
}

.c-contact-tel{
	width: 400px;
	margin-left: auto;
	margin-right: auto;
}

.c-contact-tel .tel{
	margin-bottom: 20px;
	padding-left: 58px;
	font-size: 4.4rem;
	font-weight: bold;
	color: #fff;
	letter-spacing: .05em;
	line-height: 1;
	text-align: left;
	position: relative;
}

.c-contact-tel .tel::before{
	background: url("/tavi/img/icon/icon-tel.svg") no-repeat 0 0;
	background-size: contain;
	content: "";
	width: 31px;
	height: 41px;
	display: block;
	position: absolute;
	top: 50%;
	left: 13px;
	transform: translateY(-50%);
}

.c-contact-tel .time{
	background: #fff;
	border-radius: 16px;
	font-size: 1.7rem;
	color: #00a8db;
}

.c-contact-mail a .mail{
	border: 2px solid #fff;
	border-radius: 10px;
	height: 77px;
	padding-top: 17px;
	transition: 300ms;
}

.c-contact-mail a .mail img{
	width: 318px;
}

.c-contact-mail .note-text{
	margin-top: 5px;
	font-size: 1.4rem;
	color: #fff;
}

@media screen and (min-width: 768px){
	.c-contact-mail a:hover .mail{
		background: #019ae9;
	}
}

@media screen and (max-width: 767px){
	.c-contact{
		padding-left: 25px;
		padding-right: 25px;
	}

	.c-contact .title-yellow{
		width: 100%;
		padding-bottom: 20px;
		font-size: 2.4rem;
		line-height: 1.4;
	}

	.c-contact .title-white{
		margin-bottom: 15px;
	}

	.c-contact-tel{
		width: 100%;
	}

	.c-contact-tel .tel{
		padding-left: 27px;
		font-size: 3rem;
		letter-spacing: .01em;
		text-align: center;
		white-space: nowrap;
	}

	.c-contact-tel .tel a{
		color: #fff;
	}

	.c-contact-tel .tel::before{
		width: 27px;
		height: 35px;
		left: calc(50% - 115px);
		transform: translate(-50%, -50%);
	}

	.c-contact-tel .time{
		border-radius: 14px;
		max-width: 275px;
		margin: 10px auto 0;
		font-size: 1.4rem;
	}

	.c-contact-mail a .mail{
		max-width: 325px;
		height: 96px;
		margin: 0 auto;
		padding-top: 13px;
	}

	.c-contact-mail a .mail img{
		width: 261px;
	}
}