@charset "utf-8";

/* ==================================================
PC
================================================== */

/* ========== トップページ ========== */

/* header */
#header {
	border-bottom:none;
	min-height: 700px;
    position: relative;
	background-color: transparent;
	color:#333;
}
#he_left {
	z-index: 10;
}
#he_left #logo h1 {
    display: block;
    width: 120px;
    height: 410px;
    margin: 0px;
    background: url(/img/site/castle/top/bg-logo.png) no-repeat center;
    text-align: center;
}
#he_left #logo h1 img {
    margin-top: 25px;
    margin-left: 10px;
    display: inline-block;
}
#he_right {
	position: absolute;
    z-index: 10;
	left: 165px;
    width: calc(100% - 200px);
    margin: 0;
}
#he_right .header_nav > ul > li > button {
	padding-left: 23px;
}
#he_right #btn_support_search_open {
	padding-left: 22px;
}
.header_nav ul li[class^="h_"] {
	margin: 0px 16px 0 0;
    padding: 0px 16px 0 0px;
}
.header_nav ul li.h_lang,.header_nav ul li.h_support{
	border-color:#333;
}
.header_nav > ul > li > a, #he_right .header_nav > ul > li > button {
	background-color: transparent;
    color: #333;
	padding-top:2px;
	padding-bottom:2px;
	text-shadow: 0px 0px 3px #ffffff, 0px 0px 2px #ffffff, 0px 0px 2px #ffffff, 0px 0px 2px #ffffff, 0px 0px 2px #ffffff,
		0px 0px 2px #ffffff, 0px 0px 2px #ffffff, 0px 0px 2px #ffffff, 0px 0px 2px #ffffff, 0px 0px 2px #ffffff,
		0px 0px 2px #ffffff, 0px 0px 2px #ffffff, 0px 0px 2px #ffffff, 0px 0px 2px #ffffff, 0px 0px 2px #ffffff;
}
#he_right button#btn_support_menu_open, #he_right button#btn_support_search_open {
	color: #333;
	padding-top:2px;
	padding-bottom:2px;
}
.header_nav ul li.h_lang a {
    background-image: url(/img/site/castle/top/ico-lang.png);
	position:relative;
	bottom:-2px;
}
.header_nav ul li.h_support button#btn_support_menu_open {
    background-image: url(/img/site/castle/top/ico-hojo.png);
	position:relative;
	bottom:-2px;
}
#he_right #btn_support_search_open {
	background: url(/img/site/castle/top/ico-search.png) no-repeat left bottom 1px;
	position:relative;
	bottom:-2px;
	color: #333;
	padding-top:2px;
	padding-bottom:2px;
	text-shadow: 0px 0px 3px #ffffff, 0px 0px 2px #ffffff, 0px 0px 2px #ffffff, 0px 0px 2px #ffffff, 0px 0px 2px #ffffff,
		0px 0px 2px #ffffff, 0px 0px 2px #ffffff, 0px 0px 2px #ffffff, 0px 0px 2px #ffffff, 0px 0px 2px #ffffff,
		0px 0px 2px #ffffff, 0px 0px 2px #ffffff, 0px 0px 2px #ffffff, 0px 0px 2px #ffffff, 0px 0px 2px #ffffff;
}
#top_search_keyword,#support_menu_box {
	right:-34px;
	max-width: calc(100% + 34px)!important;
}
.header_nav > ul > li > a:after, #he_right .header_nav > ul > li > button:after, #btn_support_search_open:after {
	bottom: -8px!important;
}

/* スライドショー */
.swiper-container {
	height:700px;
}
.swiper-slide img.pg_class_slide_img_fit {
	width:auto!important;
	height:100%;
}
.pg_class_slide_a_center {
	display: -webkit-box!important;
    display: -ms-flexbox!important;
    display: flex!important;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
}
button.swiper-button-start, button.swiper-button-stop {
	top: 0!important;
    left: 50%!important;
	right:auto!important;
    -webkit-transform: translateX(-50%)!important;
    -ms-transform: translateX(-50%)!important;
    transform: translateX(-50%)!important;
    margin-left: 523px!important;
	width:34px!important;
	height:34px!important;
	border-radius: 0!important;
	box-shadow: none!important;
}
.swiper-button-next, .swiper-button-prev {
	display: none!important;
}

/* gmenu */
#top_search {
	position: absolute;
    width: 100%;
    bottom: 0;
    z-index: 10;
    background: rgb(0 0 0 / 85%);
}
.gnav ul {
	width:1080px;
	margin:0 auto;
	padding: 15px 0px;
}
.gnav ul li {
	border-right:solid 1px #a60a1d;
	padding: 6px 30px;
	flex-grow: 1;
}
.gnav ul li:first-child {
	border-left:solid 1px #a60a1d;
}
.gnav ul li a {
	font-size:1.6rem;
}
/* メイン */
#mymainback {
	background: url(/img/site/castle/top/bg-main.jpg) repeat-y center top;
}
#main {
	width:100%;
	background-color: transparent;
}

/* 非表示 */
#footstep_wrap {
	display: none !important;
}

/* 新着情報 */
.section_information {
	width: var(--content-width, 1080px);
	margin: 32px auto 45px;
}
.section_information h2 {
	margin: 0 0 50px;
	padding: 0px;
	border: none;
	border-radius: 0;
	background: none;
	font-size: 3.2rem;
	text-align: center;
}
.section_information h2 span {
	display: inline-block;
	padding:0 180px 20px;
	background-image: url(/img/site/castle/top/bg-tit-left.png),url(/img/site/castle/top/bg-news-right.png);
	background-repeat:no-repeat;
	background-position:left bottom,right bottom;
}

