@charset "utf-8";

/*=====================================
home.css
=====================================*/


/*-------------------------------------
 
-------------------------------------*/
.homeMovie {
	position: relative;
	margin: 0 0 40px 0;
}
.homeMovie .movie {
	position: relative;
	height: calc(100vh - 91px);
	overflow: hidden;
}
.homeMovie .movie video {
	width: 100%;
	height: 100%;
	object-fit: cover;
	aspect-ratio: 87/40;
}
.homeMovie .news {
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	background: rgba(47,55,64,0.8);
}
.homeMovie .news dl {
	display: flex;
	align-items: center;
	padding: 22px 0;
}
.homeMovie .news dl dt {
	padding: 0 38px 0 0;
	color: #b8a569;
	font-family: 'Libre Baskerville', serif;
	font-size: 18px;
	background: url(/common/images/icn_news.png) no-repeat right 13px center;
}
.homeMovie .news dl dd div {
	display: inline-block;
}
.homeMovie .news dl dd .date {
	margin: 0 24px 0 0;
	color: #efece7;
	font-size: 16px;
}
.homeMovie .news dl dd .title {
	margin: 0 0 0 20px;
	color: #efece7;
	font-size: 16px;
}
.homeMovie .news dl dd .title a {
	color: #efece7;
}


/*-------------------------------------
 
-------------------------------------*/
.homeCalendar {
	margin-top: -50px;
	padding-bottom: 90px;
}
.homeCalendar .title:before {
	content: "";
	position: absolute;
	top: 0;
	left: 50%;
	display: block;
	width: 26px;
	height: 28px;
	margin-left: -13px;
	background-image: url(/common/images/icn_box01.png);
	background-repeat: no-repeat;
	background-position: 0 0;
	background-size: 26px auto;
}
.homeCalendar .title {
	margin: 0 0 25px 0;
	text-align: center;
}
.homeCalendar .title em {
	color: #b8a569;
	font-family: 'Libre Baskerville', serif;
	font-size: 30px;
	line-height: 1.3;
}
.homeCalendar .subtitle {
	display: block;
	color: #063a77;
	font-size: 15px;
	font-weight: bold;
}

.homeCalendarBox {
	position: relative;
	padding: 42px 63px 25px 63px;
	background: #fff;
}
.homeCalendar .slick-arrow {
	position: absolute;
	top: 3px;
	z-index: 10;
	width: 30px;
	height: 60px;
	cursor: pointer;
	outline: none;
	text-indent: -9999px;
	border: none;
	background-repeat: no-repeat;
	background-position: center center;
	background-color: #f3f3f3;
}
.homeCalendar .slick-prev {
	left: 0;
	background-image: url(/common/images/icn_prev02.png);
}
.homeCalendar .slick-next {
	right: 0;
	background-image: url(/common/images/icn_next02.png);
}


/*-------------------------------------
 
-------------------------------------*/
/*.homeEntry .inner {
	display: flex;
	padding-bottom: 90px;
}
.homeEntry .title:before {
	content: "";
	position: absolute;
	top: 0;
	left: 50%;
	display: block;
	width: 26px;
	height: 28px;
	margin-left: -13px;
	background-image: url(/common/images/icn_box01.png);
	background-repeat: no-repeat;
	background-position: 0 0;
	background-size: 26px auto;
}
.homeEntry .title {
	margin: 0 0 20px 0;
	text-align: center;
}
.homeEntry .title em {
	color: #b8a569;
	font-family: 'Libre Baskerville', serif;
	font-size: 30px;
	line-height: 1.3;
}
.homeEntry .subtitle {
	display: block;
	color: #063a77;
	font-size: 15px;
	font-weight: bold;
}

.homeNews,
.homeBlog {
	position: relative;
	display: flex;
	flex-direction: column;
	width: 570px;
	padding: 42px 40px 25px 40px;
	background: #fff;
}
.homeNews .btn,
.homeBlog .btn {
	margin-top: auto;
}
.homeNews .btn a,
.homeBlog .btn a {
	max-width: 300px;
	color: #063a77;
	line-height: 52px;
}*/


