@charset "utf-8";
/* CSS Document */
/*------------------------------------------------------------------
共通css
------------------------------------------------------------------*/
#contents {
	max-width: inherit;
}
#all-tokushu {
    padding: 0;
	font-size: 1.5rem;
    font-family: "Noto Sans JP", sans-serif;
}
#all-tokushu h2 {
    font-weight: bold;
    margin-top: 0;
    display: block;
    color: #333;
}
.br-599 {
    display: none;
}
.inner {
	max-width: 1040px;
	width: 100%;
	margin: 0 auto;
	padding: 0 20px;
}
.content_wrap {
    max-width: 1040px;
    width: 100%;
    margin: 0 auto;
    padding: 45px 20px 0;
}
.bg {
    background: #e9f5ff;
    margin-top: 40px;
}
#all-tokushu .content_wrap.page_bottom {
    padding: 35px 20px 30px;
}
#all-tokushu .content_wrap h2 {
    margin-bottom: 28px;
    font-size: 2.4rem;
    position: relative;
    color: #3d3d3d;
    text-align: left;
    padding-bottom: 8px;
    border-bottom: 1px solid #777;
}
#all-tokushu .content_wrap h2 span {
    display: inline-block;
    position: relative;
}
#all-tokushu .content_wrap.page_bottom h2 {
    text-align: center;
    padding-bottom: 0;
    border-bottom: none;
    font-size: 2.7rem;
}
#all-tokushu .content_wrap.page_bottom h2 span {
    padding: 0px 0px 0 30px;
}
/*------------------------------------------------------------------
h1
------------------------------------------------------------------*/
.title_wrap {
    position: relative;
    max-width: 2000px;
    margin: 0 auto;
    padding: 0 0 25px;
}
.title_wrap .title_inner {
    max-width: 1040px;
    width: 100%;
    margin: 0 auto;
    padding: 10px 25px 20px;
    overflow: hidden;
    background-image: linear-gradient(0deg, transparent calc(100% - 1px), #ffffff2b calc(100% - 1px)), linear-gradient(220.55deg, #71b9f9 0%, #2d5fb9 100%);
    background-size: 3px 3px, auto;
    background-repeat: repeat;
    background-position: center center;
}
#all-tokushu h1 {
    position: relative;
    font-weight: 800;
    font-size: min(5.0vw, 4.8rem);
    text-align: left;
    color: #fff;
    margin: 0;
    letter-spacing: 0.02em;
    transform: skewX(-8deg);
    text-shadow: 0 0 8px #205ecc;
}
#all-tokushu h1:after {
    position: absolute;
    content: "";
    width: 35%;
    height: 68%;
    background-image: url(/plan/tokushu/images/mv_shinkansen.webp);
    background-size: contain;
    background-position: center;
    right: -8.2%;
    bottom: 6px;
    background-repeat: no-repeat;
    transform: skewX(8deg);
}
#all-tokushu h1 .title_small {
    font-size: 75%;
    margin-left: 3px;
}
#all-tokushu h1 .dot {
    display: inline-block;
    margin: 0px -0.5% 0;
    font-size: 80%;
    transform: translateY(-1%);
}
#all-tokushu h1 .shinkansen {
    position: relative;
    color: #ffb242;
}
@media screen and (min-width: 1500px) {
#all-tokushu h1:after {
    width: 39%;
    height: 70%;
    right: -11.5%;
}
}
/*------------------------------------------------------------------
アンカーリンク
------------------------------------------------------------------*/
#anchor .inner {
    padding: 0;
}
#anchor .anchor_list {
    display: flex;
    display: -webkit-flex;
    justify-content: flex-start;
    -webkit-justify-content: flex-start;
    gap: 8px;
    flex-wrap: wrap;
}
#anchor .anchor_list a {
    display: block;
    padding: 4px 30px 4px 15px;
    position: relative;
    color: #2d5fb9;
    border-radius: 3px;
    background: #d9e8f6;
    font-size: 1.65rem;
    transition: 0.2s ease;
    border: 1px solid #d9e8f6;
}
#anchor .anchor_list a:after {
    position: absolute;
    top: 53%;
    right: 10px;
    transform: translateY(-50%);
    content: '\e911';
    font-family: 'jttweb' !important;
    font-size: 1.3rem;
}
#anchor .anchor_list a:hover {
    border: 1px solid #2d5fb9;
}
/*------------------------------------------------------------------
バナー
------------------------------------------------------------------*/
.bnr_wrap {
    display: flex;
    display: -webkit-flex;
    flex-wrap: wrap;
    -webkit-flex-wrap: wrap;
}
.bnr_wrap li {
    width: calc(100% / 4 - 20px);
    margin: 0 10px 20px;
}
.bnr_wrap li a {
    display: block;
    transition: 0.3s;
}
.bnr_wrap li a:hover {
    opacity: 0.8;
}
.bnr_wrap li h3 {
    padding: 7px 0 0;
    font-size: 1.4rem;
    color: #333;
    margin: 0;
    display: block;
    font-weight: normal;
}
.bnr_wrap li h3.txt_box a {
    display: inline;
    text-decoration: underline;
}
.bnr_wrap li h3.txt_box a:hover {
    text-decoration: none;
}
.season_list {
    display: -webkit-flex;
    display: flex;
    flex-wrap: wrap;
    -webkit-flex-wrap: wrap;
    margin: 0 auto;
    justify-content: flex-start;
    width: fit-content;
    gap: 8px;
    margin-bottom: 20px;
    margin-top: 8px;
}
.season_list li {
    text-align: center;
}
.season_list li a {
    position: relative;
    display: block;
    padding: 8px 30px 8px 17px;
    background-color: #dfedfb;
    border-radius: 50px;
    color: #2d5fb9;
    font-size: 1.45rem;
    font-weight: bold;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    -webkit-transition: all .3s;
    transition: all .3s;
    border: 1px solid #85add4;
}
.season_list li a:before {
    transform: translateY(-50%);
    position: absolute;
    content: '\e902';
    font-family: 'jttweb' !important;
    top: 50%;
    right: 10px;
    font-size: 1.1rem;
    font-weight: bold;
}
.season_list li a:hover {
    background: #85add4;
    color: #fff;
}
/*------------------------------------------------------------------
出発駅・到着駅から探す
------------------------------------------------------------------*/
#train_sec.content_wrap h2 span:after {
    position: absolute;
    content: "";
    width: 35px;
    height: 35px;
    background-image: url("/plan/tokushu/images/ic001.webp");
    background-repeat: no-repeat;
    background-size: contain;
    top: 50%;
    left: -15px;
    transform: translateY(-50%);
}
#train_sec .train_sec_list {
    display: flex;
    display: -webkit-flex;
    justify-content: center;
    -webkit-justify-content: center;
    flex-wrap: wrap;
    column-gap: 35px;
    row-gap: 20px;
}
#train_sec .train_sec_list dl {
	width: calc(100% / 2 - 30px);
	text-align: center;
    max-width: 390px;
}
#train_sec .train_sec_list dt {
	margin-bottom: 12px;
	padding-bottom: 4px;
	border-bottom: 3px solid #ed6c00;
	font-size: 2.2rem;
	font-weight: bold;
    color: #3d3d3d;
}
#train_sec .train_sec_list dd {
	display: flex;
	display: -webkit-flex;
	justify-content: center;
	-webkit-justify-content: center;
    flex-wrap: wrap;
}
#train_sec .train_sec_list dd p {
	width: calc(100% / 2);
}
#train_sec .train_sec_list dd p a {
	display: block;
	margin: 0 5px 10px;
	padding: 9px 10px 8px;
    border: 1px solid #cfcfcf;
    border-radius: 3px;
    color: #004ea1;
    background: #fff;
    box-shadow: 0 0.1rem 0.4rem rgba(0, 0, 0, 0.17);
    font-weight: normal;
}
#train_sec .train_sec_list dd p a:hover {
	box-shadow: none;
}
/*------------------------------------------------------------------
検索窓
------------------------------------------------------------------*/
#search-sec.content_wrap h2 span:after {
    position: absolute;
    content: "";
    width: 35px;
    height: 35px;
    background-image: url("/plan/tokushu/images/ic002.webp");
    background-repeat: no-repeat;
    background-size: contain;
    top: 55%;
    left: -15px;
    transform: translateY(-50%);
}
#search-app .tab_content {
    margin-bottom: 0;
}
#search-app .tab .tab-btn {
	display: -webkit-flex;
	display: flex;
	-webkit-justify-content: center;
	justify-content: center;
	-webkit-align-items: center;
	align-items: center;
	height: 60px;
	font-size: 1.7rem;
	font-weight: bold;
	line-height: 1.1;
}
#search-app .tab .tab-btn img {
	width: auto;
	height: 32px;
	margin-right: 20px;
}
#search-app .tab .tab-btn p {
	margin-top: 5px;
}
.seach_fukidashi p {
    text-align: center;
}
.seach_fukidashi span {
    font-size: 1.6rem;
    font-weight: bold;
    position: relative;
    border-radius: 5px;
    padding: 8px 50px;
    background: #f46f00;
    color: #fff;
    z-index: 10;
    text-shadow: 0 0 5px #f46800;
}
.seach_fukidashi p span:before {
    position: absolute;
    content: '';
    top: -6px;
    left: 15%;
    width: 16px;
    height: 16px;
    box-sizing: border-box;
    background: #f46f00;
    transform: rotate(135deg);
    translate: -50%;
    z-index: -1;
}
.search-app .gadget_box {
    margin-top: 15px;
}

