/*
Theme Name: 徳山下松港開港100周年記念事業
Theme URI:
Author: 徳山下松港開港100周年記念事業実行委員会
Author URI: https://tokuyama-kudamatsu-port100th.com/
Description: 徳山下松港開港100周年記念事業
Version: 1.1.1
*/

@charset "utf-8";


/*** common ***/

html, body, main, aside, article, section, nav, header, footer, div, p, dl, dt, dd {
	margin: 0;
	padding: 0;
}

body {
	width: 100%;
	font-size: 1.125rem;
	color: #111;
	overflow-x: hidden;
	background-color: #FFFDF3;
	font-family: 'Noto Sans JP', sans-serif;
}

header, main, footer {
	display: block;
}

main {
	overflow: hidden;
	/* margin-bottom: 80px; */
}

h1, h2, h3, h4, h5, h6 {
	font-size: 100%;
	font-weight: normal;
	margin: 0;
	padding: 0;
}

/*h1, h2 { display:none; }*/

h1 {
	font-size: 1.5rem;
	font-weight: bold;
	padding: .5em 1em;
	color: #fff;
	background-color: #2069D6;
	margin-bottom: 30px;
	word-break: break-all;
	white-space: break-spaces;
}

h2 {
	font-size: 1.5rem;
	font-weight: bold;
	padding: .3em 1em;
	background: #2069D6;
	color: #fff;
	border-radius: 30px 30px 0 0;
	margin-bottom: 20px;
}

h2 span {
	display: inline-block;
	font-size: 1.25rem;
	float: right;
	line-height: 2.4;
}

h3 {
	font-size: 1.25rem;
	font-weight: bold;
	border-bottom: #2069D6 double 6px;
	margin-bottom: 10px;
	padding-left: 2.5em;
	background: url(image/hirame.png) no-repeat left center / 40px;
}

h4 {
	font-size: 1.25rem;
	font-weight: bold;
	border-bottom: #2069D6 solid 2px;
	margin-bottom: 10px;
}


h5, h6 {
	margin-bottom: 10px;
	padding: 0 .5em;
	position: relative;
}
h5::before, h6::before {
	position: absolute;
	content: "";
	display: inline-block;
	width: .2em;
	height: 1.2em;
	background-color: #2069D6;
	top: .1em;
	left: 0;
}


h1 img, h2 img, h3 img, h4 img, h5 img, h6 img {
	max-width: 100%;
}

ul, ol {
	margin-top: 0;
	margin-bottom: 0;
	list-style: none;
	padding: 0;
}

img {
	margin: 0;
	padding: 0;
}

time {
	display: inline-block;
}

address {
	font-style: normal;
}

button, html [type="button"], [type="reset"], [type="submit"] {
	display: inherit;
	-webkit-appearance: button;
	cursor: pointer;
	border-style: none;
	color: inherit;
	margin: 0 auto;
}

textarea {
	resize: vertical;
}


* {
	box-sizing: border-box;
}

/*** base & conainter ***/

.container {
	margin: 0 auto;
	padding: 0;
	overflow: hidden;
}

.container_visible {
	overflow: visible;
}

/*.container, .slider_container { margin:0 auto; padding:0; overflow:hidden; }*/

.container::after {
	content: '';
	display: block;
	clear: both;
}


/*.gnav_container { margin:0 auto; padding:0; position:relative; }*/

/*.bg_white { background-color:#fff; }*/

header {
	background-color: #fff;
}

nav#main_nav {
	height: 40px;
	overflow: hidden;
}




main {
	padding-top: 95px;

}


footer {
	margin-top: 80px;
	background: #2069D6 url(image/wave_color.png) repeat-x top / 85px ;
	color: #fff;
}

a {
	color: #111;
	text-decoration: none;
}
a:hover {
	text-decoration: none;
}

main a {
	color: #111;
}


.container {
	max-width: 1100px;
	margin: 0 auto;
	padding: 0 10px;
}

.pc {
	display: block;
}
.sp {
	display: none;
}

.cf::after {
	content: "";
	display: block;
	clear: both;
}


@media screen and (max-width:1080px) {
	main {
		padding-top: 60px;
	}

	.pc {
		display: none;
	}
	.sp {
		display: block;
	}

}

@media screen and (max-width:350px) {
	h2 {
		text-align: center;
	}

	h2 span {
		float: none;
		display: block;
	}
}

/* .visually_hidden {
	position: absolute;
	clip: rect(1px, 1px, 1px, 1px);
	-webkit-clip-path: inset(0px 0px 99.9% 99.9%);
	clip-path: inset(0px 0px 99.9% 99.9%);
	overflow: hidden;
	height: 1px;
	width: 1px;
	padding: 0;
	border: 0;
} */



/** body **/