.section_information p.no_data {
	margin: 0px;
	padding: 20px 0px;
}

.section_information_list ul {
	margin: 0px;
	padding: 0px;
	list-style: none;
	display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
	-webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
	-webkit-flex-wrap: wrap;
    flex-wrap: wrap;
	gap:32px;
}
.section_information_list ul li {
	width: 246px;
	display: block;
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
	margin: 0px 0px 15px;
}
.section_information_list ul li .list_pack {
	display: block;
	padding:0;
}
.section_information_list ul li .list_pack .article_img {
	display: block;
	width:100%;
	padding:0;
}
.list_pack .article_img span {
	aspect-ratio: 246 / 138;
	background-color:#d3d3d3;
}
.section_information_list ul li .list_pack .article_txt {
	display: block;
	margin-top: 30px;
}
.section_information_list ul li .list_pack .article_txt .article_date {
	display: block;
	font-size: 1.4rem;
	color:#a60a1d;
	font-weight: bold;
}
.section_information_list ul li .list_pack .article_txt .article_title {
	display: block;
	font-size: 1.6rem;
}

.section_information_list img.icon_new {
	vertical-align: baseline;
	margin-left: 0.5em;
}

/* 新着情報（文字拡大時） */
.font_size_changed .section_information_list ul li,
.font_size_changed .section_information_list ul li > span {
	display: block;
}
.font_size_changed .section_information_list ul li > span.article_date {
	width: auto;
	padding-top: 0px;
}

/* 新着情報（一覧 / RSS） */
.section_information_list_wrap div.link_box {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	    flex-wrap: wrap;
	-webkit-box-pack: center;
	    -ms-flex-pack: center;
	        justify-content: center;
	-webkit-box-align: start;
	    -ms-flex-align: start;
	        align-items: flex-start;
	gap: 20px;
	margin-top: 35px;
}
.section_information_list_wrap div.link_box span {
	display: inline-block;
	vertical-align: top;
	width: 240px;
	max-width: 100%;
}
.section_information_list_wrap div.link_box span a {
	display: block;
	border-left: 3px solid #a60a1d;
	border-radius: 0;
	background: rgb(233 220 157 / 50%);
	color: #333333;
	font-size: 1.4rem;
	line-height: 1.8rem;
	text-decoration: none;
	margin: 0px;
	padding: 11px 20px;
	text-align: center;
	position:relative;
}
.section_information_list_wrap div.link_box span a:before {
	content: "";
  position: absolute;
  display: inline-block;
  width: calc(100% + 10px);
  height: 1px;
  bottom:7px;
	left:15px;
  border-radius: 9999px;
  background-color: #333;
	-webkit-transition: all 0.5s ease 0s;
 -o-transition: all 0.5s ease 0s;
 transition: all 0.5s ease 0s;
}

.section_information_list_wrap div.link_box span a:after {
  content: "";
  position: absolute;
  bottom:8px;
  right: -25px;
  width: 14px;
  height: 1px;
  border-radius: 9999px;
   background-color: #333;
  transform: rotate(45deg);
  transform-origin: calc(100% - 2px) 50%;
	-webkit-transition: all 0.3s ease 0s;
 -o-transition: all 0.3s ease 0s;
 transition: all 0.3s ease 0s;
}
.section_information_list_wrap div.link_box span a:hover:before {
	width: calc(100% + 15px);
}
.section_information_list_wrap div.link_box span a:hover:after {
	 right: -30px;
}

/* 日本一ひのもといちの物語を体験しよう */
#sec_journey {
	padding:45px 0;
}
.box_journey {
	position: relative;
	width: var(--content-width, 1080px);
    margin: 0 auto;
	display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
	-webkit-box-align: end;
    -ms-flex-align: end;
        align-items: flex-end;
	-webkit-box-orient: horizontal;
	-webkit-box-direction: reverse;
		-ms-flex-direction: row-reverse;
			flex-direction: row-reverse;
}
.box_journey .box_img {
	width:585px;
	display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
	-webkit-flex-wrap: wrap;
    flex-wrap: wrap;
	gap:5px;
}
.box_journey .box_txt {
	width: calc(100% - 585px);
	margin-left:27px;
	background: url(/img/site/castle/top/bg-journey.png) no-repeat right top;
	font-size:1.6rem;
	position: relative;
    right: -13px;
	padding-top: 10px;
    padding-right: 13px;
	padding-bottom: 70px;
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
}
.box_journey .box_txt h2 {
	font-size:3.2rem;
	font-weight: normal;
	letter-spacing: 0.1em;
	margin: 10px 0 30px;
}
.box_txt h2 .en {
	display: block;
	font-size:1.2rem!important;
	font-weight: bold;
	letter-spacing: 0.2em;
	color:#a60a1d;
	font-family: 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN W3', Arial, 'BIZ UDPGothic', Osaka, 'MS PGothic', sans-serif;
	margin-top: 5px;
}
.box_journey .box_txt p {
	letter-spacing:0;
	margin-bottom: 28px;
}
.box_journey .box_txt h2 ruby > rt {
	font-size:1.4rem;
	margin-bottom: 5px;
}
.box_img figure {
	margin:0;
	display: -webkit-inline-box;
	display: -ms-inline-flexbox;
	display: inline-flex;
	height: fit-content;
}
.box_img figure img {
	display: inline-block;
}
.btn_box {
	display: inline-block;
    vertical-align: top;
    width: 240px;
    max-width: 100%;	
    margin-top: 20px;
}
.btn_box a {
	display: block;
    border-left: 3px solid #a60a1d;
    border-radius: 0;
    background: rgb(233 220 157 / 50%);
    color: #333333;
    font-size: 1.4rem;
    line-height: 1.8rem;
    text-decoration: none;
    margin: 0px;
    padding: 11px 20px;
    text-align: center;
    position: relative;
}
.btn_box a:before {
	content: "";
  position: absolute;
  display: inline-block;
  width: calc(100% + 10px);
  height: 1px;
  bottom:7px;
	left:15px;
  border-radius: 9999px;
  background-color: #333;
	-webkit-transition: all 0.5s ease 0s;
 -o-transition: all 0.5s ease 0s;
 transition: all 0.5s ease 0s;
}

