@charset "utf-8";
.notes {
	font-size: 1rem;
	line-height: 1.6;
	letter-spacing: 0.05em;
	margin-top: 10px;
}
@media screen and (max-width: 767px) {
	.mb30_sp { margin-bottom: 30px;}
}
.ttl_line {
	border-bottom: 1px solid;
	color: #4a655b;
	position: relative;
	font-size: clamp(1.4rem, 0.95238095238095238095vw, 1.6rem);
	line-height: 1.6;
	letter-spacing: 0.1em;
	margin-bottom: clamp(2rem, 1.7857142857142857143vw, 3rem);
	padding-bottom: 10px;
}
.ttl_line .md { font-size: 125%;}
.ttl_line .lg {
	font-size: 150%;
	line-height: 1;
}
.ttl_line .ver { padding-left: clamp(5px, 0.5952380952380952381vw, 10px);}
.ttl_line.icon_leaf { padding-left: clamp(30px, 2.3809523809523809524vw, 40px);}
.ttl_line.icon_leaf::before {
	background: url(../imgs/icon_leaf02.svg) no-repeat center center/contain;
	content: "";
	display: inline-block;
	position: absolute;
	left: 0;
	height: 22px;
	width: 20px;
}
.info_text {
	font-size: clamp(1.1rem, 0.71428571428571428571vw, 1.2rem);
	line-height: 1.5;
	letter-spacing: 0.01em;
}
.info_estimate {
	font-size: clamp(1.4rem, 0.95238095238095238095vw, 1.6rem);
	line-height: 1.4;
	letter-spacing: 0.01em;
}
.info_estimate > * { display: inline-block;}
.info_estimate .num {
	font-size: 237%;
	line-height: 0.8;
}
.info_estimate .num .num_char { font-size: 52.8%;}
.info_estimate .large {
	font-size: 150%;
	line-height: 1;
}
.info_estimate .medium { font-size: 112%;}
.info_estimate .small { font-size: 87.5%;}
.info_time {
	font-size: clamp(1.4rem, 1.1904761904761904762vw, 2rem);
	line-height: 1.4;
	letter-spacing: 0.01em;
}
.info_time > * { display: inline-block;}
.info_time .sm { font-size: 75%;}
.info_time .md { font-size: 80%;}
.info_time .lg { font-size: 140%;}
.info_time .xl {
	font-size: 210%;
	font-size: 160%;
	line-height: 0.8;
}
/* sec_access */
.sec_access { 
	padding: clamp(60px, 7.1428571428571428571vw, 120px) 0 clamp(60px, 7.1428571428571428571vw, 120px);
	color: #333333;
}
/* .sec_train */
.train_rank {
	margin: 0 auto clamp(40px, 8.3571428571428571429vw, 150px);
	max-width: 760px;
}
.train_rank .box {
	border: 1px solid #829e74;
	padding: 10px;
}
.train_rank .cont {
	background-color: #cddad4;
	padding: 15px 15px 15px 25px;
}
.train_rank .rank_block {
	/*display: grid;
	grid-template-columns: 55% auto;
	gap: 15px;*/
}
.train_rank .rank_ttl { margin-bottom: clamp(15px, 1.1904761904761904762vw, 20px);}
.train_rank .rank_ttl .ttl {
	/*color: #4a655b;*/
	position: relative;
	font-size: clamp(1.6rem, 1.0104761904761904762vw, 2rem);
	line-height: 1.3;
	margin-bottom: 10px;
	padding-left: clamp(30px, 2.0833333333333333333vw, 35px);
}
.train_rank .rank_ttl .ttl::before {
	background: url(../imgs/icon_leaf02.svg) no-repeat center center/contain;
	content: "";
	display: inline-block;
	position: absolute;
	left: clamp(2px,0.0029761904761904761905vw, 5px);
	height: 22px;
	width: 20px;
	top: 50%;
    transform: translateY(-50%);
}
.train_rank .rank_ttl .ttl_sub {
	font-size: clamp(1.6rem, 1.0714285714285714286vw, 1.8rem);
	line-height: 1.8;
	line-height: 1.6;
	/*margin-bottom: 10px;*/
	color: #4a655b;
	padding-top: 10px;
	border-top: 1px solid #4a655b;
}
.train_rank .rank_ttl .ttl_sub.border_none{border-top: none;}
.train_rank .rank_txt {
	font-size: clamp(1.1rem, 0.80380952380952380952vw, 1.35rem);
	line-height: 1.8;
	letter-spacing: 0.1em;
}
.train_rank .rank_tbl {
	border-collapse: collapse;
	border-spacing: 0;
	width: 100%;
}
.train_rank .rank_tbl tbody td:first-child { width: 60px;}
.train_rank .rank_tbl tbody tr td {
	border: 1px solid #231815;
	background-color: #fff;
	color: #231815;
	font-size: clamp(1.2rem, 0.77380952380952380952vw, 1.3rem);
	letter-spacing: 0.05em;
	padding: 7px 5px;
}
.train_rank .rank_tbl tbody tr td:first-child { text-align: center;}
.train_rank .rank_tbl tbody tr td:last-child { padding: 7px 5px 7px 20px;}
.train_rank .rank_tbl tbody tr.current td {
	background-color: #6a8079;
	position: relative;
	font-size: clamp(1.6rem, 1.0714285714285714286vw, 1.8rem);
	line-height: 1.3;
}
.train_rank .rank_tbl tbody tr.current td:nth-child(2) { color: #fff;}
.train_rank .rank_tbl tbody tr.current td .num { position: relative;}
.train_rank .rank_tbl tbody tr.current td:first-child:before {
	background: url(../imgs/icon_rank.svg) no-repeat center center / contain;
	content: "";
	position: absolute;
	top: -4px;
	right: 0;
	bottom: 0;
	left: 0;
	margin: auto;
	width: clamp(35px, 2.202380952380952381vw, 37px);
}
.train_rank .notes { padding-left: clamp(0px, 0.89285714285714285714vw, 15px);}
.train_block {
	padding-bottom: clamp(50px, 4.1666666666666666667vw, 70px);
}
.train_block .gallery_list {
	grid-template-columns: 1fr;
	margin-bottom: clamp(30px, 3.5714285714285714286vw, 60px);
	gap: clamp(25px, 1.7857142857142857143vw, 30px);
}
.train_block .gallery_list .box { margin-bottom: clamp(10px, 0.5952380952380952381vw, 10px);}
.train_block .gallery_list .desc { padding: 0 !important;}
.train_list .item {
	border-bottom: 1px solid #333333;
	padding: clamp(10px, 0.89285714285714285714vw, 15px) 0;
}
.train_list.bdr_none .item {
	border-bottom: none;
	padding: 0;
}
.train_minami {
	margin: auto;
	max-width: 1070px;
}
.train_minami .ttl_line { margin-bottom: clamp(20px, 2.3809523809523809524vw, 40px);}
.train_minami .gallery_list {
	column-gap: 10px;
	margin-top: clamp(30px, 2.9761904761904761905vw, 50px);
	row-gap: clamp(20px, 1.7857142857142857143vw, 30px);
}
.train_minami .gallery_list .cont { top: 5px;}
.train_minami .gallery_list .cont .ttl { letter-spacing: 0;}
.train_minami .gallery_list .desc { padding: 0 !important;}
@media screen and (min-width: 768px) {
	.train_block .col-md-7 {
		-ms-flex: 0 0 52.8%;
		flex: 0 0 52.8%;
		max-width: 52.8%;
	}
}
@media screen and (max-width: 767px) {
	.train_rank .rank_block { grid-template-columns: 1fr;}
	.train_rank .cont { padding: 15px;}
}

/* sec_shinkansen */
.sec_shinkansen { color: #fff;}
.shinkansen_img {
	margin: clamp(0px, 4.7619047619047619048vw, 80px) auto clamp(60px, 7.1428571428571428571vw, 120px);
	max-width: 815px;
}
.shinkansen_station {
	margin: auto;
	max-width: 1030px;
}
.sec_shinkansen .sec_head .ttl { color: #c1e4d2;}
/* .sec_bicycle */
.sec_bicycle { overflow: hidden;}
.bicycle_map {
	max-width: 1005px;
	margin: clamp(50px,7.1428571428571428571vw,120px) auto clamp(20px,1.690476190476190476vw,170px);
}
/* sec_car */
.sec_car { background-color: #f0f0ed;}


/* */
.tR{text-align: right;}
.txt_over70{margin-bottom: 60px;}
.txt_over70 img{display: block; max-width: 430px; margin-left: auto; margin-right: auto;}
.torikago_w{margin-bottom: 100px;}

.val_01{
	max-width: 420px;
	margin-left: auto;
	margin-right: auto;
	margin: 60px auto;
}
.flex_half, .flex_tri{
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}
.flex_half .item_half{width: 48%;}
.flex_tri .item_tri{width: 32%;}							
@media screen and (max-width: 600px) {
	.flex_half .item_half, .flex_tri .item_tri{width: 100%;}
	.flex_half .item_half:nth-of-type(n+2),
	.flex_tri .item_tri:nth-of-type(n+2){width: 100%; margin-top: 30px;}
	.flex_half .val_05.item_half{width: 48%;}
	.flex_half .val_06.item_half:nth-of-type(n+2){width: 48%; padding-top: 30px;}
}
.sec_760{
	max-width: 760px;
	margin-left: auto;
	margin-right: auto;
	margin-top: 70px;
}
.val_02_ttl{margin-bottom: 30px; font-size: 15px;}
.sec_1000{
	max-width: 1000px;
	margin-left: auto;
	margin-right: auto;
	margin-top: 100px;
}
.val_02note{margin-top: 17px;}
@media screen and (max-width: 767px) {
	.txt_over70{margin-bottom: 30px;}
	.torikago_w{margin-bottom: 40px;}
	.item_half.sp_80vw{width: 80vw !important; margin-left: auto; margin-right: auto;}
	.sec_760{margin-top: 40px;}
	.val_02_ttl{margin-bottom: 15px; font-size: 14px;}
	.sec_1000{margin-top: 50px;}
	.train_rank .rank_ttl .ttl_sub{font-size: 1.8rem;}
	.val_02note{margin-top: 0px;}
}

.val_04_ttl{
	color: #c1e4d2;
	font-size: clamp(2.5rem, 1.7857142857142857143vw, 3rem);
}
.icon_leaf02{display: inline-block; margin-right: 10px; height: 100%; vertical-align: middle;}
.icon_leaf02 img {width: 1em; }

.val_04_border{
	margin-top: 10px;
	border-top: 1px solid #fff;
	border-left: 1px solid #fff;
	padding-top: 10%;
	padding-left: 10%;
}
.val_04_sub{
	font-size: 140%;
	margin-bottom: 20px;
}
.val_04_copy{ margin-bottom: 60px;}
.tr_ttle{font-size: 160%;}
.item_half.val_05, .item_half.val_06{width: 46%;}
.val_05 .tr_ttle{text-align: left;}
.val_06 .tr_ttle{text-align: right;}
.val_06{padding-top: 60px;}
@media screen and (max-width: 767px) {
	.val_04_sub{font-size: 120%;}
	.tr_ttle{font-size: 120%;}
	.val_04_border{
		padding-top: 5%;
		padding-left: 15px;
		padding-right: 15px;	
	}
	.val_04_copy{ margin-bottom: 30px; font-size: 12px;}
}

.chk_list_ttl{color: #c1e4d2; font-size: 140%; margin-top: 30px;}
.chk_list .ico_c:nth-of-type(n+2){margin-top: 1px;}
.chk_list .ico_c{
	position: relative;
	padding-left: 30px;
	padding-bottom: 7px;
	padding-top: 8px;
	border-bottom: 1px dashed #fff;
}
.ico_c:before{
	content: "";
	position: absolute;
	left: 0;
	top: 50%;
	transform: translateY(-50%);
	width: 20px;
	height: 18px;
	
	background-size: cover;
	display: block;
}
@media screen and (max-width: 767px) {
	.chk_list_ttl{ font-size: 120%; margin-top: 20px;}
	.chk_list .ico_c{font-size: 12px; line-height: 1.4;}
	.chk_list .ico_c:nth-of-type(n+2){margin-top: 3px;}
}

img.full{width: 100%;}
.sec_val9{max-width: 800px; margin-left: auto; margin-right: auto; padding-left: 15px; padding-right: 15px;}

.item_h1{width: 67%;}
.item_h2{width: 30%;}
.item_h1_p{line-height: 1.8;}
@media screen and (max-width: 767px) {
	.item_h1, .item_h2{width: 100%;}
	.item_h1_p{ font-size: 12px; line-height: 1.6;}
	.item_h2{margin-top: 20px;}
}
.sec_val9_ttl{
	position: relative;
	text-align: center;
}
.sec_val9_ttl:before{
	position: absolute;
	content: "";
	height: 1px;
	width: 20%;
	background: #333;
	left: 0;
	top: 50%;
}
.sec_val9_ttl:after{
	position: absolute;
	content: "";
	height: 1px;
	width: 20%;
	background: #333;
	right: 0;
	top: 50%;
}
.sec_val9_ttl_p{
	text-align: center;
	font-size: 1.6rem;
	display: inline-block;
	margin-left: auto;
	margin-right: auto;
	position: relative;
	z-index: 1;
	padding: 3px 20px;
	width: 60%;
}
.sec_val9_subttl{
	text-align: center;
	font-size: 2.0rem;
	color: #4a655b;
	margin-top: 20px;
	margin-bottom: 30px;
}
.item_h1 .p_body{line-height: 1.8}
.val_07{display: block; text-align: right; font-size: 10px;}
.val_08{font-size: 10px; margin-top: 10px;}
.train_rank{max-width: 940px; padding-left: 15px; padding-right: 15px;}
.train_rank .cont{
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	padding: 30px 50px;
}
.v_item01, .v_item02{width: 47%;}

.banner {
  max-width: 700px;
  margin: 0 auto; 
  display: flex;
  gap: 30px;
  padding: 0 10px;
  box-sizing: border-box;
}
.banner-item {
  flex: 1; 
  min-width: 0;
}
.banner-item a {
  display: block; 
  text-decoration: none;
  transition: opacity 0.3s;
}

.banner-item a:hover {
  opacity: 0.8;
}
.banner-item img {
  width: 100%; 
  height: auto;
  display: block; 
}
@media screen and (max-width: 767px) {
	.v_item01, .v_item02{width: 100%;}
	.v_item01{order: 2; margin-top: 20px;} .v_item02{order: 1;}
	.train_rank .cont{padding: 25px 20px;}
	.sec_val9_ttl_p{padding: 3px 10px;font-size: 1.4rem;}
	.sec_val9_subttl{font-size: 1.8rem;}
}

/* 20260218add */
.concept-block {
    max-width: 1000px;
    margin: 0 auto;
    padding: 90px 20px 150px;
    overflow: hidden;
}
.concept-block .inner {
    position: relative;
    display: flex;
    justify-content: space-between;
    align-items: center;
}
.text-container {
    width: 100%;
    text-align: center;
    z-index: 2;
}
.topic {
    font-size: 2.2rem;
    margin-bottom: 20px;
    letter-spacing: 0.1em;
}
.concept-block .topic {
    font-size: 2.8rem;
}
.concept-block .txt {
    font-size: clamp(1.2rem, 0.95238095238095238095vw, 1.6rem);
    line-height: 1.8;
    letter-spacing: 0.01em;
}
.concept-block .medium {
    font-size: 0.8em;
}
.image-box {
    position: relative;
    width: 30%; 
}
.image-box .photo img {
    width: 100%;
    height: auto;
    display: block;
}
.caption {
    display: block;
    font-size: 10px;
    background: rgba(0,0,0,0.5);
    color: #fff !important;
    padding: 2px 5px;
    position: absolute;
    bottom: 0;
    right: 0;
}
.kanji-img {
    position: absolute;
    width: 170px;
    z-index: 3;
}
.kanji-img img {
    width: 100%;
}
@media screen and (min-width: 768px) {
    .concept-block .inner {
        display: flex;
        justify-content: space-between;
        align-items: center;
    }
    .box-active {
        order: 1;
        width: 32%;
        transform: translateY(-30px) !important; 
    }
    .text-container {
        order: 2;
        width: 36%;
    }
    .box-quiet {
        order: 3;
        width: 32%;
        transform: translateY(30px) !important; 
    }
    .box-active .kanji-img {
        position: absolute;
        top: -50px;
        right: -80px;
        width: 180px;
        z-index: 3;
    }
    .box-quiet .kanji-img {
        position: absolute;
        bottom: -50px;
        left: -80px;
        width: 180px;
        z-index: 3;
    }
}
@media screen and (max-width: 767px) {
      .caption.lef {
        left: 0;
        right: auto;
    }
    .concept-block .inner {
        flex-direction: column;
        align-items: center;
    }
    .text-container {
        margin-bottom: 70px;
    }
    .image-box {
        width: 55%; /* スマホでは少し大きく表示 */
        position: relative;
    }
    .box-active {
        align-self: flex-start;
      /* 下の要素を重ねるためにネガティブマージンを設定 */
        margin-bottom: -60px; 
        z-index: 1;
    }
    .box-quiet {
        align-self: flex-end;
        margin-bottom: 0;
        z-index: 2;
    }
    .box-active .kanji-img {
        position: absolute;
        top: -30px;
        right: -80px;
        width: 180px;
    }
    .box-quiet .kanji-img {
        position: absolute;
        bottom: -30px;
        left: -80px;
        width: 180px;
    }
    .topic {
        font-size: 1.8rem;
    }
}