@charset "UTF-8";

.contentpage .m_img_area .m_title .ft_min {
	margin-left: -.1em;
}



/*box1
---------------------------------------------------------*/
.box1 {
	position: relative;
}
.box1 .map_box iframe {
	display: block;
}
.box1 .map_box .com_btn1 a {
	margin-top: 2.0em;
}
.box1 .in_box {
	width: 100%;
	max-width: 1100px;
	margin-left: auto;
	margin-right: auto;
}
.box1 .in_box .txt_box {
	width: 55%;
}
.box1 .in_box .txt_box .txt {
	font-size: 110%;
	letter-spacing: .15em;
	line-height: 1.6em;	
	font-feature-settings: "halt";
	margin-bottom: .5em;
}
.box1 .in_box .txt_box dt {
	font-size: min(300%,4.5vw);
	letter-spacing: .15em;
	line-height: 1.2em;
	margin-bottom: .5em;
}
.box1 .in_box .txt_box dd span {
	text-decoration: underline;
}
.box1 .in_box .access_txt {
	width: 100%;
	max-width: 750px;
	margin-top: 1.2em;
	display: flex;
    justify-content: space-between;
    align-items: center;
}
.box1 .in_box .access_txt .icon {
	width: 17%;
	max-width: 103px;
}
.box1 .in_box .access_txt .txt_root {
	width: 80%;
}
.box1 .in_box .access_txt .txt_root p {
	font-size: 125%;
	letter-spacing: .15em;
	line-height: 1.5em;
}
.box1 .in_box .access_txt .btn {
	width: 100%;
	max-width: 380px;
	text-align: center;
	font-size: 105%;
	letter-spacing: .15em;
	line-height: 1.2em;
	margin-top: .5em;
}
.box1 .in_box .access_txt .btn a {
	display: block;
	background: #ecf4f8;
	color: #1980be;
	padding: 1.0em 0;
	border-radius: 3.0em;
}
.box1 .in_box .access_txt .btn a:hover {
	background: #dae9f1;
}
.box1 .in_box .access_txt .btn span {
	display: inline-block;
	padding-right: 2.5em;
	position: relative;
}
.box1 .in_box .access_txt .btn span::before {
	content: "";
	position: absolute;
	width: 1.7em;
	height: 1.7em;
	background: url("../images/access/arrow1@2x.png") no-repeat center center;
	background-size: contain;
	right: 0;
	top: 50%;
	transform: translateY(-50%);
}
.box1 .abs {
	position: absolute;
	z-index: 1;
	width: 43%;
	max-width: 640px;
	right: 0;
	bottom: 0;
	transform: translateY(45%);
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) {
.box1 .map_box .com_btn1 a {
	margin-top: 1.0em;
}
.box1 .in_box .txt_box .txt {
	letter-spacing: .1em;
}
.box1 .in_box .txt_box dt {
	font-size: 4.5vw;
}
.box1 .in_box .access_txt .txt_root p {
	font-size: 115%;
	letter-spacing: .1em;
}
.box1 .abs {
	bottom: 5%;
	transform: none;
}
}

/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
.box1 .map_box iframe {
	height: 350px;
}
.box1 .map_box .com_btn1 a {
	margin-top: 1.0em;
}
.box1 .in_box .txt_box {
	width: 100%;
}
.box1 .in_box .txt_box .txt {
	font-size: 110%;
	letter-spacing: .05em;
}
.box1 .in_box .txt_box dt {
	font-size: 200%;
	letter-spacing: .1em;
}
.box1 .in_box .txt_box dd {
	font-size: 100%;
	letter-spacing: normal;
}
.box1 .in_box .access_txt {
	width: 100%;
	max-width: 750px;
	margin-top: 1.2em;
	display: flex;
    justify-content: space-between;
    align-items: center;
}
.box1 .in_box .access_txt .icon {
	width: 20%;
	max-width: 103px;
}
.box1 .in_box .access_txt .txt_root {
	width: 77%;
}
.box1 .in_box .access_txt .txt_root p {
	font-size: 100%;
	letter-spacing: normal;
}
.box1 .in_box .access_txt .btn {
	max-width: 100%;
	font-size: 100%;
	letter-spacing: .1em;
}
.box1 .in_box .access_txt .btn a {
	padding: .6em 0;
}
.box1 .abs {
	position: static;
	width: 70%;
	margin-left: auto;
	margin-right: 0;
	margin-top: -8%;
	transform: translate(10%,35%);
}
}