#slide_nav {
	background-color: #fff;
	position: fixed;
	top: 0;
	width: 100%;
	/* max-height: 0; */
	z-index: 900;
	transition-duration: .2s;
	overflow: hidden;
}

#slide_nav.slide_nav_visible {
	max-height: 60px;
}

#slide_nav ul {
	display: flex;
	justify-content: space-between;
	align-items: center;
}

#slide_nav ul li > img {
	display: block;
	width: 100%;
	max-width: 85px;
	padding: 5px;
}

#slide_nav ul li button {
	padding: 0;
	background-color: rgba(255, 255, 255, 0);
	border: none;
}
#slide_nav ul li button img {
	vertical-align: bottom;
	width: 100%;
	max-width: 60px;
	padding: 10px;
}


#slide_nav.active {
	transform: translate3d(-300px, 0, 0);
}

#drawer_menu_innner.active {
	transform: translate3d(-300px, 0, 0);
}


@media screen and (max-width: 1080px) {
	#slide_nav.lower_page {
		max-height: 60px;
	}
}



/** drawer_menu **/

#drawer_menu_inner {
	background: #FFFDF3;
	border-left: #2069D6 solid 2px;
	width: 300px;
	position: fixed;
	top: 0;
	/* right: 0; */
	right: -300px;
	overflow-x: hidden;
	overflow-y: auto;
	height: 100%;
	z-index: 2100;
}

#drawer_menu_inner > img {
	width: 110px;
	padding: 10px;
}

#drawer_menu_inner ul {
	margin: 20px 10px;
}

#drawer_menu_inner ul li {
	padding: 10px 0 10px 50px;
	background: url(image/hirame.png) no-repeat center left;
	background-size: 30px auto;
}

#drawer_menu_inner ul li a {
	display: block;
}
#drawer_menu_inner ul li a:hover {
	font-weight: bold;
	color: #2069D6;
}

#contents, #drawer_menu_inner {
	transition-duration: 0.2s;
}

#contents.active, #drawer_menu_inner.active {
	transform: translate3d(-300px, 0, 0);
}

#drawer_menu_inner .drawer_minatolink {
	background: url(image/minato_logo.png) no-repeat center bottom / 150px, #fff;
	max-width: 260px;
	margin: 0 auto;
	border: solid 2px #2069D6;
}
#drawer_menu_inner .drawer_minatolink:hover {
	background: url(image/minato_logo.png) no-repeat center bottom / 150px, #2069D6;
}

#drawer_menu_inner .drawer_minatolink a {
	opacity: 0;
	display: block;
	padding: 15px 0;
}




/** header **/

nav#header_nav {
	position: fixed;
	width: 100%;
	background: rgba(255, 255, 255, 1);
	z-index: 900;
	font-size: 1rem;
}

nav#header_nav .header_logo {
	height: 100%;
	width: 100%;
	max-height: 80px;
	vertical-align: bottom;
}

nav#header_nav ul {
	display: flex;
	/* flex-wrap: wrap; */
	align-items: center;
	justify-content: space-between;
	border-bottom: solid 2px #2069D6;
}

nav#header_nav ul li a {
	display: block;
	padding: 35px 7px;
}
nav#header_nav ul li a:hover {
	color: #2069D6;
	font-weight: bold;
}

nav#header_nav ul li:last-child {
	background: #D43E21;
}
nav#header_nav ul li:last-child a {
	color: #fff;
}

nav#header_nav ul li:first-child {
	margin: 0 0 0 10px;
}
nav#header_nav ul li:first-child a {
	padding: 0;
}

@media screen and (max-width: 1080px) {
	
}





/** main **/

.main_visual {
	margin-bottom: 70px;
	position: relative;
}

.swiper-container {
	max-width: 44%;
}

.swiper-slide {
	height: 0;
	padding-top: 56.25%;
	overflow: hidden;
}

.swiper-slide img {
	display: block;
	width: 100%;
	/* height: 100%; */
	position: absolute;
	top: 0%;
}

.main_visual .slider_button_box {
	display: flex;
	justify-content: space-between;
	align-items: center;
	width: 100%;
	max-width: 600px;
	padding: 0 10px;
	position: absolute;
	bottom: -75px;
	left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
	z-index: 200;
}

.main_visual .slider_button_box img {
	max-width: 130px;
}

.main_visual .slider_button {
    width: 100%;
    max-width: 80px;
    padding: 0;
    margin: 0;
    padding-bottom: 30px;
    border: none;
}

.main_visual .button_1 {
	background: url(image/slide_button1.png) no-repeat center top / 80px;
}
.main_visual .button_2 {
	background: url(image/slide_button2.png) no-repeat center top / 80px;
}
.main_visual .button_3 {
	background: url(image/slide_button3.png) no-repeat center top / 80px;
}
.main_visual .button_4 {
	background: url(image/slide_button4.png) no-repeat center top / 80px;
}


