/*┌──────────────────────────────────────
/*│  スタイルシート v1.0.0 (2025/10/28)
/*└─────────────────────────────────────*/

/*============================================================================*/
/*                              [ 基本設定関係 ]                              */
/*============================================================================*/

/*-- [ 文字コード ] ----------------------------------------------------------*/
@charset 'UTF-8';
div.Wrapper.No1 {
	background: linear-gradient(#d60000 2px, #fff 2px 100%);
}

div.Wrapper.No2 {
	position: relative;/* リキッドレイアウト親 */
	width: 1080px;
	min-width: 1080px;
	background-color : #FFF;

	/* フッター最下部用 */
	height: auto !important;
	height: 100%;
	min-height: 868px;
	margin:0 auto;
}

@media screen and (max-width: 812px){
	body {min-width: auto;}
	div.Wrapper.No1 {
		background: linear-gradient(#d60000 .53vw, #fff .53vw 100%);
	}
	div.Wrapper.No2 {
		width: auto;
		min-width: auto;
	}
}

/*-- [ ヘッダー ] ------------------------------------------------------------*/

header {
	width: 100%;
	min-width: 1080px;
	padding: 0 10px;
	margin:0 auto;
	height: 70px;
	background: linear-gradient(#d60000 2px, #fff 2px 100%);
}
@media screen and (max-width: 767px){
	header {
		height: 15.96vw;
		width: 100%;
		min-width: 100%;
		background: linear-gradient(#d60000 .53vw, #fff .53vw 100%);
	}
}
/* ロゴ */
header>a:nth-of-type(1) {
	display: inline-block;
	width: auto;
	float : left; 
	line-height: 62px;
	font-size: 14px; font-size: 1.4rem;
}
header>a:nth-of-type(1)>img {
	margin:13px 10px 4px 0;
	vertical-align: -15px;
	width: 261px;
	height: 36px;
}
@media screen and (max-width: 767px){
	header>a:nth-of-type(1) {
		line-height: 13.30vw;
		font-size: 3.72vw;
	}
	header>a:nth-of-type(1)>img {
		margin:3.46vw 2.66vw .8vw 1.33vw;
		vertical-align: -3.99vw;
		width: 69.6vw;
		height: 10.66vw;
	}
}

/* ビジター */
header>nav#Visiter {
	width: -webkit-calc(100% - 300px);
	width:         calc(100% - 300px);
	float : right;
}
header>nav#Visiter>ul {
	margin: 0 0 37px 0;
	float : right; 
}
header>nav#Visiter>ul::after {
	content: ".";
	display: block;
	clear: both;
	height: 0;
	visibility: hidden;
}
header>nav#Visiter>ul>li {
	float : left; 
	margin-left:4px;
	letter-spacing: 0.1em;
	font-size: 12px; font-size: 1.2rem;
	font-weight: 400;
}
header>nav#Visiter>ul>li>a {

	padding: 0.3em 2em;
	display: block;
	        border-radius: 0 0 5px 5px;
	-webkit-border-radius: 0 0 5px 5px;
	   -moz-border-radius: 0 0 5px 5px;
	background: linear-gradient(#d60000 2px, #eee 2px 100%);
}
header>nav#Visiter>ul>li:nth-of-type(2)>a {
	background: linear-gradient(#d60000 0 100%);
	color: #fff;
}
@media screen and (max-width: 767px){

	header>nav#Visiter {display:none;}
	header>nav#Visiter>ul>li {display:none;}

}

/*------------------------------------*/
#Contents {
	margin     : 0 auto;
	width      : 100%;
	text-align : center;
	background : url( '../images/cnn_top_bg.gif' ) top left repeat-x;
}

header {font-size: 16px; font-size: 1.6rem;}

main {
	display: block;/* IEにmainタグがないので指定 */
	margin     : 0 auto;
	min-height : 780px;           /* min-height */
	height     : auto !important; /* IE6  */
	height     : 780px;           /* hack */
	/*width      : 1080px;*/
	text-align: left;
	background : url( '../images/cnn_bg.gif' ) top left repeat-y;
	padding-bottom:30px;
	padding-top: 20px;
	font-size: 16px; font-size: 1.6rem;
}

article {
	padding: 0 20px 0 20px;
	position: relative;
	overflow: auto;
}