/* homeNews
-------------------------------------*/
.homeNews {
	padding: 42px 40px 25px 40px;
	background: #fff;
}
.homeNews .title:before {
	content: "";
	position: absolute;
	top: 0;
	left: 50%;
	display: block;
	width: 26px;
	height: 28px;
	margin-left: -13px;
	background-image: url(/common/images/icn_box01.png);
	background-repeat: no-repeat;
	background-position: 0 0;
	background-size: 26px auto;
}
.homeNews .title {
	margin: 0 0 20px 0;
	text-align: center;
}
.homeNews .title em {
	color: #b8a569;
	font-family: 'Libre Baskerville', serif;
	font-size: 30px;
	line-height: 1.3;
}
.homeNews .subtitle {
	display: block;
	color: #063a77;
	font-size: 15px;
	font-weight: bold;
}
.homeNews .list {
	margin: 0 0 25px 0;
	border-top: 1px solid #dfdfdf;
}
.homeNews .list li {
	display: flex;
	padding: 18px 0;
	font-family: 'Noto Sans JP', sans-serif;
	border-bottom: 1px solid #dfdfdf;
}
.homeNews .list li .date {
	min-width: 90px;
	color: #8a8989;
	font-size: 17px;
}
.homeNews .list li .tag {
	padding: 2px 0 0 0;
}
.homeNews .list li .title {
	margin: 0;
	padding: 0 0 0 10px;
	color: #403d3d;
	font-size: 16px;
	line-height: 1.6;
	text-align: left;
}
.homeNews .list li .title a {
	color: #403d3d;
}


/* homeBlog
-------------------------------------*/
.homeBlog {
	margin-left: auto;
}
.homeBlog .list {
	margin: 0 0 25px 0;
	border-top: 1px solid #dfdfdf;
}
.homeBlog .list li {
	display: flex;
	padding: 15px 0;
	font-family: 'Noto Sans JP', sans-serif;
	border-bottom: 1px solid #dfdfdf;
}
.homeBlog .list li figure {
	width: 197px;
	margin: 0 15px 0 0;
	flex-shrink: 0;
}
.homeBlog .list li .date {
	color: #8a8989;
	font-size: 17px;
}
.homeBlog .list li .title {
	margin: 0;
	padding: 10px 0 0 0;
	color: #403d3d;
	font-size: 16px;
	line-height: 1.6;
	text-align: left;
}
.homeBlog .list li .title a {
	color: #403d3d;
}


/*-------------------------------------
 section
-------------------------------------*/
.homeSection .inner {
	/*max-width: 1740px;*/
	padding-bottom: 90px;
}
.homeSection .titleBox {
	position: absolute;
	top: -50px;
	left: 0;
	right: 0;
	z-index: 2;
	width: 426px;
	margin: 0 auto;
	padding: 50px 26px 23px 26px;
	background: #fff;
}
.homeSection .titleBox:before {
	content: "";
	position: absolute;
	top: 0;
	left: 50%;
	display: block;
	width: 26px;
	height: 28px;
	margin-left: -13px;
	background-image: url(/common/images/icn_box01.png);
	background-repeat: no-repeat;
	background-position: 0 0;
	background-size: 26px auto;
}
.homeSection .titleBox .title {
	margin: 0 0 20px 0;
	text-align: center;
}
.homeSection .titleBox .title em {
	color: #b8a569;
	font-family: 'Libre Baskerville', serif;
	font-size: 36px;
	line-height: 1.3;
}
.homeSection .titleBox .subtitle {
	display: block;
	color: #063a77;
	font-size: 15px;
	font-weight: bold;
}
.homeSection .titleBox p {
	font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;
	font-size: 15px;
	line-height: 1.8;
}
.homeSection .titleBox a {
	display: block;
	margin: -35px -26px -23px -26px;
	padding: 35px 26px 23px 26px;
	text-decoration: none;
}
.homeSection .titleBox a:before {
	content: "";
	position: absolute;
	right: 0;
	bottom: 0;
	display: block;
	width: 40px;
	height: 40px;
	background-image: url(/common/images/icn_link01.png);
	background-repeat: no-repeat;
	background-position: 0 0;
	transition: all 0.2s linear;
	-webkit-transition: all 0.2s linear;
	-moz-transition: all 0.2s linear;
	backface-visibility: hidden;
	text-decoration: none;
}
.homeSection .main {
	position: relative;
	height: 500px;
}
.homeSection .main img {
	position: absolute;
	top: 0;
	left: 50%;
	transform: translateX(-50%);
	max-width: inherit;
}