.main_visual .slider_button span {
	height: 80px;
    display: block;
    width: 100%;
	padding: 0;
	font-size: 16px;
	color: #1D1D1D;
	border-radius: 50%;
	background: #D8EAFF;
	border: none;
    display: flex;
    justify-content: center;
    align-items: center;
}
.main_visual .slider_button:focus-visible {
    outline: auto;
    outline: -webkit-focus-ring-color auto 1px;
}

.top_image {
	text-align: center;
	margin-bottom: 120px;
}
.top_image img {
	width: 100%;
	max-width: 500px;
}
.top_image h1 {
	background-color: inherit;
}


@media screen and (max-width:1080px) {
	.swiper-container {
		max-width: 66%;
	}
	
}

@media screen and (max-width:800px) {
	.swiper-container {
		max-width: 100%;
	}

	.swiper-slide {
		padding-top: 0;
	}

	.swiper-slide img {
		position: static;
	}

	.swiper-button-next, .swiper-button-prev {
		display: none;
	}
}

@media screen and (max-width:600px) {
	.main_visual {
		margin-bottom: 20px;
	}

	.main_visual .slider_button_box {
		display: none;
	}
}


/** main-info **/

.contents {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}

.news, .events {
	width: 100%;
	max-width: 530px;
	position: relative;
	padding: 0 5px;
}

.news h2, .events h2 {
	margin-bottom: 0;
}

.article_box {
	padding: 30px 10px;
	min-height: 600px;
	background: #fff;
}

.article_item {
	width: 100%;
	padding: 10px;
	border-bottom: solid 1px #B7B7B7;
	min-height: 100px;
}

.article_item + li {
	margin-top: 15px;
}

.article_item p {
	margin-bottom: 0;
}
.article_item p a:hover {
	opacity: 0.6;
}

.article_item > div {
	padding-bottom: 20px;
}

.article_item > div p {
	display: inline-block;
	margin-bottom: 0;
}
/* 
.news_tag {
	margin-top: .5em;
} */
.news_tag span {
	padding: 2px 10px;
	color: #fff;
	border-radius: 5px;
}


.event_all {
	background: #D43E21;
}
.notice {
	background: #b60000;
}
.notice_event {
	background: #006363;
}
.notice_office {
	background: #0056B3;
}

/*.list_tag span.select {
	opacity: 0.5;
}*/


.article_item dl {
	padding-bottom: 10px;
}

.article_item dl > div {
	display: inline-block;
	margin: 0 15px 10px 0;
}

.article_item dt, .article_item dd {
	display: inline-block;
} 

.list_link {
	width: 100%;
	max-width: 250px;
	border: #111 solid 1px;
	border-radius: 15px;
	background-color: #fff;
	margin: 20px auto 50px;
	text-align: center;
	position: relative;
}
.list_link:hover {
	background-color: #2069D6;
	border-color: #2069D6;
}
.list_link::after {
	position: absolute;
	top: 34%;
	right: 0;
	content: "";
	width: 0;
    height: 0;
    border-top: solid 8px transparent;
    border-right: solid 8px transparent;
    border-bottom: solid 8px transparent;
    border-left: solid 10px #111;
}
.list_link:hover::after {
	border-left: solid 10px #fff;

}

.list_link a {
	display: block;
	padding: 15px 20px;
}
.list_link a:hover {
	text-decoration: none;
	color: #fff;
}

.news > img {
	position: absolute;
	top: -114px;
	left: 10%;
}

img.events_deco_top {
	position: absolute;
	top: -75px;
	right: 10%;
}
img.events_deco_bottom {
	position: relative;
	bottom: 140px;
	left: 89%;
	transform: rotate(15deg);
}

img.yurayura {
	animation: yurayura 3s infinite ease-in-out -1s alternate;
}

@keyframes yurayura {
	0% {
		transform: translate(0, 0) rotate(-10deg);
	}
	50% {
		transform: translate(0, -10px) rotate(0deg);
	}
	100% {
		transform: translate(0, 0) rotate(10deg);
	}
}


.border_sp {
	margin: 0 auto;
	padding-bottom: 30px;
}

@media screen and (max-width: 1080px) {
	.contents {
		justify-content: center;
	}

	.news {
		margin-bottom: 80px;
	}
}

@media screen and (max-width:600px) {
	.article_item > div p {
		display: block;
	}
	.news_tag {
		margin-top: .2em;
	}
}



/** about_harbor **/ 

.about_harbor {
	background: #E1EDFF;
	padding: 70px 0;
	/* background: #e1edff url(image/wave_color.png) repeat-x top / 85px; */
}

.about_harbor > div {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
}

.about_content {
	width: 100%;
	max-width: 460px;
	margin: 0 20px;
	text-align: center;
}