article>h1 {
	width: auto;
	border: 2px solid #000;
	line-height: 45px;
	text-align: center;
	padding: 0;
	margin:30px 80px 30px 80px;
}

article>p {
	margin: 0 auto;
	width:90%;
	line-height : 150%;
	text-align: left;
}

article>div>img {
	vertical-align:middle;
	margin-right:3px;
}


@media screen and (max-width: 812px){
	article {padding: 0 0 0 0;}
	article>h1 {
		margin:5px 5px 10px 5px;
	}
	main {
		width: 100%;
		font-size: 4.25vw;
	}
}

/*-- [ フッター ] ------------------------------------------------------------*/
footer {
	/*position: fixed;*/
	position: absolute;
	bottom: 0;
	margin     : 0 auto;
	height     : 34px;
	line-height: 34px;
	width      : 100%;
	min-width  : 1080px;
	text-align : center; /* IE 中央揃え */
	background : url( 'images/bg_footer.png' ) bottom left repeat-x;
}

footer>p {
	margin     : 0 auto; /* FX 中央揃え */
	width      : 1080px;
	text-align : center;
	font-size: 10px; font-size: 1.0rem;
}

footer>p::before {
    content: url('data:image/svg+xml;utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 640 640" width="10px"><path fill="%23D60000" d="M305 151.1L320 171.8L335 151.1C360 116.5 400.2 96 442.9 96C516.4 96 576 155.6 576 229.1L576 231.7C576 343.9 436.1 474.2 363.1 529.9C350.7 539.3 335.5 544 320 544C304.5 544 289.2 539.4 276.9 529.9C203.9 474.2 64 343.9 64 231.7L64 229.1C64 155.6 123.6 96 197.1 96C239.8 96 280 116.5 305 151.1z"/></svg>');
    margin-right: 0.5rem;
}

@media screen and (max-width: 812px){
	footer {
		min-width  : auto;
	}
	footer>p {
		width:100%;
		font-size: 6px; font-size: 0.6rem;
	}
}

/*-- [ 色 ] ------------------------------------------------------------------*/