.homeGroup {
	margin: 180px 0 90px 0;
	background: rgba(6,58,119,0.9);
}


/* homeJourneys
-------------------------------------*/
.homeJourneys .main {
	margin: 0 0 12px 0;
}
.homeJourneys .list {
	display: flex;
	margin: 0 -12px 0 0;
}
.homeJourneys .list li {
	width: calc(25% - 12px);
	margin: 0 12px 0 0;
	padding: 25px;
	background: #063a77;
	display: flex;
	flex-direction: column;
}
.homeJourneys .list li .title {
	margin: 0 0 10px 0;
	color: #b8a569;
	font-size: 26px;
	text-align: center;
}
.homeJourneys .list li p {
	margin: 0 0 15px 0;
	color: #fff;
	font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;
	font-size: 14px;
	line-height: 1.8;
}
.homeJourneys .list li figure {
	margin: -25px -25px 0;
}
.homeJourneys .list li .btn {
	margin-top: auto;
}


/* homeConcept
-------------------------------------*/
.homeConcept .main {
	margin: 0 0 12px 0;
}
.homeConcept .list {
	display: flex;
	margin: 0 -12px 0 0;
}
.homeConcept .list li {
	width: 25%;
	padding: 0 12px 0 0;
}
.homeConcept .list li a figure {
	position: relative;
	display: block;
}
.homeConcept .list li a figcaption {
	position: absolute;
	right: 14px;
	bottom: 20px;
	padding: 0 42px 0 0;
	color: #fff;
	background: url(/common/images/icn_arw02.png) no-repeat right center;
}


/* homeGuidance
-------------------------------------*/
.homeGuidance {
	position: relative;
	top: -180px;
	margin-bottom: -180px;
}
.homeGuidance .inner {
	padding-bottom: 0;
}
.homeGuidance .list {
	position: absolute;
	top: 300px;
	left: 0;
	right: 0;
	max-width: 900px;
	margin: 0 auto;
	letter-spacing: -0.5em;
	text-align: center;
}
.homeGuidance .list li {
	display: inline-block;
	width: calc(50% - 24px);
	margin: 0 12px;
	letter-spacing: normal;
}


/* homeApplication
-------------------------------------*/
.homeApplication {
	position: relative;
	/*bottom: -90px;*/
}
.homeApplication .inner {
	padding-bottom: 0;
}
.homeApplication .titleBox .title em {
	font-size: 28px;
	letter-spacing: -0.05em;
}
.homeApplication .main {
	height: 600px;
}
.homeApplication .list {
	position: absolute;
	top: 300px;
	left: 0;
	right: 0;
	max-width: 900px;
	margin: 0 auto;
	letter-spacing: -0.5em;
	text-align: center;
}
.homeApplication .list li {
	display: inline-block;
	width: calc(50% - 24px);
	margin: 0 12px 24px 12px;
	letter-spacing: normal;
}
.homeApplication .list li.btnMail {
	display: block;
	width: auto;
}
.homeApplication .list li.btnMail a {
	max-width: inherit;
}


























/*-------------------------------------------------------------------
 Media Queries
-------------------------------------------------------------------*/