.btn_box a:after {
  content: "";
  position: absolute;
  bottom:8px;
  right: -25px;
  width: 14px;
  height: 1px;
  border-radius: 9999px;
   background-color: #333;
  transform: rotate(45deg);
  transform-origin: calc(100% - 2px) 50%;
	-webkit-transition: all 0.3s ease 0s;
 -o-transition: all 0.3s ease 0s;
 transition: all 0.3s ease 0s;
}
.btn_box a:hover:before {
	width: calc(100% + 15px);
}
.btn_box a:hover:after {
	 right: -30px;
}

.box_journey .btn_box {
	-webkit-order: -1;
    order: -1;
	position:absolute;
	left: 624px;
}

/* デジタル上田城 */
#sec_digital {
	padding:40px 0;
}
.box_digital {
	width: var(--content-width, 1080px);
    margin: 0 auto;
	display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
	-webkit-box-align: end;
    -ms-flex-align: end;
        align-items: flex-end;
}
.box_digital .box_img {
	width:585px;
}
.box_digital .box_txt {
	width: calc(100% - 585px);
	margin-right:10px;
	padding-bottom:70px;
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
	font-size:1.6rem;
}
.box_digital .box_txt h2 {
	font-size:3.2rem;
	font-weight: normal;
	letter-spacing: 0.1em;
	margin: 10px 0 30px;
}
.box_digital .box_txt h2 span {
	display: block;
	font-size:2.2rem;
}
.box_digital .digital_img {
	display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
	gap: 0 5px;
    margin-top: -60px;
}
.box_digital .btn_box {
	-webkit-order: -1;
    order: -1;
	position:absolute;
}

/* 上田城の魅力 */
#sec_charm {
	margin:100px 0 0;
	padding-bottom:40px;
}
.box_charm {
	width: var(--content-width, 1080px);
    margin: 0 auto;
}
.box_charm h2 {
	margin: 0 0 50px;
    padding: 0px;
    font-size: 3.2rem;
    text-align: center;
}
.box_charm h2 span {
	display: inline-block;
    padding: 0 120px 20px;
    background-image: url(/img/site/castle/top/bg-tit-left.png), url(/img/site/castle/top/bg-charm-right.png);
    background-repeat: no-repeat;
    background-position: left bottom, right bottom;
}
.box_charm .box_charm_list_wrap {
	display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
	-webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: start;
	-webkit-flex-wrap: wrap;
    flex-wrap: wrap;
	gap: 33px;
}
.box_charm .box_charm_list_wrap .box_charm_list {
	width:338px;
	position:relative;
}
.box_charm .box_charm_list_wrap .box_charm_list a {
	display: block;
	text-decoration: none;
}
.box_charm .box_charm_list_wrap .box_charm_list a:before {
	content:"";
	width:100%;
	height:100%;
	display: block;
	position:absolute;
	top:0;
	left:0;
}
.box_charm .box_charm_list_wrap .box_charm_list a img {
	display: block;
}
.box_charm .box_charm_list_wrap .box_charm_list a .tit {
	-webkit-writing-mode: vertical-rl;
    -ms-writing-mode: tb-rl;
        writing-mode: vertical-rl;
	text-orientation: upright;
	min-width:50px;
	max-height:220px;
	padding:12px 0 0;
	margin: 0;
	background: rgb(0 0 0 / 80%);
	font-size:1.8rem;
	font-weight: bold;
	letter-spacing: 0.05em;
    color: #fff;
	-webkit-box-sizing: border-box;
    box-sizing: border-box;
	display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
	-webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
	position: absolute;
    right: 10px;
    top: -20px;
	border-right: solid 2px rgb(166 10 29 / 90%);
	-webkit-transition: all 0.5s ease 0s;
	-o-transition: all 0.5s ease 0s;
	transition: all 0.5s ease 0s;
}
.box_charm .box_charm_list_wrap .box_charm_list a .tit:after {
	content:"";
	width:100%;
	min-width: 48px;
	height:40px;
	margin-top: 0.58em;
	display: block;
	background-color: rgb(166 10 29 / 90%);
	background-image:url(/img/site/castle/top/ico-arrow-w.png);
    background-repeat: no-repeat;
    background-position: center;
	-webkit-transition: all 0.5s ease 0s;
	-o-transition: all 0.5s ease 0s;
	transition: all 0.5s ease 0s;
}
.box_charm .box_charm_list_wrap .box_charm_list .charm_txt {
	font-size:1.6rem;
	margin:15px 0 0 0;
	line-height: 1.6;
}
.box_charm .box_charm_list_wrap .box_charm_list a:hover .tit {
	border-right:solid 2px rgb(220 190 47 / 80%);
}
.box_charm .box_charm_list_wrap .box_charm_list a:hover .tit:after {
	background-color: rgb(220 190 47 / 80%);
	background-image:url(/img/site/castle/top/ico-arrow.png);
}
.box_charm .box_charm_list_wrap .box_charm_list:hover .charm_txt {
	text-decoration: underline;
}
.box_charm .box_charm_list_wrap .box_charm_list.box_charm_list_small {
	width:267px;
}
.box_charm .box_charm_list_wrap .box_charm_list.box_charm_list_small a .tit {
	font-size:1.6rem;
	min-width: 40px;
	max-height: 160px;
	letter-spacing: 0.05em;
}
.box_charm .box_charm_list_wrap .box_charm_list.box_charm_list_small a .tit:after {
	min-width: 40px;
	background-size:15px auto;
}
.box_charm_btn {
	margin-top: 20px;
    text-align: center;
}

