.sanin-contents-body .sponly {
	display: none;
}

body {
	-webkit-text-size-adjust: 100%;
}

h1 {
    margin: 0 auto 25px;
    font-weight: bold;
    font-size: 1.8rem;
    max-width: 1120px;
}

.sanin-contents-body {
	min-width: 1120px;
	max-width: 1120px;
	padding: 0 5px;
	margin: 0 auto;
	font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", sans-serif;
	background: url(../images/bg_parts.jpg) repeat;
}

@media (-ms-high-contrast: none) {
	.sanin-contents-body {
        font-family: 'Hiragino Kaku Gothic Pro', 'ヒラギノ角ゴ Pro W3', Meiryo, メイリオ, Osaka, 'MS PGothic', arial, helvetica, sans-serif;
    }
}


.sanin-contents-body img {
	display: block;
	max-width: 100%;
	vertical-align: bottom;
}

.sanin-contents-body a {
	display: block;
	text-decoration: none;
}

.ilb {
	display: inline-block;
}

.fadein {
	opacity : 0;
	-webkit-transform: translateY(20px);
	-moz-transform: translateY(20px);
	-o-transform: translateY(20px);
	transform: translateY(20px);
	-moz-transition: all 1s;
    -ms-transition: all 1s;
    -o-transition: all 1s;
    -webkit-transition: all 1s;
    transition: all 1s;
    -webkit-transition-delay: 0s;
}

.fadein.active {
	opacity: 1;
	transform: translateY(0);
	-webkit-transform: translateY(0);
	-moz-transform: translateY(0);
	-o-transform: translateY(0);
}


.mv_wrap {
	margin: 0 -5px 60px;
}

.slick-prev,
.slick-next {
    font-size: 0;
    line-height: 0;
    position: absolute;
    top: 50%;
    display: block;
    width: 46px;
    height: 46px;
    padding: 0;
    -webkit-transform: translate(0, -50%);
    -ms-transform: translate(0, -50%);
    transform: translate(0, -50%);
    cursor: pointer;
    color: transparent;
    border: none;
    border-radius: 50%;
    outline: none;
    background-color: rgba(17,43,58,.72);
    z-index: 2;
}

.slick-prev::before {
	content: "";
	position: absolute;
	top: 0;
	right: -2px;
	bottom: 0;
	left: 0;
	width: 10px;
	height: 10px;
	border-top: 1px solid #fff;
	border-left: 1px solid #fff;
	margin: auto;
	transform: rotate(-45deg);
}

.slick-next::before {
	content: "";
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: -2px;
	width: 10px;
	height: 10px;
	border-top: 1px solid #fff;
	border-right: 1px solid #fff;
	margin: auto;
	transform: rotate(45deg);
}

.slick-prev {
	left: 20px;
}

.slick-next {
	right: 20px;
}

.rec_pamphlet {
	margin-bottom: 90px;
}

.pamph_inner {
	position: relative;
	width: 83%;
	border-radius: 10px;
	margin: auto;
	background : #FFF;
	transform: translate(10px,10px);
	transition: 1s;
	transition-delay: .5s;
	/*box-shadow : 4px 4px 0px rgba(53, 112, 61, 0.75);*/
}

.pamph_inner.active {
	transform: translate(0,0);
	box-shadow : 4px 4px 0px rgba(53, 112, 61, 0.75);
}

.rec_ttl {
	position: absolute;
	top: -28px;
	left: -27px;
}

.pamph_list {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	width: 93.2%;
	padding: 66px 0 30px;
	margin: auto;
}

.pamph_list li {
	width: 48%;
}

.pamph_list li:not(:nth-last-child(-n+2)){
	margin-bottom: 36px;
}
.pamph_list li dl {
	position: relative;
}

.pamph_list li dt {
	display: flex;
	align-items: center;
	padding: 8px 11px;
	border-radius: 6px 6px 0 0;
	font-size: 26px;
	font-weight: bold;
	color: #fff;
	text-align: center;
	line-height: 1.15;
	background-color: #1D5275;
}

.pamph_list li dt .dep_area {
	padding: .6em .2em;
	margin-right: 12px;
	font-size: 17px;
	font-weight: bold;
	color: #1D5275;
	background-color: #fff;
	text-align: center;
	line-height: 1.1;
}

.pamph_list li dt small {
	display: block;
	width: 100%;
	margin-bottom: 3px;
	font-size: .73em;
}

.pamph_list li dd {
	border: 2px solid #1D5275;
	border-radius: 0 0 6px 6px;
	padding: 18px 24px;
	font-size: 15px;
	font-weight: bold;
	background-color: #EFFFFF;
}

.pamph_list li dd a {
	display: block;
	position: relative;
	width: 15em;
	padding: .4em .2em;
	border: 1px solid #000;
	color: #000;
	background-color: #fff;
	box-shadow: 0 0 0 3px #fff, 0 0 0 4px #000;
	transition: .3s;
}

.pamph_list li dd a::before {
	content: "";
	position: absolute;
	top: 0;
	bottom: 0;
	right: 8px;
	width: 7px;
	height: 7px;
	border-top: 1px solid #000;
	border-right: 1px solid #000;
	margin: auto;
	transform: rotate(45deg);
	transition: .3s;
}