.about_content > div {
	background: #fff;
	padding: 20px 10px;
	margin-bottom: 50px;
	border-radius: 20px;
	position: relative;
}
.about_content > div::after {
	content: "";
	position: absolute;
	bottom: -40px;
	left: 45%;
	width: 0;
	height: 0;
	border-left: solid 20px transparent;
	border-right: solid 20px transparent;
	border-bottom: solid 20px transparent;
	border-top: solid 20px #fff;

}

.about_content .about_title {
	display: inline-block;
	font-size: 1.575rem;
	font-weight: bold;
	border-bottom: solid 4px #2069D6;
	padding: 0 .5em;
}

.about_content p+p {
	margin-top: 15px;
}

.about_content > a {
	display: inline-block;
	width: 100%;
	max-width: 350px;
	background: #2069D6;
	color: #fff;
	font-weight: bold;
	border: #2069D6 solid 1px;
	padding: 25px 0;
	border-radius: 20px;
}
.about_content > a:hover {
	color: #2069D6;
	background: #fff;
}

.about_minato {
	margin: 50px 0 0;
}
.about_minato .about_content {
	max-width: 600px;
}
.about_minato .about_content > div {
	max-width: 460px;
	margin: 0 auto 50px;
}
.about_minato .about_content a.minato_link {
	max-width: 600px;
}
.about_minato .about_content a.minato_link img {
	max-width: 600px;
}

@media screen and (max-width: 1000px) {
	.about_harbor .about_title span {
		display: block;
	}

	.about_content + div {
		margin-top: 50px;
	}

	.about_minato .about_content a.minato_link img {
		max-width: 100%;
	}
}





/** main-sponsor_recruit **/

.sponsor_recruit {
	background: #FFECE8;
	padding-bottom: 70px;
	position: relative;
}

.sponsor_recruit h2 {
	background: #D43E21;
	border-radius: 0;
	text-align: center;
	margin-bottom: 50px;
	padding-left: 20rem;
}

.recruit_deco_top {
	position: absolute;
	top: -13%;
	left: 5%;
	/* transform: rotate(330deg); */
}

.fuwafuwa{
	animation:fuwafuwa ease-in-out 2s infinite alternate;
	-webkit-animation:fuwafuwa ease-in-out 2s infinite alternate;
	-moz-animation:fuwafuwa ease-in-out 2s infinite alternate;
}
@keyframes fuwafuwa{
	0%   { transform:translate(0%, 0%);}
	100% { transform:translate(0%, -30px);}
}
@-webkit-keyframes fuwafuwa{
	0%   { -webkit-transform:translate(0%, 0%);}
	100% { -webkit-transform:translate(0%, -30px);}
}

@-moz-keyframes fuwafuwa{
	0%   { -moz-transform:translate(0%, 0%); }
	100% { -moz-transform:translate(0%, -30px); }
}


.recruit_deco_bottom {
	position: absolute;
	bottom: -10%;
	right: 20%;
	transform: rotate(330deg);
}



.sponsor_recruit p {
	text-align: center;
	padding: 0 10px;
	margin-bottom: 50px;
}

.sponsor_recruit ul {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	text-align: center;
}
.sponsor_recruit ul li {
	width: 100%;
	max-width: 520px;
	background: #fff;
	border: #2069D6 solid 2px;
	border-radius: 20px;
	margin: 10px;
	position: relative;
}
.sponsor_recruit ul li a {
	display: block;
	padding: 35px 30px;
	color: #2069D6;
}

.sponsor_recruit ul li::after {
	position: absolute;
	top: 40%;
	right: 0;
	content: "";
	width: 0;
	height: 0;
	border-top: solid 10px transparent;
    border-right: solid 10px transparent;
    border-bottom: solid 10px transparent;
    border-left: solid 18px #2069D6;
}

.sponsor_recruit ul li:hover {
	background: #2069D6;
}
.sponsor_recruit ul li a:hover {
	color: #fff;
}
.sponsor_recruit ul li:hover:after {
	border-left: solid 18px #fff;
}


@media screen and (max-width: 1080px) {
	.sponsor_recruit ul {
		justify-content: center;
	}
}

@media screen and (max-width: 800px) {
	.sponsor_recruit h2 {
		padding-left: 1em;
	}

	.sponsor_recruit h2 span {
		float: none;
		padding-left: 1em;
	}
}


/** main-SNS **/

.sns_wrapper {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	padding: 130px 0;
}

.sns_wrapper .sns_content {
	width: 100%;
	max-width: 530px;
	/* margin: 0 10px; */
}

.sns_title {
	font-size: 1.575rem;
	font-weight: bold;
	text-align: center;
	background: url(image/megahon.svg) no-repeat center left / 60px;
	padding: 5px 0 5px 70px;
	width: 100%;
	max-width: 350px;
	margin: 0 auto 30px auto;
}

.sns_content dl {
	background: #fff;
	padding: 40px 20px;
}