/*box2
---------------------------------------------------------*/
.box2 {
	background: #f7f7f7;
}
.box2 .w1100 {
	padding-top: min(190px,13%);
	padding-bottom: 120px;
}
.box2 .timetable dt {
	width: 80%;
	margin: 0 auto;
}
.box2 .timetable dd {
	text-align: center;
	font-size: 125%;
	letter-spacing: .15em;
	line-height: 1.4em;
	margin-top: 1.0em;
}
.box2 .bg_white {
	background: #fff;
	padding: 50px 0;
	border-radius: 20px;
	text-align: center;
	position: relative;
}
.box2 .bg_white::before {
	content: "";
	position: absolute;
	width: 100%;
	height: 6vw;
	max-height: 40px;
	background: url("../images/access/shadow@2x.png") no-repeat center top;
	background-size: 100% 100%;
	left: 0;
	top: 100%;
}
.box2 .bg_white p.blue {
	font-size: 125%;
	letter-spacing: .15em;
	line-height: 1.4em;
	margin-bottom: 1.5em;
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) {
.box2 .w1100 {
	padding-top: 10%;
	padding-bottom: 8%;
}
.box2 .timetable dd {
	margin-top: .5em;
}
.box2 .bg_white {
	padding: 4% 0 5%;
}
.box2 .bg_white p.blue {
	letter-spacing: .1em;
}
}

/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
.box2 .w1100 {
	padding-top: 16%;
	padding-bottom: 10%;
}
.box2 .timetable dt {
	width: 100%;
}
.box2 .timetable dd {
	font-size: 110%;
	letter-spacing: .1em;
	margin-top: .5em;
}
.box2 .bg_white {
	padding: 6% 0 8%;
}
.box2 .bg_white p.blue {
	font-size: 120%;
	letter-spacing: .1em;
	line-height: 1.4em;
	margin-bottom: 1.0em;
}
}



/*box3
---------------------------------------------------------*/
.box3 {
	background: #fff;
	padding-top: 120px;
}
.box3 .root_list {
	width: 100%;
	max-width: 1100px;
	margin-left: auto;
	margin-right: auto;
	display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
}
.box3 .root_list > li {
	width: 48%;
	max-width: 510px;
	margin-top: 50px;
}
.box3 .root_list > li:nth-child(-n+2) {
	margin-top: 0;
}
.box3 .root_list .img_box {
	position: relative;
	margin-bottom: 1.2em;
}
.box3 .root_list .img_box div {
	width: 77%;
	max-width: 390px;
	margin-left: auto;
	margin-right: 0;
}
.box3 .root_list .img_box .ft_sempl {
	position: absolute;
	left: 0;
	top: 10%;
	text-align: center;
	color: #fff;
	font-size: 95%;
	letter-spacing: .2em;
	line-height: 1.2em;
	width: 8em;
	padding: 1.7em 0 1.5em;
	padding-right: 1.0em;
	background: url("../images/access/arrow2@2x.png") no-repeat center center;
	background-size: 100% 100%;
}
.box3 .root_list .img_box .ft_sempl::after {
	content: "01";
	display: block;
	font-size: 325%;
	letter-spacing: .05em;
	line-height: 1.2em;
}
.box3 .root_list > li:nth-child(2) .img_box .ft_sempl::after {content: "02";}
.box3 .root_list > li:nth-child(3) .img_box .ft_sempl::after {content: "03";}
.box3 .root_list > li:nth-child(4) .img_box .ft_sempl::after {content: "04";}

.box3 .txt_last {
	width: 100%;
	max-width: 900px;
	box-sizing: border-box;
	margin-left: auto;
	margin-right: auto;
	background: #ecf4f8;
	text-align: center;
	font-size: 110%;
	letter-spacing: .15em;
	line-height: 1.6em;
	padding: 1.1em 3%;
	border-radius: 1.2em;
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) {
.box3 {
	padding-top: 10%;
}
.box3 .root_list > li {
	margin-top: 6%;
}
.box3 .root_list .img_box .ft_sempl {
	font-size: 85%;
	letter-spacing: .1em;
	width: 7em;
	padding: 1.2em 0 1.0em;
	padding-right: 1.0em;
}
.box3 .root_list .img_box .ft_sempl::after {
	font-size: 300%;
	letter-spacing: .05em;
	line-height: 1.2em;
}

.box3 .txt_last {
	letter-spacing: .1em;
}
}

/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
.box3 {
	padding-top: 12%;
}
.box3 .root_list {
	display: block;
}
.box3 .root_list > li {
	width: 100%;
	max-width: 100%;
	margin-top: 10% !important;
}
.box3 .root_list > li:first-child {
	margin-top: 0 !important;
}
.box3 .root_list .img_box {
	margin-bottom: .5em;
}.box3 .root_list .img_box .ft_sempl {
	font-size: 80%;
	letter-spacing: .1em;
	width: 6em;
	padding: 1.2em 0 1.0em;
	padding-right: 1.0em;
}
.box3 .root_list .img_box .ft_sempl::after {
	font-size: 250%;
}

.box3 .txt_last {
	font-size: 120%;
	letter-spacing: .05em;
	padding-left: 0;
	padding-right: 0;
}
}



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

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) {
}

/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
}