@media screen and (max-width: 999px) {
#all-tokushu {
    font-size: 1.4rem;
}
.inner {
    padding: 0 14px;
}
.content_wrap {
    padding: 30px 14px 0;
}
#all-tokushu .content_wrap h2 {
    margin-bottom: 15px;
    font-size: 2.2rem;
}
#all-tokushu .content_wrap.page_bottom {
    padding: 30px 14px 25px;
}
#all-tokushu .content_wrap.page_bottom h2 {
    font-size: 2.5rem;
}
/*------------------------------------------------------------------
h1
------------------------------------------------------------------*/
.title_wrap .title_inner {
    padding: 12px 20px 16px;
}
#all-tokushu h1:after {
    right: -14.5%;
}
/*------------------------------------------------------------------
アンカーリンク
------------------------------------------------------------------*/
#anchor .inner {
    padding: 0 14px;
}
/*------------------------------------------------------------------
バナー
------------------------------------------------------------------*/
.bnr_wrap {
    justify-content: flex-start;
}
.bnr_wrap li {
    width: calc(100% / 3 - 10px);
    margin: 0 5px 20px;
}
/*------------------------------------------------------------------
検索窓
------------------------------------------------------------------*/
#all-tokushu .search-app .sup.mt10.txt-center {
	text-align: left!important;
}
#search-app .tab .tab-btn {
	font-size: 1.3rem;
}
.search-app .seach-box {
    padding: 18px 10px 27px;
}
}