.sns_account {
	display: flex;
	justify-content: center;
	align-items: center;
}
.sns_account + div {
	margin-top: 50px;
}

.sns_account div+div {
	margin-left: 50px;
}

.sns_button img {
	width: 60px;
	height: 60px;
}
.sns_button a {
	display: block;
	/* vertical-align: bottom; */
}


@media screen and (max-width:1080px) {
	.sns_wrapper {
		justify-content: center;
		padding-bottom: 120px;
	}

	.sns_account {
		display: block;
		padding: 5px;
	}

	.sns_content dl {
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
		background-color: none;
		padding: 30px 20px;
	}

	.sns_account + div {
		margin-top: 0;
	}

	.sns_account div+div {
		margin-left: 0;
	}
}

@media screen and (max-width:350px) {
	.sns_title {
		background: url(image/megahon.svg) no-repeat top center / 60px;
		padding: 50px 0 5px 0;
	}
}




/** main-sopnsors **/

.sponsors {
	background: #E1EDFF;
	font-size: 0.875rem;
	padding: 80px 10px;
	position: relative;
}

.sponsors_list_logo ul,
.sponsors_list_txt ul {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-evenly;
	text-align: center;
	max-width: 1100px;
	margin: 0 auto;
}

.sponsors ul li:hover {
	opacity: 0.6;
}

.sponsors_list_logo ul li {
	max-width: 350px;
	width: 100%;
	padding: 10px 0;
	margin: 10px 5px;
	background: #fff;
}
.sponsors_list_logo ul li a {
	display: block;
}
.sponsors_list_logo ul li img {
	width: 100%;
	max-width: 330px;
	vertical-align: middle;
}

.sponsors_list_txt ul li {
	max-width: 250px;
	width: 100%;
	margin: 10px;
}

.sponsors_list_txt ul li a span {
	display: block;
}

.sponsors_deco_top {
	position: absolute;
	top: -95px;
	left: 20%;
}

.line_move {
	animation: line_move 20s linear -1s infinite alternate;
}

@keyframes line_move {
	from { margin-left: -10%; } 
	to { margin-left: 60%; }
}


/* .sponsors_deco_bottom {
	position: absolute;
	bottom: -50px;
	left: 10%;
} */


@media screen and (max-width:600px) {
	.sponsors_list_txt ul li {
		max-width: 175px;
		margin: 10px 0;
	}
}





/** footer **/

footer {
	position: relative;
}

footer .container {
	padding: 30px 20px;
}

footer a {
	color: #fff;
}

footer > img {
	position: absolute;
	top: -68px;
	left: 10%;
	z-index: -1;
}

.footer_logo {
	text-align: center;
	margin: 20px auto 10px;
	padding: 10px;
	background-color: #fff;
	max-width: 270px;
}
.footer_logo > img {
	width: 100%;
	max-width: 250px;
	display: block;
	margin: 0 auto;
}

.footer_address {
	font-size: 0.875rem;
	max-width: 300px;
	margin: 0 auto;
}

.footer_address .footer_mail {
	text-decoration: underline;
}


.footer_title {
	font-weight: bold;
}

#footer_nav {
	margin: 30px 0 50px;
}

#footer_nav ul {
	width: 100%;
	max-width: 500px;
	display: flex;
	flex-wrap: wrap;
	padding-left: 0;
	margin: 0 auto;
	vertical-align: top;
}

#footer_nav ul li {
	width: 100%;
	border-bottom: #fff solid 2px;
	line-height: 2;
}

#footer_nav ul li a {
	display: block;
	padding-top: 20px;
}
#footer_nav ul li a:hover {
	text-decoration: none;
	opacity: 0.6;
}

.footer_copyright {
	text-align: center;
}


#footer_nav ul li.minato_footerlink {
	border-bottom: none;
	margin-top: 20px;
	background: #fff url(image/minato_logo.png) no-repeat center bottom / 120px;
}
#footer_nav ul li.minato_footerlink a {
	padding-top: 10px;
	opacity: 0;
}
#footer_nav ul li.minato_footerlink:hover {
	background-color: rgba(255, 255, 255, 60%);
}



@media screen and (min-width: 890px) {
	.footer_info {
		float: left;
	}

	.footer_logo {
		text-align: left;
	}

	#footer_nav {
		width: 550px;
		float: right;
		margin: 0 0 50px;
	}

	#footer_nav ul {
		display: inline-block;
		margin: 0 20px;
		max-width: 220px;
	}

	#footer_nav ul li.minato_footerlink {
		margin-top: 13px;
	}

	.footer_copyright {
		clear: both;
	}
}



/** general **/


.breadcrumb {
	margin-bottom: 20px;
}

.breadcrumb ul {
	display: flex;
	justify-content: flex-end;
	align-items: center;
	height: 3em;
	padding-top: 20px;
}

.breadcrumb ul li:not(:last-child):after {
	content: ">";
	padding: 0 .5em;
}