.pamph_list li dd a::after {
	content: "";
	position: absolute;
	top: 0;
	bottom: 0;
	right: 15px;
	width: 7px;
	height: 7px;
	border-top: 1px solid #000;
	border-right: 1px solid #000;
	margin: auto;
	transform: rotate(45deg);
	transition: .3s;
}


.pamph_list li dd a:hover {
	/*border-color: #fff;*/
	/*color: #fff;*/
	/*background-color: #000;*/
	box-shadow: 0 0 0 3px #000, 0 0 0 4px #000;
}

.pamph_list li dd a:hover::before {
	/*border-color: #fff;*/
}

.pamph_list li dd a:hover::after {
	/*border-color: #fff;*/
}

.pamph_img {
	position: absolute;
	top: -14px;
	right: 20px;
	box-shadow: 1px 1px 1px 0 rgba(0,0,0,.7);
}

.rec_rurutra {
	margin-bottom: 90px;
}

.rurutra_inner {
	position: relative;
	width: 83%;
	border-radius: 10px;
	padding: 72px 38px 46px;
	margin: auto;
	background : #FFF;
	transform: translate(10px,10px);
	transition: 1s;
	transition-delay: .5s;
	/*box-shadow : 4px 4px 0px rgba(53, 112, 61, 0.75);*/
}

.rurutra_inner.active {
	transform: translate(0,0);
	box-shadow : 4px 4px 0px rgba(53, 112, 61, 0.75);
}

.rurutra_link {
	display: flex;
	justify-content: space-between;
}

.rurutra_link a:hover {
	opacity: .7;
}

.rec_event {
	margin-bottom: 72px;
}

.event_inner {
	position: relative;
	width: 83%;
	border-radius: 10px;
	padding: 0 48px 45px;
	margin: auto;
	background : #FFF;
	transform: translate(10px,10px);
	transition: 1s;
	transition-delay: .5s;
	/*box-shadow : 4px 4px 0px rgba(53, 112, 61, 0.75);*/
}

.event_inner.active {
	transform: translate(0,0);
	box-shadow : 4px 4px 0px rgba(53, 112, 61, 0.75);
}

.syoin {
	border-bottom: 3px solid #35703D;
	padding-bottom: 66px;
	margin-bottom: 35px;
}

.syoin_summary {
	display: flex;
	justify-content: space-between;
	padding-top: 76px;
	margin-bottom: 28px;
}

.syoin_bnr {
	width: 52.4%;
}

.syoin_text {
	position: relative;
	width: 45.4%;
}

.syoin_text p {
	font-size: 14px;
	font-weight: bold;
}

.syoin_span {
	position: absolute;
	left: 0;
	bottom: 0;
}

.syoin_howto {
	padding: 14px 0 18px;
	margin-bottom: 38px;
	background: #FBF9D1;
}

.syoin_howto dl {
	position: relative;
	margin-bottom: 38px;
}

.syoin_howto dl::before {
	content: "";
	position: absolute;
	right: 0;
	bottom: -24px;
	left: 0;
	width: 18px;
	height: 15px;
	margin: auto;
	background: url(../images/arrow_syoin.png) no-repeat;
}

.syoin_howto dt {
	margin-bottom: 18px;
}

.syoin_howto dt img {
	margin: auto;
}

.syoin_howto dd {
	padding-left: 14.2%;
}

.syoin_howto dd:not(:last-child) {
	margin-bottom: 12px;
}

.syoin_result {
	width: 86.7%;
	padding: 7px 0;
	margin: auto;
	background: #fff;
}

.syoin_result img {
	margin: auto;
}

a.syoin_link {
	display: flex;
	justify-content: center;
	align-items: center;
	position: relative;
	width: 280px;
	height: 55px;
	border: 4px solid #646DA3;
	margin: auto;
	font-size: 18px;
	font-weight: bold;
	color: #fff;
	text-align: center;
	background-color: #646DA3;
	transition: .3s;
}

a.syoin_link::before {
	content: "";
	position: absolute;
	top: 0;
	bottom: 0;
	right: 8px;
	width: 7px;
	height: 7px;
	border-top: 1px solid #fff;
	border-right: 1px solid #fff;
	margin: auto;
	transform: rotate(45deg);
	transition: .3s;
}

a.syoin_link::after {
	content: "";
	position: absolute;
	top: 0;
	bottom: 0;
	right: 15px;
	width: 7px;
	height: 7px;
	border-top: 1px solid #fff;
	border-right: 1px solid #fff;
	margin: auto;
	transform: rotate(45deg);
	transition: .3s;
}

a.syoin_link:hover {
	color: #646DA3;
	background-color: #fff;

}

a.syoin_link:hover::before {
	border-color: #646DA3;

}

a.syoin_link:hover::after {
	border-color: #646DA3;
}

.spa_ttl {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 387px;
	height: 72px;
	padding: 0 10px 10px 0;
	margin-bottom: 17px;
	margin-left: 20px;
	background: url(../images/bg_ttl_spa.png) no-repeat;
}