/* SP layout
-------------------------------------------------------------------*/
@media screen and (max-width: 960px) {


/*-------------------------------------
 
-------------------------------------*/
.homeMovie {
	margin: 0 0 25px 0;
}
.homeMovie .visual img {
	width: 100%;
}
.homeMovie .news dl {
	padding: 10px 0;
}
.homeMovie .news dl dt {
	display: none;
}
.homeMovie .news dl dd .date {
	margin: 0 18px 0 0;
	font-size: 13px;
}
.homeMovie .news dl dd .title {
	display: block;
	margin: 5px 0 0 0;
	font-size: 13px;
}




/*-------------------------------------
 
-------------------------------------*/
.homeCalendar {
	margin-top: 0;
	padding-bottom: 25px;
}
.homeCalendar .inner {
	padding: 0;
}
.homeCalendar .title:before {
	width: 17px;
	height: 18px;
	margin-left: -9px;
	background-size: 17px 18px;
}
.homeCalendar .title {
	margin: 0 0 25px 0;
	text-align: center;
}
.homeCalendar .title em {
	font-size: 24px;
}
.homeCalendar .subtitle {
	font-size: 12px;
}

.homeCalendarBox {
	padding: 25px 10px;
}
.homeCalendar .slide img {
	width: calc(100vw - 20px);
}
.homeCalendar .slick-arrow {
	top: 0;
	width: 20px;
	height: 55px;
	background-size: 8px 13px;
}
.homeCalendar .slick-prev {
	background-image: url(/common/images/icn_prev02_sp.png);
}
.homeCalendar .slick-next {
	background-image: url(/common/images/icn_next02_sp.png);
}


/*-------------------------------------
 
-------------------------------------*/
/*.homeEntry .inner {
	flex-direction: column;
	padding: 0;
}
.homeEntry .title:before {
	width: 17px;
	height: 18px;
	margin-left: -9px;
	background-size: 17px 18px;
}
.homeEntry .title em {
	font-size: 24px;
}
.homeEntry .subtitle {
	font-size: 12px;
}

.homeNews,
.homeBlog {
	width: auto;
	padding: 25px 10px 20px 10px;
}
.homeNews .btn a,
.homeBlog .btn a {
	color: #b8a569;
}*/

/* homeNews
-------------------------------------*/
.homeNews {
	padding: 25px 10px 20px 10px;
}
.homeNews .list {
	margin: 0 0 20px 0;
}
.homeNews .list li {
	display: block;
	padding: 10px 0;
}
.homeNews .list li .date {
	display: inline-block;
	min-width: 80px;
	font-size: 14px;
}
.homeNews .list li .tag {
	display: inline-block;
	padding: 0;
}
.homeNews .list li .title {
	display: block;
	padding: 7px 0 0 0;
	font-size: 14px;
}

/* homeBlog
-------------------------------------*/
.homeBlog {
	margin: 0 0 25px 0;
}
.homeBlog .list {
	margin: 0 0 20px 0;
}
.homeBlog .list li figure {
	width: 48%;
	max-width: 168px;
	margin: 0 12px 0 0;
}
.homeBlog .list li .date {
	font-size: 14px;
}
.homeBlog .list li .title {
	padding: 5px 0 0 0;
	font-size: 14px;
}


/*-------------------------------------
 section
-------------------------------------*/
.homeSection .inner {
	padding-bottom: 25px;
}
.homeSection .titleBox {
	position: relative;
	top: auto;
	left: auto;
	right: auto;
	width: auto;
	margin: 0 -10px;
	padding: 25px 23px 13px 23px;
}
.homeSection .titleBox .title {
	margin: 0 0 10px 0;
}
.homeSection .titleBox:before {
	width: 17px;
	height: 18px;
	margin-left: -9px;
	background-size: 17px 18px;
}
.homeSection .titleBox .title em {
	font-size: 24px;
}
.homeSection .titleBox .subtitle {
	font-size: 12px;
}
.homeSection .titleBox a:before {
	width: 38px;
	height: 38px;
	background-image: url(/common/images/icn_link01_sp.png);
	background-size: 38px 38px;
}
.homeSection .main {
	height: 225px;
}
.homeSection .main img {
	height: 225px;
}

.homeGroup {
	margin: 0;
	background: none;
}



/* homeJourneys
-------------------------------------*/
.homeJourneys .main {
	margin: 0 0 6px 0;
}
.homeJourneys .list {
	flex-direction: column;
	margin: 0 -4px;
}
.homeJourneys .list li {
	width: auto;
	margin: 0 0 6px 0;
	padding: 20px 15px;
}
.homeJourneys .list li a:before {
	width: 38px;
	height: 38px;
	background-image: url(/common/images/icn_link01_sp.png);
	background-size: 38px 38px;
}
.homeJourneys .list li .item {
	padding: 18px 18px 5px 18px;
}
.homeJourneys .list li .title {
	font-size: 19px;
	text-align: left;
}
.homeJourneys .list li p {
	margin: 0;
}
.homeJourneys .list li figure {
	width: 140px;
	margin: -20px -15px 0;
}
.homeJourneys .list li .btn {
	padding: 15px 0 0 0;
}


/* homeConcept
-------------------------------------*/
.homeConcept .main {
	margin: 0 0 6px 0;
}
.homeConcept .list {
	flex-wrap: wrap;
	margin: 0 -10px 0 -4px;
}
.homeConcept .list li {
	width: 50%;
	padding: 0 6px 6px 0;
}
.homeConcept .list li a figcaption {
	right: 8px;
	bottom: 5px;
	padding: 0 27px 0 0;
	font-size: 13px;
	background: url(/common/images/icn_arw02_sp.png) no-repeat right center / 23px 7px;
}


/* homeGuidance
-------------------------------------*/
.homeGuidance {
	top: 0;
	margin-bottom: 0;
}
.homeGuidance .main,
.homeGuidance .main img {
	height: 237px;
}
.homeGuidance .list {
	top: auto;
	bottom: 25px;
}
.homeGuidance .list li {
	display: block;
	width: auto;
	margin: 0 0 20px 0;
}


/* homeApplication
-------------------------------------*/
.homeApplication {
	position: relative;
	bottom: 0;
}
.homeApplication .main,
.homeApplication .main img {
	height: 308px;
}
.homeApplication .titleBox .title em {
	font-size: 24px;
}
.homeApplication .list {
	top: auto;
	bottom: 25px;
}
.homeApplication .list li {
	display: block;
	width: auto;
	margin: 0 0 20px 0;
}













}