.rbody p {
	margin-bottom: 20px;
}

.rbody {
	margin-bottom: 80px;
}
.rbody ul {
	list-style: disc inside;
}
.rbody ul > ul, .rbody ol > ul,
.rbody ul > ol, .rbody ol > ol {
	margin-left: 2em;
}

.rbody ol {
	list-style: decimal inside;
}

.rbody a:hover {
	text-decoration: underline;
}



@media screen and (max-width: 450px) {
	.breadcrumb {
		margin: 10px 0;
	}

	.breadcrumb ul ,.breadcrumb ul li,
	.breadcrumb ul li a {
		display: inline;
	}
} 




/** news **/

h1.news_title,
h1.sponsor_event_title {
	background-color: none;
	color: #111;
	text-align: center;
	padding: 100px 0;
	position: relative;
	background: url(image/anchor_2.png) no-repeat center top / 80px, url(image/fugu.png) no-repeat center bottom 15px / 100px;
}

.list_tag {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	margin-bottom: 1em;
}

.news_list
.sponsor_event_list {
	margin-bottom: 80px;
}

.detail_items {
	width: 100%;
	display: flex;
	flex-wrap: wrap;
	margin-bottom: 30px;
}

.detail_item {
	width: 48%;
	border: #111 solid 1px;
	border-radius: 10px;
	background: #fff;
	margin: 5px;
}

/* .item_title {
	position: relative;
} */

.item_title a,
.item_title > span {
	display: block;
	padding: 20px 20px 10px 30px;
    position: relative;
}

.item_title a:hover {
	text-decoration: underline;
}

.item_title a::before {
	content: "";
	position: absolute;
	top: 27px;
	left: 10px;
	width: 8px;
	height: 8px;
	border-top: #2069D6 solid 3px;
    border-right: #2069D6 solid 3px;
    transform: rotate(45deg);
}

.detail_item > div {
	padding: 20px 20px 10px;
	background: url(image/wave.png) repeat-x top center / 50px;
}

.detail_item .news_tag {
	margin: .5em 0 0 0;
}


@media screen and (max-width:800px) {
	.news_list .detail_item {
		width: 100%;
	}
}



/** news_detail **/

.news_release div {
	display: inline-block;
	padding-right: 1.5em;
	margin-bottom: 1em;
}
.news_release dt, .news_release dd {
	display: inline-block;
	border-bottom: none;
	padding: 0;
	margin: 0;
}

.news_tag > li {
	padding: 2px 10px;
	margin-bottom: 5px;
}
.news_tag > li a {
	display: block;
}



/** event **/

h1.event_title {
	background-color: none;
	color: #111;
	text-align: center;
	padding: 100px 0 20px;
	background: url(image/anchor_2.png) no-repeat center top / 80px;
}

.monthly_box {
	max-width: 700px;
	margin: 0 auto 50px;
	font-size: 130%;
	text-align: center;
}

.monthly_box > div {
	background-color: #2069D6;
	color: #fff;
	margin: 0 auto;
	padding: .5em 1em;
	display: inline-block;
}

.monthly_box ul {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	margin: 20px 0;
}

.monthly_box ul li {
	margin: 5px;
}

.monthly_box ul li button {
	background: none;
	border: none;
	color: #111;
	padding: .2em 1.5em;
}
.monthly_box ul li button:hover,
.monthly_box ul li button:active {
	background: #D43E21;
	color: #fff;
}





.event_release div {
	margin-bottom: .5em;
}
.event_release div dt, .event_release div dd {
	display: inline-block;
}
.event_release div dd {
	padding-left: 0.5em;
}

.finished_list .detail_item {
	width: 19%;
	margin: 5px;
}

.finished_list {
	font-size: 1rem;
	/* margin-bottom: 80px; */
}

.finished_list .detail_item .event_release {
	font-size: 0.8125rem;
}



@media screen and (max-width: 900px) {
	.finished_list .detail_item {
		width: 48%;
	}
}

@media screen and (max-width: 600px) {
	.finished_list .detail_item {
		width: 100%;
	}
}

@media screen and (max-width:350px) {
	.event_release div dt, .event_release div dd {
		display: block;
	}
	.event_release div dd {
		padding-left: 0;
	}
}




/** events_detail **/

.detail_box {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	margin-bottom: 80px;
}

.detail_text {
	max-width: 530px;
	margin-bottom: 20px;
}
.detail_text dt {
	display: inline-block;
	border-bottom: #2069D6 solid 4px;
	padding: 0 .5em;
	margin-bottom: .3em;
}
.detail_text dd {
	padding: 0 .5em;
	margin-bottom: 1em;
}

.detail_image {
	max-width: 470px;
}
.detail_image img {
	width: 100%;
}