.spa_box {
	position: relative;
	padding: 15px 16px 24px 76px;
}

.shimane_spa {
	margin-bottom: 22px;
	background-color: rgba(252,138,124,.12);
}

.tottori_spa {
	margin-bottom: 33px;
	background-color: rgba(132,178,32,.12);
}

.spa_list li {
	display: flex;
	justify-content: space-between;
}

.spa_list li:not(:last-child) {
	margin-bottom: 38px;
}

.spa_summary {
	width: 58%;
}

.spa_area {
	position: absolute;
	top: -10px;
	left: -18px;
}

.spa_name {
	margin-bottom: 14px;
}

.spa_summary_txt {
	font-size: 14px;
	font-weight: bold;
}

.spa_img {
	width: 35%;
}

a.shimane_spa_link {
	display: flex;
	justify-content: center;
	align-items: center;
	position: relative;
	width: 280px;
	height: 55px;
	border: 4px solid #FC8A7C;
	margin-top: 20px;
	margin-left: 34px;
	font-size: 18px;
	font-weight: bold;
	color: #000;
	text-align: center;
	background-color: #fff;
	transition: .3s;
}

a.shimane_spa_link::before {
	content: "";
	position: absolute;
	top: 0;
	bottom: 0;
	right: 8px;
	width: 7px;
	height: 7px;
	border-top: 1px solid #000;
	border-right: 1px solid #000;
	margin: auto;
	transform: rotate(45deg);
	transition: .3s;
}

a.shimane_spa_link::after {
	content: "";
	position: absolute;
	top: 0;
	bottom: 0;
	right: 15px;
	width: 7px;
	height: 7px;
	border-top: 1px solid #000;
	border-right: 1px solid #000;
	margin: auto;
	transform: rotate(45deg);
	transition: .3s;
}

a.shimane_spa_link:hover {
	color: #fff;
	background-color: #FC8A7C;

}

a.shimane_spa_link:hover::before {
	border-color: #fff;

}

a.shimane_spa_link:hover::after {
	border-color: #fff;
}

a.tottori_spa_link {
	display: flex;
	justify-content: center;
	align-items: center;
	position: relative;
	width: 280px;
	height: 55px;
	border: 4px solid #84B220;
	margin-top: 20px;
	margin-left: 34px;
	font-size: 18px;
	font-weight: bold;
	color: #000;
	text-align: center;
	background-color: #fff;
	transition: .3s;
}

a.tottori_spa_link::before {
	content: "";
	position: absolute;
	top: 0;
	bottom: 0;
	right: 8px;
	width: 7px;
	height: 7px;
	border-top: 1px solid #000;
	border-right: 1px solid #000;
	margin: auto;
	transform: rotate(45deg);
	transition: .3s;
}

a.tottori_spa_link::after {
	content: "";
	position: absolute;
	top: 0;
	bottom: 0;
	right: 15px;
	width: 7px;
	height: 7px;
	border-top: 1px solid #000;
	border-right: 1px solid #000;
	margin: auto;
	transform: rotate(45deg);
	transition: .3s;
}

a.tottori_spa_link:hover {
	color: #fff;
	background-color: #84B220;

}

a.tottori_spa_link:hover::before {
	border-color: #fff;

}

a.tottori_spa_link:hover::after {
	border-color: #fff;
}


.spa_map {
	display: flex;
	align-items: flex-end;
}

.spa_map_img {
	margin-right: 54px;
}

a.other_spa_link {
	display: flex;
	justify-content: center;
	align-items: center;
	position: relative;
	width: 370px;
	height: 65px;
	border: 4px solid #35703D;
	font-size: 18px;
	font-weight: bold;
	color: #fff;
	text-align: center;
	background-color: #35703D;
	transition: .3s;
}

a.other_spa_link::before {
	content: "";
	position: absolute;
	top: 0;
	bottom: 0;
	right: 15px;
	width: 7px;
	height: 7px;
	border-top: 1px solid #fff;
	border-right: 1px solid #fff;
	margin: auto;
	transform: rotate(45deg);
	transition: .3s;
}

a.other_spa_link::after {
	content: "";
	position: absolute;
	top: 0;
	bottom: 0;
	right: 22px;
	width: 7px;
	height: 7px;
	border-top: 1px solid #fff;
	border-right: 1px solid #fff;
	margin: auto;
	transform: rotate(45deg);
	transition: .3s;
}

a.other_spa_link:hover {
	color: #35703D;
	background-color: #fff;
}

a.other_spa_link:hover::before {
	border-color: #35703D;
}

a.other_spa_link:hover::after {
	border-color: #35703D;
}


.ttl_shimane_info_wrap {
	position: relative;
	width: 305px;
	margin: auto;
}

.ttl_shimane_info {
	display: flex;
	justify-content: center;
	align-items: center;
	margin-bottom: 30px;
}

.shimane_info {
	/*margin-bottom: 16px;*/
}

.shimane_info_inner {
	padding: 40px 46px 65px;
	margin: 0 10px;
	border-top: 5px solid #FC8A7C;
	border-bottom: 5px solid #FC8A7C;
	background-color: #fff;
}