/* 上田城を観光しよう */
#sec_tourism {
	margin:100px 0 0;
	padding-bottom:40px;
}
.box_tourism {
	width: var(--content-width, 1080px);
    margin: 0 auto;
}
.box_tourism h2 {
	margin: 0 0 50px;
    padding: 0px;
    font-size: 3.2rem;
    text-align: center;
}
.box_tourism h2 span {
	display: inline-block;
    padding: 0 178px 20px;
    background-image: url(/img/site/castle/top/bg-tit-left.png), url(/img/site/castle/top/bg-tourism-right.png);
    background-repeat: no-repeat;
    background-position: left bottom, right bottom;
}
.box_tourism .box_tourism_list_wrap ul {
	display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
	-webkit-flex-wrap: wrap;
    flex-wrap: wrap;
	gap: 40px;
	list-style: none;
	margin:0;
	padding:0;
}
.box_tourism .box_tourism_list_wrap ul li {
	width:267px;
}
.box_tourism .box_tourism_list_wrap ul li a {
	display: block;
	box-shadow: 0px 0px 5px lab(0 0 0 / 0.25);
}
.box_tourism .box_tourism_list_wrap ul li a img {
	display: block;
}
.box_tourism_btn {
	margin-top: 20px;
    text-align: center;
}

/* 上田城で遊ぼう */
#sec_play {
	margin:65px 0 0;
	padding: 110px 0 100px;
	background:url(/img/site/castle/top/bg-play.png) no-repeat center top, linear-gradient(transparent 170px, rgb(199 223 183 / 70%) 170px);
}
.box_play {
	width: var(--content-width, 1080px);
    margin: 0 auto;
}
.box_play h2 {
	text-align: center;
	font-size:3.2rem;
	margin:0 0 50px;
}
.box_play_list_wrap ul {
	list-style: none;
	margin:0;
	padding:0;
	display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
	-webkit-flex-wrap: wrap;
    flex-wrap: wrap;
	gap:22px 33px;
}
.box_play_list_wrap ul li {
	width:338px;
}
.box_play_list_wrap ul li a {
	position:relative;
	display: block;
	font-size:1.6rem;
	 -webkit-transition: all 0.5s ease 0s;
	 -o-transition: all 0.5s ease 0s;
	 transition: all 0.5s ease 0s;
}
.box_play_list_wrap ul li a:hover {
	opacity: 0.8;
}
.box_play_list_wrap ul li a:before {
	content:"";
	width:338px;
	height:160px;
	display: block;
}
.box_play_list_wrap ul li a:after {
	content:"";
	position:absolute;
	display: block;
}
.box_play_list_wrap ul li a span {
	background: #333333;
	color:#fff;
	border-left:solid 3px #a60a1d;
	padding:6px 95px 6px 17px;
	display: block;
}
.box_play_list_wrap ul li#play_list_01 a:before {
	background:url(/img/site/castle/top/img-play-01.jpg) no-repeat center; 
}
.box_play_list_wrap ul li#play_list_02 a:before {
	background:url(/img/site/castle/top/img-play-02.jpg) no-repeat center; 
}
.box_play_list_wrap ul li#play_list_03 a:before {
	background:url(/img/site/castle/top/img-play-03.jpg) no-repeat center; 
}
.box_play_list_wrap ul li#play_list_04 a:before {
	background:url(/img/site/castle/top/img-play-04.jpg) no-repeat center; 
}
.box_play_list_wrap ul li#play_list_05 a:before {
	background:url(/img/site/castle/top/img-play-05.jpg) no-repeat center; 
}
.box_play_list_wrap ul li#play_list_06 a:before {
	background:url(/img/site/castle/top/img-play-06.jpg) no-repeat center; 
}
.box_play_list_wrap ul li#play_list_07 a:before {
	background:url(/img/site/castle/top/img-play-07.jpg) no-repeat center; 
}
.box_play_list_wrap ul li#play_list_08 a:before {
	background:url(/img/site/castle/top/img-play-08.jpg) no-repeat center; 
}
.box_play_list_wrap ul li#play_list_09 a:before {
	background:url(/img/site/castle/top/img-play-09.jpg) no-repeat center; 
}
.box_play_list_wrap ul li#play_list_01 a:after {
	width:90px;
	height:94px;
	background:url(/img/site/castle/top/ico-play-01.png) no-repeat center;
	right:6px;
	bottom:7px;
}
.box_play_list_wrap ul li#play_list_02 a:after {
	width:71px;
	height:83px;
	background:url(/img/site/castle/top/ico-play-02.png) no-repeat center;
	right:6px;
	bottom:7px;
}
.box_play_list_wrap ul li#play_list_03 a:after {
	width:93px;
	height:93px;
	background:url(/img/site/castle/top/ico-play-03.png) no-repeat center;
	right:6px;
	bottom:7px;
}
.box_play_list_wrap ul li#play_list_04 a:after {
	width:95px;
	height:94px;
	background:url(/img/site/castle/top/ico-play-04.png) no-repeat center;
	right:6px;
	bottom:7px;
}
.box_play_list_wrap ul li#play_list_05 a:after {
	width:82px;
	height:94px;
	background:url(/img/site/castle/top/ico-play-05.png) no-repeat center;
	right:6px;
	bottom:7px;
}
.box_play_list_wrap ul li#play_list_06 a:after {
	width:63px;
	height:85px;
	background:url(/img/site/castle/top/ico-play-06.png) no-repeat center;
	right:6px;
	bottom:7px;
}