@media screen and (max-width: 700px) {
/*------------------------------------------------------------------
検索窓
------------------------------------------------------------------*/
#search-app .tab .tab-btn {
	-webkit-flex-direction: column;
	flex-direction: column;
	height: 70px;
}
#search-app .tab .tab-btn img {
	height: 30px;
	margin-right: 0;
}
}
@media screen and (max-width: 599px) {
.br-599 {
    display: block;
}
#all-tokushu .content_wrap h2 {
    font-size: 1.8rem;
}
#all-tokushu .content_wrap.page_bottom h2 {
    font-size: 2.1rem;
}
/*------------------------------------------------------------------
出発駅・到着駅から探す
------------------------------------------------------------------*/
#train_sec.content_wrap h2 span:after {
    width: 32px;
    height: 32px;
    left: -12px;
}
/*------------------------------------------------------------------
検索窓
------------------------------------------------------------------*/
#search-sec.content_wrap h2 span:after {
    width: 31px;
    height: 31px;
    left: -10px;
}
/*------------------------------------------------------------------
h1
------------------------------------------------------------------*/
.title_wrap {
    padding: 0 0 12px;
}
.title_wrap .title_inner {
    padding: 14px 20px 16px;
    background-size: 2.5px 2.5px, auto
}
#all-tokushu h1 {
    font-size: min(7.1vw, 3rem);
    line-height: 1.35;
    text-align: center;
}
#all-tokushu h1:after {
    width: 62%;
    height: 37%;
    bottom: -17px;
    right: -29%;
}
#all-tokushu h1 .title_small {
    font-size: 85%;
}
/*------------------------------------------------------------------
アンカーリンク
------------------------------------------------------------------*/
#anchor .anchor_list a {
    font-size: min(3.05vw, 1.3rem);
    padding: 4px 22px 4px 10px;
}
#anchor .anchor_list a:after {
    font-size: 1.1rem;
    right: 6px;
}
/*------------------------------------------------------------------
バナー
------------------------------------------------------------------*/
.bnr_wrap {
    margin: 0 -5px;
}
.bnr_wrap li {
    width: calc(100% / 2 - 10px);
    margin: 0px 5px 15px;
}
.bnr_wrap li h3 {
    font-size: 1.25rem;
}
.season_list {
    margin-bottom: 15px;
    justify-content: center;
}
/*------------------------------------------------------------------
出発駅・到着駅から探す
------------------------------------------------------------------*/
#train_sec .train_sec_list {
	display: block;
}
#train_sec .train_sec_list dl {
	width: 100%;
    max-width: 100%;
}
#train_sec .train_sec_list dl + dl {
	margin-top: 10px;
}
#train_sec .train_sec_list dt {
	width: 90%;
	margin: 0 auto 10px;
	font-size: 1.8rem;
}
#train_sec .train_sec_list dd {
	width: 90%;
	margin: 0 auto;
}
#train_sec .train_sec_list dd p a {
	font-size: 1.5rem;
}
/*------------------------------------------------------------------
検索窓
------------------------------------------------------------------*/
#search-app .tab .tab-btn {
	font-size: 1.1rem;
}
.seach_fukidashi p span {
	font-size: 1.3rem;
	display: block;
	padding: 5px;
}
}
@media screen and (max-width: 365px) {
/*------------------------------------------------------------------
検索窓
------------------------------------------------------------------*/
.seach_fukidashi p span {
    font-size: 1.1rem;
}
}
@media screen and (max-width: 320px) {
/*------------------------------------------------------------------
検索窓
------------------------------------------------------------------*/
#search-app .tab .tab-btn {
	font-size: 1.0rem;
}
#all-tokushu .seach_fukidashi p span {
	font-size: 1.0rem;
}
}