.info_crab {
	padding: 6px;
	margin-bottom: 45px;
	background: linear-gradient(90deg, rgba(196, 159, 8, 1) 0%, rgba(216, 186, 60, 1) 12.25%, rgba(233, 209, 104, 1) 24.25%, rgba(245, 225, 135, 1) 34.97%, rgba(252, 235, 154, 1) 44.01%, rgba(255, 239, 161, 1) 50.28%, rgba(253, 237, 157, 1) 58.12%, rgba(249, 230, 145, 1) 66.19%, rgba(241, 220, 124, 1) 74.37%, rgba(230, 205, 95, 1) 82.61%, rgba(215, 185, 58, 1) 90.91%, rgba(198, 162, 13, 1) 99.15%, rgba(196, 159, 8, 1) 100%);
}

.info_crab_ttl {
	position: relative;
	padding: 5px 0;
	background: url(../images/pc/bg_ttl_info_crab.jpg) no-repeat #fff;
	background-size: cover;
	background-position: center;
	overflow: hidden;
}

.info_crab_ttl .ttl_lets img {
	margin: auto;
	transition: .3s;
	transform: scale(1.5);
	opacity: 0;
}

.info_crab_ttl.active .ttl_lets img {
	transform: scale(1);
	opacity: 1;
}

.info_crab_ttl .renmei {
	position: absolute;
	top: 0;
	right: 0;
}

.info_crab_con {
	padding: 14px 45px 32px;
	background: #fff;
	background-image: linear-gradient(45deg, rgba(162,124,82,.1) 25%, transparent 0),
	linear-gradient(45deg, transparent 75%, rgba(162,124,82,.1) 0),
	linear-gradient(45deg, rgba(162,124,82,.1) 25%, transparent 0),
	linear-gradient(45deg, transparent 75%, rgba(162,124,82,.1) 0);
	background-size: 24px 24px;
	background-position: 0 0, 12px 12px,
		12px 12px, 24px 24px;
}

.matsuba {
	margin-bottom: 45px;
	text-align: center;
}

.matsuba dt {
	margin-bottom: 5px;
}

.matsuba dt img {
	margin: auto;
}

.matsuba dd {
	font-size: 16px;
	font-weight: bold;
}

.howto_crab {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding-right: 35px;
}

.howto_crab01 {
	margin-bottom: 28px;
}

.howto_crab02 {
	background-color: #fff;
	margin-bottom: 38px;
}

.howto_txt {
	width: 49%;
	padding: 18px 18px 32px;
	background-color: #fff;
}

.howto_crab02 .howto_txt {
	width: 55%;
	padding-bottom: 10px;
}

.howto_txt h4 {
	margin-bottom: 24px;
}

.howto_txt p {
	padding-left: 1em;
	font-size: 14px;
	font-weight: bold;
}

.howto_img {
	width: 41%;
}

.howto_txt dl {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	flex-wrap: wrap;
}

.howto_txt dt {
	width: 23%;
	border-radius: 5px;
	margin-bottom: 12px;
}

.howto_txt dd {
	width: 75%;
	font-size: 14px;
	font-weight: bold;
}

.howto_txt dd {
	margin-bottom: 12px;
}

a.kanko_shimane_link {
	display: flex;
	justify-content: center;
	align-items: center;
	position: relative;
	width: 370px;
	height: 65px;
	border: 4px solid #F75E52;
	margin: auto;
	font-size: 18px;
	font-weight: bold;
	color: #fff;
	text-align: center;
	background-color: #F75E52;
	transition: .3s;
}

a.kanko_shimane_link::before {
	content: "";
	position: absolute;
	top: 0;
	bottom: 0;
	right: 15px;
	width: 7px;
	height: 7px;
	border-top: 1px solid #fff;
	border-right: 1px solid #fff;
	margin: auto;
	transform: rotate(45deg);
	transition: .3s;
}

a.kanko_shimane_link::after {
	content: "";
	position: absolute;
	top: 0;
	bottom: 0;
	right: 22px;
	width: 7px;
	height: 7px;
	border-top: 1px solid #fff;
	border-right: 1px solid #fff;
	margin: auto;
	transform: rotate(45deg);
	transition: .3s;
}

a.kanko_shimane_link:hover {
	color: #F75E52;
	background-color: #fff;
}

a.kanko_shimane_link:hover::before {
	border-color: #F75E52;
}

a.kanko_shimane_link:hover::after {
	border-color: #F75E52;
}


.info_bihada_ttl {
	position: relative;
	overflow: hidden;
	background: url(../images/pc/bg_ttl_bihada.jpg) no-repeat;
	background-size: cover;
}

.info_bihada_ttl img {
	margin: auto;
	padding-left: 38px;
	transition: .6s;
	opacity: 0;
}

.info_bihada_ttl.active img {
	opacity: 1;
}

.info_bihada_ttl.active .reflection {
	display: block;
    height: 100%;
    width: 30px;
    position: absolute;
    top: -180px;
    left: 0;
    background-color: #fff;
    opacity: 0;
    transform: rotate(45deg);
    animation: reflection 1.2s ease-in-out;
}