@media screen and (max-width:1080px) {
	.detail_box {
		display: block;
	}
	.detail_text, .detail_image {
		margin: 0 auto;
	}
	.detail_text {
		max-width: 1000px;
		margin-bottom: 20px;
	}
}



/** contact **/

.mw_wp_form form {
	max-width: 800px;
	margin: 0 auto;
	/* padding-left: 1em; */
	margin-bottom: 100px;
}

.mw_wp_form form > p {
	margin-bottom: 25px;
}

.mw_wp_form label {
	display: block;
    font-size: 1.25rem;
    font-weight: bold;
    margin: 0 0 .5rem 0;
}

.mw_wp_form input[type="text"], .mw_wp_form input[type="password"], 
.mw_wp_form input[type="email"], .mw_wp_form input[type="url"], 
.mw_wp_form input[type="date"], .mw_wp_form input[type="month"], 
.mw_wp_form input[type="time"], .mw_wp_form input[type="datetime"], 
.mw_wp_form input[type="datetime-local"], .mw_wp_form input[type="week"], 
.mw_wp_form input[type="number"], .mw_wp_form input[type="search"], 
.mw_wp_form input[type="tel"], .mw_wp_form input[type="color"], 
.mw_wp_form textarea {
	-webkit-appearance: none;
    background: #fff;
    border-radius: 0;
    border-style: solid;
    border-width: 0.1rem;
    box-shadow: none;
    display: block;
    font-size: 1.25rem;
    letter-spacing: -0.015em;
    max-width: 100%;
    padding: .5rem .8rem;
    width: 100%;
}

.mw_wp_form input[type="radio"] {
	width: 10%;
}

.mw_wp_form input, .mw_wp_form textarea, 
.mw_wp_form select, .mw_wp_form button {
	border-radius: 5px;
    width: 100%;
}

.mw_wp_form .required {
	display: inline-block;
    padding: 2px 5px;
    border-radius: 13px;
    margin-bottom: 2px;
    margin-right: 10px;
    font-size: 1rem;
    font-weight: normal;
    color: #fff;
    background: #F92931;
}

.mw_wp_form select {
	height: 35px;
    padding: 0px 10px;
    font-size: 1.25rem;
}

.mw_wp_form .form_buttons {
	display: flex;
    flex-direction: column;
    justify-content: center;
}

button, input[type="button"], input[type="reset"], 
input[type="submit"] {
	width: 100%;
    -webkit-appearance: none;
    background-color: #2069D6;
	border: #2069D6 solid 1px;
    border-radius: 0;
    color: #fff;
    cursor: pointer;
    display: inline-block;
    font-size: 1.25rem;
    font-weight: 600;
    letter-spacing: 0.0333em;
    line-height: 1.25;
    padding: 1.5rem 5rem;
    outline: none;
    text-align: center;
}

input[type="submit"]:hover {
	background-color: #fff;
	color: #2069D6;
}

.mw_wp_form input#quantity {
	max-width: 300px;
	display: inline-block;
	text-align: right;
	padding-right: 1.5em;
}


@media screen and (min-width: 786px) {
	.mw_wp_form .form_buttons {
		/* flex-direction: row; */
	}

	.mw_wp_form .form_buttons > * {
		width: 50%;
	}
}



/** sponsorship_branch **/

.branch {
	display: flex;
	justify-content: space-between;
	text-align: center; 
	font-size: 120%;
	font-weight: bold;
	padding: 50px 0 100px 0;
}

.branch > div {
	width: 45%;
	border: double 10px #D43E21;
	background: #FFF;
	border-radius: 10px;
	position: relative;
}

.branch > div a {
	display: block;
	padding: 120px 40px;
}

.branch > div img {
	position: absolute;
	bottom: 20px;
	right: 10px;
	transform: rotate(15deg);
	max-width: 100px;
}

.branch > div a:hover .shaking {
	animation: shaking .7s infinite ease-in-out .5s alternate;
}
@keyframes shaking {
	0% {
    transform:translate(0, 0) rotate(15deg);
	}
	50% {
	transform:translate(0, -7px) rotate(0deg);
	}
	100% {
	transform:translate(0, 0) rotate(-15deg);
	}
}



@media screen and (max-width:800px) {
	.branch {
		display: block;
	}

	.branch > div {
		margin: 20px auto;
		width: 100%;
		max-width: 500px;
	}
}


/** sponsorship **/

.article > p + h3 {
	margin-top: 40px;
}
.article > p + p {
	margin-top: 10px;
}
.article .under_wave {
	text-decoration: #111 underline wavy;
	font-weight: bold;
}

.application_form {
	margin-bottom: 100px;
}




/** charm **/

.charm_title {
	background-color: inherit;
	color: #111;
	text-align: center;
	font-size: 2.5rem;
	padding: .5em 0;
}
h2.charm_subtitle {
	background-color: #D43E21;
	border-radius: 0;
	text-align: center;
	font-size: 2rem;
	margin-bottom: 30px;
}