.box_play_list_wrap ul li#play_list_07 a:after {
	width:87px;
	height:78px;
	background:url(/img/site/castle/top/ico-play-07.png) no-repeat center;
	right:6px;
	bottom:7px;
}
.box_play_list_wrap ul li#play_list_08 a:after {
	width:94px;
	height:93px;
	background:url(/img/site/castle/top/ico-play-08.png) no-repeat center;
	right:6px;
	bottom:7px;
}
.box_play_list_wrap ul li#play_list_09 a:after {
	width:75px;
	height:88px;
	background:url(/img/site/castle/top/ico-play-09.png) no-repeat center;
	right:6px;
	bottom:7px;
}
/* 周辺案内 */
#sec_guide {
	margin:0;
	padding: 70px 0 80px;
	background:#333 url(/img/site/castle/top/bg-guide.png) no-repeat center top -9px;
	color:#fff;
}
.box_guide_wrap {
	width: var(--content-width, 1080px);
    margin: 0 auto;
}
.box_guide_wrap h2 {
	text-align: center;
	font-size:3.2rem;
	margin:0 0 50px;
}
.box_guide_wrap .box_guide {
	display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
	border:solid 1px #fff;
	padding: 40px;
	margin-left: 80px;
}
.box_guide_wrap .box_guide .box_img {
	width:520px;
}
.box_guide_wrap .box_guide .box_img figure {
	margin-left: -120px;
}
.box_guide_wrap .box_guide .box_txt {
	width: calc(100% - 500px);
	margin-left:60px;
}
.box_guide_wrap .box_guide .box_txt h2 {
	padding-top: 35px;
	margin-bottom:35px;
	text-align: left;
}
.box_guide_wrap .box_guide .box_txt h2 .en {
	color:#dcbe2f;
}
.box_guide_wrap .box_guide .box_txt p {
	margin:0;
	font-size:1.6rem;
	letter-spacing: 0;
}
.box_guide_wrap .box_guide .btn_box {
	margin-top:30px;
}
.box_guide_wrap .box_guide .btn_box a {
	background: rgb(255 255 255 / 60%);
}
.box_guide_wrap .box_guide .btn_box a:before,
.box_guide_wrap .box_guide .btn_box a:after {
	background-color: #fff;
}
.box_guide_wrap #box_guide_02.box_guide {
	margin-top:39px;
	margin-right:80px;
	margin-left:0;
}
.box_guide_wrap #box_guide_02.box_guide .box_img {
	width: 700px;
}
.box_guide_wrap #box_guide_02.box_guide .box_img figure {
	margin-right: -120px;
	margin-left:auto;
	display: block;
}
.box_guide_wrap #box_guide_02.box_guide .box_img figure img {
	display: block;
}
.box_guide_wrap #box_guide_02.box_guide .box_txt {
	margin-left:0;
	margin-right:15px;
}
.box_guide_wrap #box_guide_02.box_guide .box_txt h2 {
	padding-top: 0;
	line-height: 1.4;
	margin-bottom: 25px;
}

/* 上田城の情景 */
#sec_scene {
	margin:100px 0 0;
	padding-bottom:40px;
}
.box_scene {
	width: var(--content-width, 1080px);
    margin: 0 auto;
}
.box_scene h2 {
	margin: 0 0 50px;
    padding: 0px;
    font-size: 3.2rem;
    text-align: center;
}
.box_scene h2 span {
	display: inline-block;
    padding: 0 148px 20px;
    background-image: url(/img/site/castle/top/bg-tit-left.png), url(/img/site/castle/top/bg-scene-right.png);
    background-repeat: no-repeat;
    background-position: left bottom, right bottom;
}
.box_scene .box_scene_list_wrap {
	display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
}
.box_scene .box_scene_list_wrap figure {
	display: block;
	margin:0;
}
.box_scene .box_scene_list_wrap figure img {
	display: block;
}
.box_scene_btn {
	margin-top:40px;
	text-align: center;
}

/* バナー */
.sec_bnr {
	background-color:rgb(233 220 157 / 80%);
	padding:30px 0;
}
.sec_bnr_wrap {
	width: var(--content-width, 1080px);
    margin: 0 auto;
	display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
	gap:32px;
}
.sec_bnr_wrap .free_box {
	width:246px;
	height:auto;
}
.sec_bnr_wrap .free_box img {
	width:100%;
	height:auto;
}

/*** ふわっとスクロール ***/