@keyframes reflection {
    0% { transform: scale(0) rotate(45deg); opacity: 0; }
    60% { transform: scale(0) rotate(45deg); opacity: 0.5; }
    61% { transform: scale(4) rotate(45deg); opacity: 1; }
    100% { transform: scale(50) rotate(45deg); opacity: 0; }
}

.info_bihada {
	padding-bottom: 32px;
	margin-bottom: 60px;
	background-color: rgba(180,210,230,.17);
}

.info_bihada_con {
	display: flex;
	justify-content: space-between;
	position: relative;
	padding: 0 27px 0 40px;
	margin-bottom: 37px;
}

.ttl_why {
	position: absolute;
	top: -46px;
	left: 10px;
}

.bihada_reason {
	padding-top: 69px;
	width: 63%;
}

.bihada_reason li {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
}

.bihada_reason li:not(:last-child) {
	margin-bottom: 20px;
}

.bihada_reason li p {
	width: 13%;
}

.bihada_reason li dl {
	width: 84%;
}

.bihada_reason li dt {
	margin-bottom: 3px;
	font-size: 26px;
	font-weight: bold;
	color: #1D5275;
}

.bihada_reason li dd {
	font-size: 14px;
	font-weight: bold;
	line-height: 1.85;
}

.bihada_img {
	width: 33%;
	margin-top: 42px;
}

.bihada_img img:not(:last-child) {
	margin-bottom: 34px;
}

a.bihada_link {
	display: flex;
	justify-content: center;
	align-items: center;
	position: relative;
	width: 370px;
	height: 65px;
	border: 4px solid #1D5275;
	margin: auto;
	font-size: 18px;
	font-weight: bold;
	color: #fff;
	text-align: center;
	background-color: #1D5275;
	transition: .3s;
}

a.bihada_link::before {
	content: "";
	position: absolute;
	top: 0;
	bottom: 0;
	right: 15px;
	width: 7px;
	height: 7px;
	border-top: 1px solid #fff;
	border-right: 1px solid #fff;
	margin: auto;
	transform: rotate(45deg);
	transition: .3s;
}

a.bihada_link::after {
	content: "";
	position: absolute;
	top: 0;
	bottom: 0;
	right: 22px;
	width: 7px;
	height: 7px;
	border-top: 1px solid #fff;
	border-right: 1px solid #fff;
	margin: auto;
	transform: rotate(45deg);
	transition: .3s;
}

a.bihada_link:hover {
	color: #1D5275;
	background-color: #fff;
}

a.bihada_link:hover::before {
	border-color: #1D5275
}

a.bihada_link:hover::after {
	border-color: #1D5275
}

.castle_fes {
	padding: 51px 53px;
	margin-bottom: 65px;
	background: url(../images/pc/bg_castle_fes.jpg) repeat-y;
}

.castle_fes_inner {
	position: relative;
	padding: 38px 45px 38px 140px;
	background-color: #fff;
}

.fes_castle_img {
	position: absolute;
	top: -5px;
	left: -20px;
}

.castle_fes_inner h3 {
	margin-bottom: 20px;
}

.castle_fes_inner h3 img {
	margin: auto;
}

.fes_catch {
	margin-bottom: 30px;
	font-size: 16px;
	font-weight: bold;
	text-align: center;
	margin-left: 90px;
}
.tlt_gourmet{font-size: 150%;}

.fes_span {
	margin-bottom: 26px;
}

.fes_span img {
	margin: auto;
}

.fes_text {
	margin-bottom: 48px;
	font-size: 14px;
	font-weight: bold;
	line-height: 1.85;
	padding-left: 75px;
}

a.fes_link {
	display: flex;
	justify-content: center;
	align-items: center;
	position: relative;
	width: 370px;
	height: 65px;
	border: 4px solid #603813;
	margin: auto;
	font-size: 18px;
	font-weight: bold;
	color: #fff;
	text-align: center;
	background-color: #603813;
	transition: .5s;
	opacity: 0;
	transform: translateX(-48px) translateY(20px);
}

a.fes_link.active {
	opacity: 1;
	transform: translateX(-48px) translateY(0);
}


a.fes_link::before {
	content: "";
	position: absolute;
	top: 0;
	bottom: 0;
	right: 15px;
	width: 7px;
	height: 7px;
	border-top: 1px solid #fff;
	border-right: 1px solid #fff;
	margin: auto;
	transform: rotate(45deg);
	transition: .3s;
}

a.fes_link::after {
	content: "";
	position: absolute;
	top: 0;
	bottom: 0;
	right: 22px;
	width: 7px;
	height: 7px;
	border-top: 1px solid #fff;
	border-right: 1px solid #fff;
	margin: auto;
	transform: rotate(45deg);
	transition: .3s;
}

a.fes_link:hover {
	color: #603813;
	background-color: #fff;
}

a.fes_link:hover::before {
	border-color: #603813
}

a.fes_link:hover::after {
	border-color: #603813
}

.shimane_link {
	display: flex;
	justify-content: space-between;
	width: 86.4%;
	margin: auto;
}