/* 
-------------------------------------------------------------------*/


@media screen and (min-width: 1720px) {

.homeMovie .movie video {
	/*width: 100%;
	height: auto;*/
}


}




/* PC layout
-------------------------------------------------------------------*/
@media screen and (min-width: 961px) {

.homeCalendar .slick-arrow,
.homeNews .btn a,
.homeBlog .btn a,
.homeJourneys .list li .btn a {
	transition: all 0.1s linear;
	-webkit-transition: all 0.1s linear;
	-moz-transition: all 0.1s linear;
	backface-visibility: hidden;
	text-decoration: none;
}

.homeCalendar .slick-prev:hover {
	background-image: url(/common/images/icn_prev03.png);
	background-color: #063a77;
}
.homeCalendar .slick-next:hover {
	background-image: url(/common/images/icn_next03.png);
	background-color: #063a77;
}

.homeNews .btn a:hover,
.homeBlog .btn a:hover {
	color: #b8a569;
}
/*.homeJourneys .list li .btn a:hover {
	color: #063a77;
	background-color: #9c8e63;
}*/

.homeSection .titleBox a:hover:before,
.homeJourneys .list li a:hover:before {
	opacity: 1;
	background-image: url(/common/images/icn_link02.png);
}
.homeJourneys .list li a:hover img {
	opacity: 1;
}


}