.scroll-group > div,.scroll-group > li {
	opacity: 0;
	-webkit-transition-delay: calc(var(--delay) * 1.5s);
     -o-transition-delay: calc(var(--delay) * 1.5s);
        transition-delay: calc(var(--delay) * 1.5s);
	-webkit-transform: translateY(100px);
    -ms-transform: translateY(100px);
    transform: translateY(100px);
	-webkit-transition: all 1.5s ease 0s;
	-o-transition: all 1.5s ease 0s;
	transition: all 1.5s ease 0s;
}
.scroll-group > div.is-show,.scroll-group > li.is-show  {
	opacity: 1;
	-webkit-transform: translateY(0px);
    -ms-transform: translateY(0px);
    transform: translateY(0px);
}


/* ========== 背景色変更 ========== */

/* 共通 */
.color_change .section_information h2 span,
.color_change .box_journey .box_txt,
.color_change .box_charm h2 span,
.color_change .box_tourism h2 span,
.color_change #sec_play,
.color_change .box_scene h2 span{
	background:none!important;
}
.color_change .btn_box a:before,
.color_change .btn_box a:after,
.color_change .section_information_list_wrap div.link_box span a:before,
.color_change .section_information_list_wrap div.link_box span a:after{
	background-color:#fff!important;
}
/* 黒 */
.color_black #he_left #logo h1,
.color_black .box_charm .box_charm_list_wrap .box_charm_list a .tit{
	background: var(--colorChangeHeadingBG) !important;
}
.color_black .box_charm .box_charm_list_wrap .box_charm_list a .tit:after {
	background-color: var(--colorChangeHeadingBG) !important;
}
/* 青 */
.color_blue #he_left #logo h1,
.color_blue .box_charm .box_charm_list_wrap .box_charm_list a .tit{
	background: var(--colorChangeHeadingBG) !important;
}
.color_blue .box_charm .box_charm_list_wrap .box_charm_list a .tit:after {
	background-color: var(--colorChangeHeadingBG) !important;
}

/* ==================================================
PC ここまで
================================================== */