.shimane_link a {
	transition: .3s;
}

.shimane_link a:hover {
	opacity: .7;
}

.flower {
	padding: 51px 53px 66px;
	border-radius: 10px;
	margin-bottom: 92px;
	background-size: auto auto;
	background-image: repeating-linear-gradient(-50deg, transparent, transparent 4px, rgba(255, 255, 255, .42) 4px, rgba(255, 255, 255, .42) 8px );
	background-color: #C1E0C2;
}

.flower_inner {
	position: relative;
	padding: 50px 35px 42px;
	background-color: #fff;
}

.flower_inner::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 213px;
	height: 263px;
	background: url(../images/illust_flower.png) no-repeat;
}

.flower_inner::after {
	content: "";
	position: absolute;
	left: 0;
	bottom: -35px;
	width: 100%;
	height: 71px;
	background: url(../images/img_circle.png) repeat-x;
	background-size: calc(100% / 14);
}

.flower_wrap_img {
	position: absolute;
	top: 15px;
	right: 15px;
	width: 173px;
	height: 171px;
	background: url(../images/img_flower.png) no-repeat;
}

.flower_inner h3 {
	margin-bottom: 12px;
}

.flower_inner h3 img {
	margin: auto;
}

.flower_catch {
	font-size: 16px;
	font-weight: bold;
	text-align: center;
	margin-bottom: 42px;
}

.flower_info {
	display: flex;
	align-items: flex-start;
	margin-bottom: 16px;
}

.flower_img {
	width: 203px;
	margin-right: 8px;
}

.flower_txt {
	width: calc(100% - 211px);
}

.flower_txt h4 {
	margin-bottom: 16px;
	font-size: 13px;
	font-weight: 500;
	color: #E9546B;
}

.flower_txt h4 .flower_name {
	display: inline-block;
	width: 10em;
	border-radius: 15px;
	margin-right: .5em;
	font-size: 14px;
	font-weight: bold;
	color: #fff;
	text-align: center;
	background-color: #E9546B;
}

.flower_txt p {
	padding-left: .5em;
	font-size: 14px;
	line-height: 1.5;
	font-weight: 500;
}

.flower_txt p.last_txt {
	padding-right: 70px;
}

.flower_txt p .strong {
	font-weight: bold;
}

.img_tulip {
	position: absolute;
	right: 14px;
	bottom: 0;
	z-index: 2;
}

a.flower_link {
	display: flex;
	justify-content: center;
	align-items: center;
	position: relative;
	width: 370px;
	height: 65px;
	border: 4px solid #E9546B;
	margin: 34px auto 0;
	font-size: 18px;
	font-weight: bold;
	color: #fff;
	text-align: center;
	background-color: #E9546B;
	transition: .3s;
}

a.flower_link::before {
	content: "";
	position: absolute;
	top: 0;
	bottom: 0;
	right: 15px;
	width: 7px;
	height: 7px;
	border-top: 1px solid #fff;
	border-right: 1px solid #fff;
	margin: auto;
	transform: rotate(45deg);
	transition: .3s;
}

a.flower_link::after {
	content: "";
	position: absolute;
	top: 0;
	bottom: 0;
	right: 22px;
	width: 7px;
	height: 7px;
	border-top: 1px solid #fff;
	border-right: 1px solid #fff;
	margin: auto;
	transform: rotate(45deg);
	transition: .3s;
}

a.flower_link:hover {
	color: #E9546B;
	background-color: #fff;
}

a.flower_link:hover::before {
	border-color: #E9546B;
}

a.flower_link:hover::after {
	border-color: #E9546B;
}

.tottori_info {
	margin-bottom: 67px;
}

.tottori_info_inner {
	padding: 40px 46px 65px;
	margin: 0 10px;
	border-top: 5px solid #84B220;
	border-bottom: 5px solid #84B220;
	background-color: #fff;
}

.ttl_tottori_info_wrap {
	text-align: center;
	margin-bottom: 20px;
}

.ttl_tottori_info {
	display: inline-block;
	position: relative;
}

.shrine {
	border: 5px solid #E70012;
	margin-bottom: 54px;
}

.shrine_ttl_wrap {
	padding: 10px 0 13px;
	background: url(../images/pc/bg_shrine.png) center no-repeat #E70012;
}

.shrine_ttl {
	padding-left: 50px;
	margin-bottom: 22px;
}

.shrine_catch {
	display: block;
}

.shrine_ttl img,
.shrine_catch img {
	margin: auto;
}

.shrine_summary {
	padding: 22px 0 22px;
	background-color: #fff;
}

.shrine_summary dl {
	margin-bottom: 24px;
}

.shrine_summary dt {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 184px;
	height: 37px;
	border: 4px solid #E70012;
	border-radius: 15px;
	margin: auto;
	font-size: 18px;
	font-weight: bold;
	color: #E70012;
	text-align: center;
}

.shrine_summary dd {
	position: relative;
}

.shrine_summary dd ul {
	padding-left: 90px;
}

.shrine_summary dd .shrine_img {
	position: absolute;
	top: 0;
	right: 30px;
}