.charm_details_pc {
	max-width: 1400px;
	margin: 0 auto;
	margin-bottom: 50px;
}
.charm_detail_tabs {
	width: 30%;
	float: left;
}

.charm_detail_panel {
	float: right;
	border: #003585 solid 1px;
	background: #fff;
	width: 70%;
	height: 800px;
}

.charm_detail_panel .inner {
    text-align: center;
	padding: 0 20px;
	height: 100%;
}

.charm_detail_panel .charm_detail_title > span {
	display: inline-block;
	padding-left: .5em;
}

/* .charm_title_box {
	margin-bottom: 50px;
} */



.charm_detail_button_sp, .charm_detail_button_pc {
	background: #69758C url(image/plant_2.svg) no-repeat bottom right 40px / 110px;
	border: #003585 solid 1px;
	height: 100px;
	padding-left: 20px;
	text-align: left;
	position: relative;	
}
.charm_detail_button_pc:focus-visible,
.charm_detail_button_sp:focus-visible {
    outline: auto;
    outline: -webkit-focus-ring-color auto 1px;
}
.charm_detail_box {
    display: none;
}

.charm_detail_button_sp.active,
.charm_detail_button_pc:hover, 
.charm_detail_button_pc.active {
	background: #2069D6 url(image/plant_2.svg) no-repeat bottom right 40px / 110px;
}

.charm_detail_button_sp::after {
	position: absolute;
	content: "";
	top: 50%;
    right: 10px;
    width: 0;
    height: 0;
    border-left: solid 10px transparent;
    border-right: solid 10px transparent;
    border-bottom: solid 10px transparent;
    border-top: solid 10px #fff;
}
.charm_detail_button_pc::after {
	position: absolute;
	content: "";
	top: 45%;
    right: 10px;
    width: 0;
    height: 0;
    border-top: solid 10px transparent;
    border-right: solid 10px transparent;
    border-bottom: solid 10px transparent;
    border-left: solid 10px #fff;
}



.charm_detail_box {
	border: solid 1px #003585;
	width: 100%;
	padding: 0 10px 50px;
	text-align: center;
	background: #fff;
}
.charm_detail_box img,
.charm_detail_panel img {
	width: 100%;
	max-width: 420px;
	height: auto;
	margin: 10px;
}
.charm_detail_box p,
.charm_detail_panel p {
	margin-bottom: 10px;
}

.large_text {
	font-size: 2.5rem;
}
.small_text {
	font-size: 1rem;
	margin-top: 15px;
}
.small_text > span {
	display: block;
	padding-left: 4em;
}

.text_left {
	text-align: left;
}


.charm_detail_title {
	font-size: 2rem;
	font-weight: bold;
	padding-top: 75px;
	letter-spacing: .1em;
	background: url(image/crown.svg) no-repeat top 30px center / 85px;
}
.charm_detail_title > span {
	font-size: 3rem;
	letter-spacing: 0.3em;
	display: block;
}
.charm_detail_title > span span {
	font-size: 4.5rem;
}

.charm_detail_box dl,
.charm_detail_panel dl {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	max-width: 500px;
	margin: 0 auto;
	padding-bottom: 30px;
}
.charm_detail_box dl > div,
.charm_detail_panel dl > div {
	width: 100%;
	max-width: 200px;
	margin: 10px;
}

.charm_underline {
	text-decoration: underline red 2px;
}

.charm_text {
	margin-bottom: 50px;
}
.charm_text .notes {
	padding: 30px 0;
}
.charm_text figure {
	margin: 0;
}
.charm_text img {
	width: 100%;
}


.link_history {
	background: #E1EDFF;
	padding: 50px 0;
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
}
.link_history .about_content {
	/* margin: 0 auto; */
	padding: 0 10px;
}

.about_content a.minato_link {
	background-color: transparent;
	border: none;
	padding: 0;
}
.about_content a.minato_link img {
	max-width: 350px;
	width: 100%;
	border-radius: 20px;
}

.about_content a.minato_link:hover {
	opacity: 0.7;
}


.charm_detail_flex {
	display: flex;
	justify-content: space-between;
	margin-bottom: 30px;
}

.charm_detail_flex .charm_title_box {
	width: 49%;
	margin-bottom: 0;
}

.charm_detail_flex .charm_detail_title {
	padding-top: 110px;
}




@media screen and (max-width:1080px) {
	.charm_detail_title {
		padding-top: 90px;
	}

	.charm_detail_box img,
	.charm_detail_panel img {
		margin: 0;
	}
}

@media screen and (max-width:800px) {
	.charm_detail_flex {
		display: block;
	}

	.charm_detail_flex .charm_title_box {
		width: 100%;
	}

	.charm_detail_flex .charm_detail_title {
		padding-top: 90px;
	}
}