/* 文字色 */
.Oudoiro {color:#cfb872;}
.Pink    {color:#df64a5;}
.Red     {color:#d54044;}
.Blue    {color:#2b8fc6;}
.Orange  {color:#f1950a;}
.Green   {color:#2daab5;}

/* 背景色 */
.BgOudoiro {background-color:#cfb872;}
.BgPink    {background-color:#df64a5;}
.BgRed     {background-color:#d54044;}
.BgBlue    {background-color:#2b8fc6;}
.BgOrange  {background-color:#f1950a;}
.BgGreen   {background-color:#4bae7f;}
.BgBGreen  {background-color:#2daab5;}
.BgBGrey   {background-color:#708F8F;}

/*----------------------------------------------------------------------------*/
article>table {
	border-collapse : collapse;
	border : solid 1px;
	margin-bottom : 40px;
	width: 100%;
}
article>table th, article>table td {
	font-weight: normal;
	border  : 1px solid #333333;
	padding : 5px;
}

article>table>thead th {
	background-color : #FFFFA4;
}
article>table>tbody th {
	background-color : #D8FFB0;
	width: 400px;
}

@media screen and (max-width: 812px){
	article>table{border : none;}
	article>table>thead {
		display: none;
	}
	article>table>tbody th, 
	article>table>tbody td {
		display: block;
		width: 100%;
		border-top : none;

	}
	article>table>tbody>tr:nth-of-type(1)>th {
		border-top : 1px solid #333333;
	}
}

/* ---------------------------------- */
/* ビジター */
header>nav#Visiter {
	width: -webkit-calc(100% - 300px);
	width:         calc(100% - 300px);
	float : right;
}
header>nav#Visiter>ul {
	margin: 0 0 37px 0;
	float : right; 
}
header>nav#Visiter>ul::after {
	content: ".";
	display: block;
	clear: both;
	height: 0;
	visibility: hidden;
}
header>nav#Visiter>ul>li {
	float : left; 
	margin-left:4px;
	letter-spacing: 0.1em;
	font-size: 12px; font-size: 1.2rem;
	font-weight: 400;
}
header>nav#Visiter>ul>li>a {

	padding: 0.3em 2em;
	display: block;
	        border-radius: 0 0 5px 5px;
	-webkit-border-radius: 0 0 5px 5px;
	   -moz-border-radius: 0 0 5px 5px;
	background: linear-gradient(#d60000 2px, #eee 2px 100%);
}
header>nav#Visiter>ul>li:nth-of-type(2)>a {
	background: linear-gradient(#d60000 0 100%);
	color: #fff;
}
@media screen and (max-width: 767px){

	header>nav#Visiter {display:none;}
	header>nav#Visiter>ul>li {display:none;}

}

/*============================================================================*/
/*                             [ ページ内容関係 ]                             */
/*============================================================================*/
* {
    padding: 0;
    margin: 0;
    word-break: break-all;
}
*, *:before, *:after {
	-webkit-box-sizing: border-box;
	   -moz-box-sizing: border-box;
	     -o-box-sizing: border-box;
	    -ms-box-sizing: border-box;
	        box-sizing: border-box;
}
main>article {
    font-family: "Noto Sans JP";
    line-height: 200%;
}
main>article ul>li {
    list-style: none;
    margin-left: 2em;
    position: relative;
}
main>article ul>li::before {
    content: "・";
    color: #000000;
    position: absolute;
    left: -1em;
    text-shadow:
         2px -2px 0 #ffd93d,
         2px  0px 0 #ffd93d,
         2px  2px 0 #ffd93d,
         0px  2px 0 #ffd93d,
        -2px  2px 0 #ffd93d,
        -2px  0px 0 #ffd93d,
        -2px -2px 0 #ffd93d,
         0px -2px 0 #ffd93d
    ;
}

main>article p {
    font-size: 18px;
    margin-bottom: 0;
}
main>article a {
    font-size: 20px;
}
main>article li {
    font-size: 20px;
}
main>article h1 {
    font-size: 70px;
}
main>article h2 {
    font-size: 40px;
}
main>article h3 {
    font-size: 30px;
}
main>article h4 {
    font-size: 20px;
}
main>article h5 {
    font-size: 20px;
}

main>article>div {
    background-color: #f6f1e9;
}
main>article>div>div:not(.MV, .Contact) {
    border-bottom: 3px double #ffd93d;
    margin-bottom: 1em;
    margin: 0 .5em;
}

a.ButtonToAnotherPage {
    background-color: #ff9a00;
    border-radius: 15px;
    padding: .5em 1em;
    text-align: center;
    color: white;
    text-shadow:
         2px -2px 0 #854032,
         2px  0px 0 #854032,
         2px  2px 0 #854032,
         0px  2px 0 #854032,
        -2px  2px 0 #854032,
        -2px  0px 0 #854032,
        -2px -2px 0 #854032,
         0px -2px 0 #854032
    ;
    text-decoration: none;
    display: inline-block;
}
a.ButtonToAnotherPage>span {
    font-size: 36px;
}

.OtaruEventInfo>div>h3,
.OtaruStrollBus>div:first-child>h2,
.OtaruCityBus>div:first-child>h2 {
    color: #000000;
    text-shadow:
         2px -2px 0 #ffd93d,
         2px  0px 0 #ffd93d,
         2px  2px 0 #ffd93d,
         0px  2px 0 #ffd93d,
        -2px  2px 0 #ffd93d,
        -2px  0px 0 #ffd93d,
        -2px -2px 0 #ffd93d,
         0px -2px 0 #ffd93d
    ;
    padding: .5rem 1.5rem;
    line-height: 1.1;
    border-bottom: 3px solid #ffd93d;
    position: relative;
}
.OtaruEventInfo>div:first-child>h3:before,
.OtaruStrollBus>div:first-child>h2::before,
.OtaruCityBus>div:first-child>h2::before {
    content: "";
    display: inline-block;
    position: absolute;
    background-color: #ffd93d;
    height: 70%;
    width: .3em;
    left: 0.1em;
    top: 50%;
    transform: translate(-50%, -50%);
    border-radius: 15px;
}

.MV {
    background-color: #fff7d0;
    padding: 0 1em;
    background-image: url(images/pic_MV.jpg);
    background-position: center center;
    background-repeat: no-repeat;
    background-size: cover;

}
.MV>div>h1 {
    display: inline-block;
    color: #ffd93d;
    text-shadow:
         2px -2px 0 white,
         2px  0px 0 white,
         2px  2px 0 white,
         0px  2px 0 white,
        -2px  2px 0 white,
        -2px  0px 0 white,
        -2px -2px 0 white,
         0px -2px 0 white
    ;
    text-align: center;
    margin: .5em;
    letter-spacing: .3em;
    margin-bottom: .5em;
}
.MV>div:first-child>p {
    display: inline-block;
    font-size: 32px;
    text-shadow:
         2px -2px 0 #854032,
         2px  0px 0 #854032,
         2px  2px 0 #854032,
         0px  2px 0 #854032,
        -2px  2px 0 #854032,
        -2px  0px 0 #854032,
        -2px -2px 0 #854032,
         0px -2px 0 #854032
    ;
    color: #ffffff;
}
.MV>div:nth-child(2) {
    display: inline-block;
    padding: .3em;
    border: 2px solid #854032;
    background-color: #ffd93d;
    margin: .5em;
    border-radius: 5px;
    color: #000000;
}

.OtaruEventInfo>div:last-child {
    min-height: 300px;
    background-image:
        linear-gradient(rgba(246, 241, 233, 0.4),rgba(246, 241, 233, 0.4)),
        url(images/photo_events.png);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: right;
}

.OtaruStrollBus>div:first-child>p {
    margin-left: 1.5em;
}
.OtaruStrollBus>div:first-child>h2>span {
    font-size: 20px;
    text-shadow: none;
    padding-left: .5em;
}
.OtaruStrollBus>div:first-child>h2>span:last-child {
    color: #ff0000;
    font-weight: normal;
}
.OtaruStrollBus>div:nth-child(2) {
    display: flex;
    width: 100%;
    background-image: url(images/pic_otaru_stroll_bus.png);
    background-position: right;
    background-repeat: no-repeat;
}
.OtaruStrollBus>div:nth-child(2)>ul {
    width: 60%;
}
.OtaruStrollBus>div:nth-child(2)>ul>li {
    margin-top: 1em;
    margin-bottom: 1em;
}
.OtaruStrollBus>div:nth-child(2)>ul>li>span {
    color: #ff0000;
}
.OtaruStrollBus>div:nth-child(2)>ul>li>div {
    display: flex;
    gap: 1em;
}
.OtaruStrollBus>div:last-child {
    margin-left: 1em;
}
.OtaruStrollBus>div:last-child {
    border: 1px solid #ffd93d;
    border-radius: 15px;
    margin: 1em;
    padding: .5em;
    line-height: 1.6;
    background-color: #ffd93d;
}
.OtaruStrollBus>div:last-child>a {
    font-size: 16px;
}

.OtaruCityBus ul>li {
    display: inline-block;
    margin-left: 1em;
}
.OtaruCityBus>div:first-child>h2>span {
    text-shadow: none;
}
.OtaruCityBus>div:first-child>h2>span:first-child {
    display: none;
}
.OtaruCityBus>div:last-child {
    margin-left: 1em;
    background-image: url(images/pic_otaru_city_bus.png);
    background-position: right;
    background-repeat: no-repeat;
    min-height: 200px;
    background-size: 35%;
}
.OtaruCityBus>div:last-child>ul {
    margin: 1em 0;
}
.OtaruCityBus>div:last-child>ul>li>span {
    color: #ff0000;
}
.OtaruCityBus>div:last-child>ul>li>div {
    margin: .5em 0;
}

.ExternalLinks>div:first-child {
    display: flex;
    justify-content: space-around;
}
.ExternalLinks>div:first-child h4 {
    font-size: 28px;
}
.ExternalLinks>div:first-child a {
    text-decoration: none;
    color: #000000;
    display: block;
    padding: .5em;
}
.ExternalLinks>div:first-child span {
    color: #ff0000;
}
.ExternalLinks>div:first-child>div {
    width: 32%;
    margin: 1em 0;
}
.ExternalLinks>div:first-child>div>a {
    height: 100%;
    text-shadow: 
         2px  -2px 0 #ffffff,
         2px   0px 0 #ffffff,
         2px   2px 0 #ffffff,
         0px   2px 0 #ffffff,
        -2px   2px 0 #ffffff,
        -2px   0px 0 #ffffff,
        -2px  -2px 0 #ffffff,
         0px  -2px 0 #ffffff
    ;
}
.ExternalLinks>div:first-child>div:nth-child(1) {
    background-image: url(images/photo_tenguyama.jpg);
    border-radius: 5px;
    filter: contrast(90%);
}
.ExternalLinks>div:first-child>div:nth-child(1)>a {
    text-shadow: 
         2px  -2px 0 #ffffff,
         2px   0px 0 #ffffff,
         2px   2px 0 #ffffff,
         0px   2px 0 #ffffff,
        -2px   2px 0 #ffffff,
        -2px   0px 0 #ffffff,
        -2px  -2px 0 #ffffff,
         0px  -2px 0 #ffffff
    ;
}
.ExternalLinks>div:first-child>div:nth-child(1)>a>p {
    background-color: rgba( 0, 0, 0, 0.3);
    border-radius: 5px;
    padding-left: .5em;
}
.ExternalLinks>div:first-child>div:nth-child(1)>a>h4>span {
    font-size: 20px;
    color: #000000;
}
.ExternalLinks>div:first-child>div:nth-child(2) {
    padding: .5em;
    border-radius: 5px;
    background-image: url(images/photo_otoku.jpg);
}
.ExternalLinks>div:first-child>div:nth-child(2)>h4 {
    text-align: center;
    margin: .5em 0;
    color: #000000;
}
.ExternalLinks>div:first-child>div:nth-child(2)>p {
    font-size: 16px;
    margin: .5em 0;
    text-align: center;
    color: #ffffff;
    text-shadow: 
         2px  -2px 0 #000000,
         2px   0px 0 #000000,
         2px   2px 0 #000000,
         0px   2px 0 #000000,
        -2px   2px 0 #000000,
        -2px   0px 0 #000000,
        -2px  -2px 0 #000000,
         0px  -2px 0 #000000
    ;
}
.ExternalLinks>div:first-child>div:nth-child(2)>div {
    margin: .5em 0;
}
.ExternalLinks>div:first-child>div:nth-child(2)>div>a {
    border: 1px solid #000000;
    border-radius: 5px;
    background-color: rgba( 255, 255, 255, 0.7) ;
}
.ExternalLinks>div:first-child>div>a,
.ExternalLinks>div:first-child>div:nth-child(2)>div {
    display: flex;
    flex-direction: column;
    gap: 1em;
    justify-content: space-between;
}
.ExternalLinks>div:first-child>div:nth-child(3) {
    background: 
        linear-gradient(rgba( 255, 255, 255, 0.3), rgba( 255, 255, 255, 0.3)),
        url(images/photo_kousoku_otarugo.jpg)
    ;
    border-radius: 5px;
}
.ExternalLinks>div:first-child>div:nth-child(3)>a>div {
    line-height: 1.6;
    text-align: center;
}
.ExternalLinks>div:first-child>div:nth-child(3)>a>div>h4 {
    font-size: 26px;
    margin: 1em 0;
}
.ExternalLinks>div:first-child>div:nth-child(3)>a>div>h2 {
    font-size: 46px;
    margin: .5em 0;
}
.ExternalLinks>div:first-child>div:nth-child(3)>a>div>h3 {
    font-size: 40px;
    margin: .5em 0;
}
.ExternalLinks>div:first-child>div:nth-child(3)>a>p {
    text-align: center;
}
.ExternalLinks>div:last-child {
    display: flex;
    justify-content: space-around;
    margin: 1em 0;
}
.ExternalLinks>div:last-child h5 {
    color: #ff0000;
    text-align: center;
}
.ExternalLinks>div:last-child>div>a {
    padding: .5em;
    text-decoration: none;
}
.ExternalLinks>div:last-child>div>ul>li>a {
    text-decoration: none;
}

.Contact {
    width: 100%;
    padding: 1em;
    background-color: #ffd93d;
    font-size: 20px;
}

@media screen and (max-width: 812px) {
    body {
        width: auto;
    }
    main>article {
        width: 90%;
        margin: 0 auto;
    }
    main>article h1 {
        font-size: 12vw;
    }
	main>article h2 {
        font-size: 6.38vw;
        line-height: 1.4;
        height: auto;
		margin: 10px;
    }
	main>article h3 {
        font-size: 5.32vw;
    }
	main>article h4 {
		font-size: 5vw;
	}
	main>article p {
        font-size: 4.25vw;
        line-height: 1.4;
    }
	main>article ul>li {
		font-size: 4.25vw;
		line-height: 1.4;
	}
    main>article a {
        font-size: 4.25vw;
    }
    a.ButtonToAnotherPage>span {
        font-size: 5.32vw;
    }

    .MV {
        background-image: url(images/pic_MV_sp.jpg);
        background-size: cover;
    }
    .MV>div>h1 {
        margin: 0;
        margin-bottom: 0;
        width: 100%;
    }
    .MV>div:first-child>p {
        font-size: 5.32vw;
        margin-top: .5em;
    }
    .MV>div:last-child {
        padding: .2em;
        margin: 0.5em;
    }
    .MV>div:last-child>p {
        word-break: keep-all;
        font-size: 4vw;
    }

    .OtaruEventInfo>div:last-child {
        min-height: 15vh;
        background-image:
            linear-gradient( rgba(246, 241, 233, 0.4),rgba(246, 241, 233, 0.4)),
            url(images/photo_events_sp.png);
        background-size: contain;
        background-repeat: no-repeat;
        background-position: right;
    }

    .OtaruStrollBus>div:first-child>h2>span {
        font-size: 4.25vw;
        display: inline-block;
        padding-left: 0;
    }
    .OtaruStrollBus>div:first-child>h2>span:last-child {
        font-size: 3.25vw;
    }
    .OtaruStrollBus>div:nth-child(2) {
        background-image: none;
    }
    .OtaruStrollBus>div:nth-child(2)>ul {
        width: 100%;
        background-image: url(images/pic_otaru_stroll_bus_sp.png);
        background-size: auto 18%;
        background-repeat: no-repeat;
        background-position: bottom right;
    }
    .OtaruStrollBus>div:nth-child(2)>ul>li>div {
        flex-direction: column;
        align-items: center;
        margin: .5em 0;
    }
    
    .OtaruCityBus>div:first-child>h2 {
        font-size: 6vw;
    }
    .OtaruCityBus>div:first-child>h2>span:first-child {
        display: unset;
    }
    .OtaruCityBus>div:last-child {
        background-image: none;
        min-height: unset;
    }
    .OtaruCityBus>div:last-child>ul>li>div {
        text-align: center;
    }
    

    .ExternalLinks>div:first-child {
        flex-direction: column;
    }
    .ExternalLinks>div:first-child>div {
        width: 100%;
        margin: .5em 0;
        min-height: 362px;
        background-repeat: no-repeat;
        background-size: cover;
    }
    .ExternalLinks>div:first-child>div>a {
        display: flex;
        flex: 1;
        justify-content: space-around;
    }
    .ExternalLinks>div:first-child h4 {
        font-size: 5.6vw;
    }
    .ExternalLinks>div:first-child>div:nth-child(1) {
        background-image: url(images/photo_tenguyama_sp.jpg);
        display: flex;
        flex-direction: column;
    }
    .ExternalLinks>div:first-child>div:nth-child(1)>a>h4>span {
        font-size: 4.25vw;
    }
    .ExternalLinks>div:first-child>div>a,
    .ExternalLinks>div:first-child>div:nth-child(2)>div {
        gap: .5em;
    }
    .ExternalLinks>div:first-child>div:nth-child(2) {
        background-image: url(images/photo_otoku_sp.jpg);
    }
    .ExternalLinks>div:first-child>div:nth-child(3) {
        background: 
            linear-gradient(rgba( 255, 255, 255, 0.3), rgba( 255, 255, 255, 0.3)),
            url(images/photo_kousoku_otarugo_sp.jpg)
        ;
        background-size: cover;
        display: flex;
        flex-direction: column;
    }
    .ExternalLinks>div:first-child>div:nth-child(3)>a>h4 {
        line-height: 1.2;
    }
    .ExternalLinks>div:first-child>div:nth-child(3)>a>h4>span {
        font-size: 6.5vw;
    }
    .ExternalLinks>div:last-child {
        flex-direction: column;
        gap: 1em;
    }

    .Contact {
        font-size: 4.25vw;
    }
    .Contact>a {
        display: block;
    }
}