.shrine_span {
	margin: 8px 0 30px;
}

.shrine_span img {
	margin: auto;
}

a.shrine_link {
	display: flex;
	justify-content: center;
	align-items: center;
	position: relative;
	width: 370px;
	height: 65px;
	border: 4px solid #E70012;
	margin: auto;
	font-size: 18px;
	font-weight: bold;
	color: #fff;
	text-align: center;
	background-color: #E70012;
	transition: .3s;
}

a.shrine_link::before {
	content: "";
	position: absolute;
	top: 0;
	bottom: 0;
	right: 15px;
	width: 7px;
	height: 7px;
	border-top: 1px solid #fff;
	border-right: 1px solid #fff;
	margin: auto;
	transform: rotate(45deg);
	transition: .3s;
}

a.shrine_link::after {
	content: "";
	position: absolute;
	top: 0;
	bottom: 0;
	right: 22px;
	width: 7px;
	height: 7px;
	border-top: 1px solid #fff;
	border-right: 1px solid #fff;
	margin: auto;
	transform: rotate(45deg);
	transition: .3s;
}

a.shrine_link:hover {
	color: #E70012;
	background-color: #fff;
}

a.shrine_link:hover::before {
	border-color: #E70012;
}

a.shrine_link:hover::after {
	border-color: #E70012;
}

.kaikai {
	padding-bottom: 40px;
	margin-bottom: 40px;
	background-color: #B7E2F9;
}

.kaikai_catch {
	font-size: 16px;
	font-weight: bold;
	text-align: center;
	color: #003581;
	margin-top: -1.2em;
	margin-bottom: 25px;
}

.kaikai_summary {
	margin-bottom: 34px;
}

.kaikai_summary img {
	margin: auto;
}

.kaikai_ticket {
	margin-bottom: 40px;
}

.kaikai_ticket img {
	margin: auto;
}

a.kaikai_link {
	display: flex;
	justify-content: center;
	align-items: center;
	position: relative;
	width: 370px;
	height: 65px;
	border: 4px solid #003581;
	margin: auto;
	font-size: 18px;
	font-weight: bold;
	color: #fff;
	text-align: center;
	background-color: #003581;
	transition: .3s;
}

a.kaikai_link::before {
	content: "";
	position: absolute;
	top: 0;
	bottom: 0;
	right: 15px;
	width: 7px;
	height: 7px;
	border-top: 1px solid #fff;
	border-right: 1px solid #fff;
	margin: auto;
	transform: rotate(45deg);
	transition: .3s;
}

a.kaikai_link::after {
	content: "";
	position: absolute;
	top: 0;
	bottom: 0;
	right: 22px;
	width: 7px;
	height: 7px;
	border-top: 1px solid #fff;
	border-right: 1px solid #fff;
	margin: auto;
	transform: rotate(45deg);
	transition: .3s;
}

a.kaikai_link:hover {
	color: #003581;
	background-color: #fff;
}

a.kaikai_link:hover::before {
	border-color: #003581;
}

a.kaikai_link:hover::after {
	border-color: #003581;
}

.hoshitori {
	padding: 66px 0 50px;
	margin-bottom: 90px;
	background: black url(../images/pc/bg_hoshitori.jpg) no-repeat ;
}


.hoshitori h3 {
	margin-bottom: 46px;
}

.hoshitori h3 img {
	margin: auto;
}

.hoshitori_catch {
	margin-bottom: 34px;
	font-size: 16px;
	font-weight: bold;
	color: #fff;
	text-align: center;
}

.hoshitori_event {
	width: 90%;
	margin: 0 auto 54px;
}

.hoshitori_event dt {
	transition: 1s;
	opacity: 0;
	transform: translateX(-40%);
}

.hoshitori_event dt img {
	margin: 0 auto -1px;
}

.hoshitori_event dt.active {
	opacity: 1;
	transform: translateX(0);
}

.hoshitori_event dd {
	padding: 10px 0;
	border: 2px solid #FFFF00;
	transform: skewX(-15deg);
}

.hoshitori_event dd p {
	padding-left: 15%;
	opacity: 0;
	transform: translateY(20px) skewX(15deg);
	font-size: 24px;
	font-weight: bold;
	color: #FFFF00;
	line-height: 1.4;
	transition: 1s;
}

.hoshitori_event dd p.active {
	opacity: 1;
	transform: translateY(0) skewX(15deg);
}

.hoshitori_catch small {
	font-size: 14px;
}

a.hoshitori_link {
	display: flex;
	justify-content: center;
	align-items: center;
	position: relative;
	width: 370px;
	height: 65px;
	border: 2px solid #fff;
	margin: auto;
	font-size: 18px;
	font-weight: bold;
	color: #fff;
	text-align: center;
	transition: .3s;
}

a.hoshitori_link::before {
	content: "";
	position: absolute;
	top: 0;
	bottom: 0;
	right: 15px;
	width: 7px;
	height: 7px;
	border-top: 1px solid #fff;
	border-right: 1px solid #fff;
	margin: auto;
	transform: rotate(45deg);
	transition: .3s;
}