/* ==================================================
スマートフォン
================================================== */
@media screen and (max-width: 1080px) {

	/* ========== トップページ ========== */
	/* header */
	#header {
		min-height: 100vw;
	}
	#he_left {
		left:10px;
		width:70px;
	}
	#he_left #logo h1 {
		width:70px;
		height:240px;
		background-size:100%;
	}
	#he_left #logo h1 img {
		width:48px;
		height:auto;
		margin: 15px 0 0 5px;
	}
	#he_right {
		width: auto;
		left: 0;
		right: 0;
		margin-top: 16px;
		z-index: auto;
	}
	#top_search_keyword, #support_menu_box {
		right: auto;
    	max-width: 100%!important;
	}
	#spm_wrap_top {
		width: auto;
		margin: 0 10px 0 80px;
		padding:0;
		-webkit-box-sizing: border-box;
		box-sizing: border-box;
		position: relative;
		z-index: 10;
		-webkit-box-orient: horizontal;
		-webkit-box-direction: normal;
			-ms-flex-direction: row;
				flex-direction: row;
	}
	#spm_wrap_top a,button#btn_spm_support {
		color:#333;
		margin-bottom:0;
		padding: 0 8px;
		min-height: 30px;
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-align: end;
		-ms-flex-align: end;
			align-items: flex-end;
		background: transparent;
		line-height: 1.2em;
		text-shadow: 0px 0px 3px #ffffff, 0px 0px 2px #ffffff, 0px 0px 2px #ffffff, 0px 0px 2px #ffffff, 0px 0px 2px #ffffff, 0px 0px 2px #ffffff, 0px 0px 2px #ffffff, 0px 0px 2px #ffffff, 0px 0px 2px #ffffff, 0px 0px 2px #ffffff, 0px 0px 2px #ffffff, 0px 0px 2px #ffffff, 0px 0px 2px #ffffff, 0px 0px 2px #ffffff, 0px 0px 2px #ffffff;
	}
	#spm_wrap_top a {
		border-right: solid 1px #333;
	}
	button#btn_spm_support {
		padding-right:0;
	}
	#spm_wrap_top a span {
		padding-left:23px;
		background: url(/img/site/castle/top/ico-lang.png) no-repeat left bottom;
		position: relative;
		bottom: -2px;
	}
	button#btn_spm_support span {
		padding-left:23px;
		background: url(/img/site/castle/top/ico-hojo.png) no-repeat left bottom;
		position: relative;
		bottom: -2px;
	}
	.spm_support_open button#btn_spm_support:after {
		bottom: -10px;
	}
	#top_search {
		position: fixed;
		bottom: 60px;
        z-index: 998;
        width: 100%;
		background: #333333;
	}
	.gnav ul {
		width: auto;
        margin: 0;
        padding: 0px;
        -webkit-flex-wrap: wrap;
	}
	.gnav ul li,.gnav ul li:first-child {
		border-color:#fff;
		padding: 0px;
	}
	/* スライドショー */
	.swiper {
		top:-70px;
		margin-bottom:-70px;
	}
	.swiper-wrapper,.swiper-container {
		width:100vw;
		height: 100vw;
	}
	.swiper-slide img.pg_class_slide_img_fit {
		height: 100vw;
	}
	button.swiper-button-start, button.swiper-button-stop {
		z-index: 10;
		bottom: 0;
		top: auto !important;
		left: auto !important;
		right: 0 !important;
		margin-left: 0 !important;
		-webkit-transform: translateX(0%) !important;
		-ms-transform: translateX(0%)!important;
		transform: translateX(0%) !important;
	}

	/* 新着情報 */
	.section_information_list_wrap {
		margin-top:40px;
	}
	.section_information {
		padding: 0px;
		width:auto;
		margin-top: 50px;
	}
	.section_information h2 {
		margin: 0px;
		padding: 0;
		font-size: 2.8rem;
	}
	.section_information h2 span {
		padding: 0 0 22px;
    	width: 100%;
		background-size:176px auto,141px auto;
	}
	.section_information_list {
		overflow-x: auto;
		width:100%;
		padding-bottom: 20px;
	}
	.section_information_list::-webkit-scrollbar {
	  border:solid 1px #c0c0c0;
	  width: 10px;
	  height: 10px;
	  border-radius: 20px;
	}
	.section_information_list::-webkit-scrollbar-thumb {
	  background-color: #a60a1d;
	  border-radius: 20px;
	}
	.section_information_list ul {
		width: calc(400vw - 80px);
	}

	.section_information p.no_data {
		padding: 20px;
	}

	.section_information_list ul {
		padding: 0;
        width: max-content;
		gap: 0;
	}
	.section_information_list ul li {
		padding: 0 10px;
        width: calc(100vw - 20px);
		max-width: 430px;
		margin:0;
	}
	.section_information_list ul li > span {
		display: block;
	}
	.section_information_list ul li .list_pack .article_txt {
		margin-top: 20px;
	}
	.section_information_list ul li > span.article_date {
		width: auto;
		padding-top: 0px;
	}
	.section_information_list ul li a {
	}

	.section_information_list ul li:has(img.icon_new) {
		position: relative;
	}
	.section_information_list ul li:has(img.icon_new) > span.article_date {
		padding-left: 45px;
	}
	.section_information_list ul li:has(img.icon_new) img.icon_new {
		margin: 0px;
		position: absolute;
		top: 17px;
		left: 0px;
	}
	
	/* 一覧用 */
	
	.index-2 .section_information_list ul {
		width: auto;
		max-width: none;
		flex-wrap: wrap;
		gap: 20px;
	}
	.index-2 .section_information_list ul li {
		padding: 0px;
		width: calc(50% - 20px);
}

	/* 新着情報（一覧 / RSS） */
	.section_information_list div.link_box {
		padding: 0px 20px 30px;
		gap: 10px;
	}
	.section_information_list div.link_box span {
		width: auto;
		max-width: none;
		min-width: calc(50% - 5px);
	}
	.section_information_list div.link_box span a {
		font-size: var(--fontsize-main-small, 1.3rem);
	}
	.section_information_list_wrap div.link_box {
		margin-top: 40px;
	}
	
	/* 日本一ひのもといちの物語を体験しよう */
	.box_journey {
		width: auto;
    	display: block;
	}
	.box_journey .box_txt h2 {
		padding-top: 20px;
	}
	.box_journey .box_txt,.box_journey .box_img  {
		width: auto;
		margin: 0;
		padding: 0 10px;
		position:static;
	}
	.box_journey .box_txt {
		background: url(/img/site/castle/sp/bg-journey.png) no-repeat right top;
	}
	.box_img figure {
		width: calc(50% - 3px);
	}
	.box_img figure:first-child {
		width: 100%;
	}
	.box_img figure img {
		width: 100%;
		height: auto;
		display: block;
	}
	.box_journey .btn_box {
		position:static;
		margin-top: 30px;
		margin-left: 10px;
	}
	
	/* デジタル上田城 */
	.box_digital {
		width: auto;
    	display: block;
	}
	.box_digital .box_txt,.box_digital .box_img  {
		width: auto;
		margin: 0;
		padding: 0 10px;
		position:static;
	}
	.box_digital .box_img {
		line-height: 0;
	}
	.box_digital .digital_img {
		margin-top:5px;
	}
	.box_digital .digital_img figure {
		width: calc(50% - 3px);
	}
	.box_digital .btn_box {
		position:static;
		margin-top: 30px;
		margin-left: 10px;
	}
	
	/* 上田城の魅力 */
	#sec_charm {
		margin: 60px 0 0;
	}
	.box_charm {
		width: auto;
    	display: block;
	}
	.box_charm h2 {
        margin: 0px;
        padding: 0;
        font-size: 2.8rem;
    }
	.box_charm h2 span {
        padding: 0 0 22px;
        width: 100%;
        background-size: 176px auto, 141px auto;
    }
	.box_charm_list_wrap {
		margin-top: 60px;
	}
	.box_charm .box_charm_list_wrap {
		display: block;
	}
	.box_charm .box_charm_list_wrap .box_charm_list {
		margin:0 auto 40px;
	}
	.box_charm .box_charm_list_wrap .box_charm_list:last-child {
		margin-bottom:0;
	}
	
	/* 上田城を観光しよう */
	#sec_tourism {
		margin: 60px 0 0;
	}
	.box_tourism {
		width: auto;
    	display: block;
	}
	.box_tourism h2 {
        margin: 0px;
        padding: 0;
        font-size: 2.8rem;
    }
	.box_tourism h2 span {
        padding: 0 0 22px;
        width: 100%;
        background-size: 176px auto, 141px auto;
    }
	.box_tourism_list_wrap {
		margin-top: 40px;
	}
	.box_tourism .box_tourism_list_wrap ul {
		display: block;
		max-width: 335px;
        margin: 0 auto;
	}
	.box_tourism .box_tourism_list_wrap ul li {
		width:100%;
		margin-bottom:20px;
	}
	.box_tourism .box_tourism_list_wrap ul li a img {
		width:100%;
		height:auto;
	}
	
	/* 上田城で遊ぼう */
	#sec_play {
		background: url(/img/site/castle/sp/top-bg-play-01.png) no-repeat center top, url(/img/site/castle/sp/top-bg-play.png) no-repeat center top 15px,linear-gradient(transparent 151px, #c7dfb7 151px);
		margin-left: -10px;
        margin-right: -10px;
		margin-top:60px;
		padding:50px 0;
	}
	.box_play {
		width: auto;
	}
	.box_play_list_wrap {
		position:relative;
	}
	.box_play h2 {
		margin-bottom:60px;
		font-size: 2.8rem;
	}
	.box_play_list_wrap:before {
		content:"";
		width:54px;
		height:64px;
		display: block;
		background: url(/img/site/castle/sp/top-bg-play-02.png) no-repeat;
		position:absolute;
		left:30px;
		top:-78px;
	}
	.box_play_list_wrap:after {
		content:"";
		width:63px;
		height:26px;
		display: block;
		background: url(/img/site/castle/sp/top-bg-play-03.png) no-repeat;
		position:absolute;
		right:30px;
		top: -40px;
	}
	.box_play_list_wrap ul {
		gap:9px;
		margin: 0 20px;
		-webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
	}
	.box_play_list_wrap ul li {
		width:calc(50% - 5px);
	}
	.box_play_list_wrap ul li a:before {
		content: "";
		aspect-ratio: 338 / 160;
		width: 100%;
    	height: auto;
		display: block;
		background-size: 100% auto !important;
	}
	.box_play_list_wrap ul li a:after {
		background-size:100% auto!important;
		bottom: auto!important;
		top: 37px;
	}
	.box_play_list_wrap ul li#play_list_01 a:after {
		width:46px;
		height:49px;
	}
	.box_play_list_wrap ul li#play_list_02 a:after {
		width:38px;
		height:46px;
	}
	.box_play_list_wrap ul li#play_list_03 a:after {
		width:48px;
		height:48px;
	}
	.box_play_list_wrap ul li#play_list_04 a:after {
		width:49px;
		height:48px;
	}
	.box_play_list_wrap ul li#play_list_05 a:after {
		width:40px;
		height:48px;
	}
	.box_play_list_wrap ul li#play_list_06 a:after {
		width:32px;
		height:48px;
	}
	.box_play_list_wrap ul li#play_list_07 a:after {
		width:54px;
		height:48px;
	}
	.box_play_list_wrap ul li#play_list_08 a:after {
		width:49px;
		height:48px;
	}
	.box_play_list_wrap ul li#play_list_09 a:after {
		width:39px;
		height:48px;
	}
	.box_play_list_wrap ul li a span {
		font-size: 1.4rem;
    	padding: 8px 10px;
	}
	
	/* 周辺案内 */
	#sec_guide {
		margin-left: -10px;
        margin-right: -10px;
		padding:50px 0;
		background: #333 url(/img/site/castle/sp/top-bg-guide.png) no-repeat center top;
	}
	.box_guide_wrap h2,.box_guide_wrap h2 {
		font-size: 2.8rem;
	}
	.box_guide_wrap {
		width: auto;
	}
	.box_guide_wrap .box_guide,.box_guide_wrap #box_guide_02.box_guide {
		display: block;
		margin: 0 20px;
    	padding: 30px 20px;
	}
	.box_guide_wrap #box_guide_02.box_guide {
		margin-top:20px;
	}
	.box_guide_wrap .box_guide .box_img,.box_guide_wrap #box_guide_02.box_guide .box_img {
		width:calc(100% + 40px);
	}
	.box_guide_wrap .box_guide .box_img figure {
		margin-left: -40px;
	}
	.box_guide_wrap #box_guide_02.box_guide .box_img figure {
		margin: 30px -40px 0 0;
	}
	.box_guide_wrap .box_guide .box_txt,.box_guide_wrap #box_guide_02.box_guide .box_txt {
		width:100%;
		margin: 0;
	}
	
	/* 上田城の情景 */
	#sec_scene {
		padding-bottom: 60px;
	}
	.box_scene {
		width: auto;
	}
	.box_scene h2 {
        margin: 0px;
        padding: 0;
        font-size: 2.8rem;
    }
	.box_scene h2 span {
        padding: 0 0 22px;
        width: 100%;
        background-size: 176px auto, 142px auto;
    }
	.box_scene .box_scene_list_wrap {
		margin-top:40px;
		-webkit-flex-wrap: wrap;
    	flex-wrap: wrap;
	}
	.box_scene .box_scene_list_wrap > div {
		width:50%;
	}
	.box_scene .box_scene_list_wrap > div img {
		width:100%;
		height:auto;
	}
	
	/* バナー広告 */
	.sec_bnr {
		padding: 40px 20px;
	}
	.sec_bnr_wrap {
		width:auto;
		max-width: 502px;
		-webkit-flex-wrap: wrap;
    	flex-wrap: wrap;
		gap:10px;
	}
	.sec_bnr_wrap .free_box {
		width: calc(50% - 5px);
	}
	

	/* ========== 背景色変更 ========== */

	/* 共通 */
	.color_change .section_information_list::-webkit-scrollbar-thumb {
		background: #fff!important;
	}
	/* 黒 */
	.color_black * {

	}
	/* 青 */
	.color_blue * {

	}

}
/* ==================================================
スマートフォン ここまで
================================================== */