a.hoshitori_link::after {
	content: "";
	position: absolute;
	top: 0;
	bottom: 0;
	right: 22px;
	width: 7px;
	height: 7px;
	border-top: 1px solid #fff;
	border-right: 1px solid #fff;
	margin: auto;
	transform: rotate(45deg);
	transition: .3s;
}

a.hoshitori_link:hover {
	color: #000;
	background-color: #fff;
}

a.hoshitori_link:hover::before {
	border-color: #000;
}

a.hoshitori_link:hover::after {
	border-color: #000;
}

.tottori_link {
	display: flex;
	justify-content: space-between;
	width: 86.4%;
	margin: auto;
}

.tottori_link a {
	transition: .3s;
}

.tottori_link a:hover {
	opacity: .7;
}

.caution_img {
	font-size: 14px;
	font-weight: bold;
	text-align: right;
}

.renmei_link{
	padding: 47px 0 58px;
}

.renmei_link_inner {
	display: flex;
	justify-content: space-between;
	width: 85%;
	margin: auto;
}

.renmei_link a {
	transition: .3s;
}

.renmei_link a:hover {
	opacity: .7;
}

.pagetop {
	display: none;
}

.pagetop a {
	position: fixed;
	bottom: 30px;
	right: 30px;
	width: 96px;
	height: 96px;
	border-radius: 50%;
	background-color: #1D5275;
	overflow: hidden;
}

.pagetop a img {
	display: block;
	margin: 8px auto 0;
}

.pagetop a::after {
	content: "";
	position: absolute;
	bottom: 13px;
	left: 0;
	right: 0;
	width: 77px;
	height: 22px;
	margin: auto;
	transition: .3s;
	transform: translateY(35px);
	background: url(../images/img_pagetop.png) no-repeat;
}

.pagetop a:hover::after {
	transform: translateY(0);
}


.passport {
	padding: 30px 0 78px;
	margin-bottom: 53px;
	background: url(../images/parts_passport_border.png) repeat-x;
	background-position: bottom 23px left;
	background-color:#7B378C;
}

.passport_ttl {
	margin-bottom: 15px;
}

.passport_ttl img {
	margin: auto;
}

.passport_span {
	padding-bottom: 24px;
	margin-bottom: 26px;
	background: url(../images/parts_passport_border.png) bottom repeat-x;
}

.passport_span img {
	margin: auto;
}

.passport_con_ttl {
	position: relative;
	padding-bottom: 19px;
	margin-bottom: 8px;
}

.passport_con_ttl:not(:first-child) {
	margin-top: 44px;
}

.passport_con_ttl img {
	margin: auto;
}

.svg_wrap {
	position: absolute;
	width: 615px;
	bottom: 0;
	left: 0;
	right: 0;
	margin: auto;
}

@media (-ms-high-contrast: none) {
	.svg_wrap {
		bottom: -58px;
	}
}

svg.rope path {
	stroke-dasharray: 700;  /*←破線の線分（パスの全長と同じ値にする）*/
	stroke-dashoffset: 700;  /*←破線の始まる位置をずらす（パスの全長と同じ値にする）*/
	transition: stroke-dashoffset 1.2s ease-out .5s;  /*←破線の始まる位置のみアニメーションにします*/
}

.svg_wrap.active svg.rope path{
stroke-dashoffset:0;  /*←破線の始まる位置を0にします*/
}

.cls-1{
	fill:none;stroke:#fff;
	stroke-linecap:round;
	stroke-linejoin:round;
	stroke-width:1.88px;
}
.cls-2{
	fill:#fff;
}

.passport_con_txt {
	display: block;
	margin-bottom: 10px;
}

.passport_con_txt img {
	margin: auto;
}

.passport_summary {
	display: flex;
	align-items: center;
	width: 52.3%;
	padding: 4px 8px;
	margin: 0 auto 10px;
	background-color: #fff;
}

.passport_summary dt {
	margin-right: 32px;
}

a.passport_link {
	display: flex;
	justify-content: center;
	align-items: center;
	position: relative;
	width: 370px;
	height: 65px;
	border: 4px solid #C1A942;
	margin: 40px auto 0;
	font-size: 18px;
	font-weight: bold;
	color: #fff;
	text-align: center;
	background-color: #C1A942;
	transition: .3s;
}

a.passport_link::before {
	content: "";
	position: absolute;
	top: 0;
	bottom: 0;
	right: 15px;
	width: 7px;
	height: 7px;
	border-top: 1px solid #fff;
	border-right: 1px solid #fff;
	margin: auto;
	transform: rotate(45deg);
	transition: .3s;
}

a.passport_link::after {
	content: "";
	position: absolute;
	top: 0;
	bottom: 0;
	right: 22px;
	width: 7px;
	height: 7px;
	border-top: 1px solid #fff;
	border-right: 1px solid #fff;
	margin: auto;
	transform: rotate(45deg);
	transition: .3s;
}

a.passport_link:hover {
	color: #C1A942;
	background-color: #fff;
}

a.passport_link:hover::before {
	border-color: #C1A942;
}

a.passport_link:hover::after {
	border-color: #C1A942;
}