@charset "utf-8";

html {
	font-size: 62.5%;
	scroll-behavior: smooth;
}
body {
	color: #000;
	font-family: 'Noto Sans JP', sans-serif;
	font-size: 1.6em;
	line-height: 1.5;
    letter-spacing: 0;
}
:target {
    scroll-margin-top: 100px;
}
a {
	transition: .25s;
}
img{
	max-width: 100%;
}
a[href*="tel:"] {
    pointer-events: none;
    cursor: default;
    text-decoration: none;
}
.wrapper {
	width: 1300px;
	max-width: 100%;
	padding: 0 25px;
	margin: auto;
}
.serif {
	font-family: 'Noto Serif JP', serif;
}
.lato {
	font-family: 'Lato', sans-serif;
}
.btn {
	position: relative;
	display: inline-block;
	font-weight: 500;
	letter-spacing: .0075em;
}
.btn_blue {
	color: #fff;
	background: #004898;
	border: 1px solid #004898;
	border-radius: 50px;
}
.btn_white {
	background: #fff;
	border: 1px solid #fff;
	border-radius: 50px;
}
.text_link {
	display: inline-block;
}
.text_link::after {
	content: "";
	display: block;
	width: 0;
	transition: width 0.3s;
	border-bottom: 1px solid #000;
	margin: auto;
}
.point {
	position: relative;
	display: block;
	padding-left: 0.7em;
	text-indent: -1em;
}
.point::before {
	content: "・";
}
.asterisk {
	position: relative;
	display: block;
	padding-left: 1em;
	text-indent: -1em;
}
.asterisk::before {
	content: "※";
}
.caution {
	position: relative;
	display: inline-block;
	font-size: 1.6rem;
	padding-left: 1em;
	text-indent: -1em;
}
.caution::before {
	content: "※";
}
.circle {
	position: relative;
	display: block;
	padding-left: 1em;
	text-indent: -1em;
}
.circle::before {
	content: "●";
	color: #004898;
	margin-right: 4px;
}
.section_title {
	text-align: center;
}
.section_title_en {
	font-size: clamp(3.8rem, 3.2vw, 4.8rem);
	font-weight: 600;
	font-family: 'Lato', sans-serif;
	letter-spacing: 0.07em;
	line-height: 1;
}
.section_title_ja {
	font-weight: 600;
	margin-top: 4px;
}

@media screen and (min-width: 769px) {
	.btn_blue:hover {
		color: #004898;
		background: #fff;
	}
	.btn_white:hover {
		color: #fff;
		background: #004898;
	}
	.text_link:hover::after {
		width: 100%;
	}
}

/* Header
------------------------------ */
.header_inner {
    position: fixed;
    width: 100%;
    top: 0;
    left: 0;
    background: #fff;
    z-index: 100;
	padding: 26px 0;
}
.header_fixed.header_inner {
	padding: 10px 0;
}
.customize-support .header_inner {
	top: 32px;
}
.header_fixed {
	box-shadow: 3px 3px 3px rgba(0, 0, 0, .3);
	transition: .3s;
}
.header_wrapper {
	display: flex;
	justify-content: space-between;
	align-items: center;
}
.header_left {
	margin-right: 20px;
}
.header_logo {
	width: 100%;
	max-width: 464px;
}
.header_fixed .header_logo {
	max-width: 380px;
}
/* .header_fixed .header_logo_title {
	display: none;
}
.header_logo_mark {
	display: none;
}
.header_fixed .header_logo_mark {
	display: block;
} */
.header_right {
}
.header_fixed .header_right {
}
.header_nav {
	white-space: nowrap;
}
.header_lists {
	display: flex;
	justify-content: space-between;
}
.header_list {
	position: relative;
}
.header_list:not(:last-of-type) {
	margin-right: 30px;
}
.header_list_link {
	position: relative;
	display: inline-block;
	font-weight: 600;
	padding: 26px 0 23px;
}
.header_fixed .header_list_link {
    padding: 27px 0 27px;
}
.header_list_link::after {
	position: absolute;
	content: "";
	display: block;
	bottom: 0;
	width: 100%;
	height: 10px;
	transform: scale(0, 1);
    transform-origin: center top;
	transition: all 0.3s;
    background: #004898;
}
.header_list_menus {
    position: absolute;
    top: 55px;
    left: 50%;
	width: 220px;
	transform:  scaleY(0)  translateX(-50%);
    transform-origin: center top;
    transition: all .3s;
}
.header_list_menu {
    display: block;
	text-align: center;
}
.header_list_menu a {
	display: inline-block;
	font-weight: 600;
	width: 100%;
    color: #fff;
	background: #004898;
	border: 1px solid #fff;
	padding: 10px 10px;
}
.hamburger {
	display: none;
}
#hamburger_toggle {
	display: none;
}
main {
	margin-top: 150px;
}

@media screen and (min-width: 769px) {
	.header_reservation .btn:hover {
		background: #fff;
		border-color: #004898;
	}
	.header_list_link:hover::after {
		transform: scale(1, 1);
	}
	.header_list:hover .header_list_menus {
		transform: scaleY(1) translateX(-50%);
	}
	.header_list_menu a:hover{
		color: #004898;
		background: #fff;
		border-color: #004898;
	}
	.header_list_btn:hover {
		color: #004898;
		background: #fff;
	}
}

/* top - main_view
------------------------------ */
.main_view_slider {
	line-height: 1;
}
.main_view_slider .swiper-wrapper {
	margin: 0;
	padding: 0;
}
.main_view_slide {
	position: relative;
}
.main_view_pic img {
	width: 100%;
    max-height: 700px;
	min-height: 500px;
    object-fit: cover;
}
.main_view_content {
	position: absolute;
	left: 50%;
	transform: translate(-50%,-50%);
}
.main_view_slide_01 .main_view_content {
	top: 47%;
}
.main_view_slide_02 .main_view_content {
	top: 48%;
}
.main_view_slide_03 .main_view_content {
	top: 48%;
}
.main_view_title_wrapper {
	position: relative;
	display: inline-block;
}
.main_view_title .main_view_title_img {
	display: inline-block;
}
.main_view_title_time {
	position: absolute;
	content: "";
    font-size: 2.6rem;
    font-weight: 700;
    right: 27px;
    top: 50px;
}
.main_view_title_time_line {
    position: absolute;
    content: "";
    font-size: 2.2rem;
	line-height: 1.1;
    font-weight: 700;
    right: 28px;
    top: 35px;
    text-align: center;
}
.main_view_subtitle {
	width: 100%;
	/* max-width: 921px; */
	max-width: 608px;
	margin-top: 19px;
}
.main_view_message {
	font-size: clamp(3.8rem, 3.2vw, 4.8rem);
	font-weight: 600;
	line-height: 1.2;
	color: #fff;
	text-shadow: 3px 3px 4px rgba(0, 0, 0, .5);
}
.main_view_submessage {
	font-size: clamp(1.8rem, 1.6vw, 2.4rem);
	font-weight: 600;
	line-height: 1.5;
	color: #F1E9B9;
	text-shadow: 2px 2px 4px rgba(0, 0, 0, .6);
	margin-top: 15px;
}
.main_view_submessage span {
	font-size: clamp(1.7rem, 1.33vw, 2rem);
	color: #004898;
	background: #F1E9B9;
	text-shadow: none;
	border-radius: 50px;
	margin-left: 11px;
	padding: 1px 17px;
}

/* top - top_news
------------------------------ */
.top_news_inner {
	position: relative;
	background: url(../images/top/top_news_bg.jpg) no-repeat center center / cover;
	padding: 80px 0 120px;
}
.top_news_inner::before {
	position: absolute;
	content: "";
	width: clamp(150px, 20.2vw, 303px);
	height: 303px;
    left: calc(50% + clamp(100px, 16.8vw, 252px));
	top: -155px;
	background: url(../images/top/top_news_logo.png) no-repeat center center / contain;
	z-index: 1;
}
.top_news_inner .wrapper {
	background: url(../images/top/top_news_icon_01.png) no-repeat left 12% top -2% / clamp(200px, 19vw, 285px);
	padding-top: 46px;
}
.top_news_title .section_title_en {
	color: #004898;
}
.top_news_title .section_title_ja {

}
.top_news_items {
	display: flex;
	flex-wrap: wrap;
	margin-top: 73px;
}
.top_news_item {
	display: flex;
    flex-direction: column;
	width: calc(33.3333% - 36.3333px);
	border-top: 1px solid #9D9D9D;
	padding: 30px 0;
}
.top_news_item:not(:nth-of-type(3n)) {
	margin-right: 53px;
}
.top_news_item:nth-of-type(n + 4) {
	border-bottom: 1px solid #9D9D9D;
}
.top_news_item_img {
	width: 100%;
}
.top_news_item_img img {
	aspect-ratio: 380/245;
    object-fit: cover;
    width: 100%;
	height: 100%;
}
.top_news_item_unit {
    width: 100%;
    margin-top: 10px;
    padding-bottom: 15px;
}
.top_news_item_date {
	font-size: 1.4rem;
	font-weight: 600;
	color: #004898;
}
.top_news_item_title {
	font-size: 1.8rem;
    line-height: 1.4;
    font-weight: 600;
    margin-top: 7px;
}
.top_news_item_btn {
	width: 100%;
    max-width: 260px;
    text-align: center;
    margin: auto auto 0;
}
.top_news_item_btn .btn {
	width: 100%;
	padding: 16px 0;
}
.top_news_btn {
	text-align: center;
	margin-top: 70px;
}
.top_news_btn .btn {
	width: 100%;
	max-width: 350px;
	padding: 27px 0;
}

/* top - top_map
------------------------------ */
.top_map_inner {
	position: relative;
	padding: 40px 0 120px;
}
.top_map_inner::before {
	position: absolute;
	content: "";
	width: clamp(60px, 6.2vw, 93px);
	height: 75px;
	left: calc(50% + clamp(50px, 14.93vw, 224px));
	top: -1.5%;
	background: url(../images/top/top_map_icon_03.png) no-repeat center center / contain;
}
.top_map_inner .wrapper {
	background: url(../images/top/top_map_icon_01.png) no-repeat left 20% top 11% / clamp(100px, 10.07vw, 151px),
				url(../images/top/top_map_icon_02.png) no-repeat right 16% top 0 / clamp(100px, 9.93vw, 148px);
	padding-top: 86px;
}
.top_map_title .section_title_en {
	color: #004898;
}
.top_map_img {
	max-width: 1152px;
    margin: 75px auto 0;
    transform: translateX(-14px);
}
.top_map_items {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	margin-top: 70px;
}
.top_map_item {
	width: calc(50% - 27px);
}
.top_map_item:nth-of-type(n + 3) {
	margin-top: 52px;
}
.top_map_item_title {
	font-size: clamp(2rem, 1.6vw, 2.4rem);
	font-weight: 600;
	border-bottom: 1px solid #9D9D9D;
	padding-bottom: 19px;
}
.top_map_item_title span {
	position: relative;
	padding-left: 70px;
}
.top_map_item_title span::before {
	position: absolute;
	content: "";
	width: 60px;
	height: 36px;
	left: 0;
	top: 0;
}
.top_map_item_vegetables .top_map_item_title span::before {
	background: #B9EEC8;
}
.top_map_item_logistics .top_map_item_title span::before {
	background: #F4C3ED;
}
.top_map_item_water .top_map_item_title span::before {
	background: #9AD6F8;
}
.top_map_item_meals .top_map_item_title span::before {
	background: #FFE483;
}
.top_map_item_attracting .top_map_item_title span::before {
	border: dashed 2px #9D9D9D;
}
.top_map_item_text {
	line-height: 1.4;
    margin-top: 15px;
}
.top_map_btn {
	text-align: center;
	margin-top: 65px;
}
.top_map_btn .btn {
	width: 100%;
	max-width: 350px;
	padding: 27px 0;
}

/* top - top_traders
------------------------------ */
.top_traders_inner {
	position: relative;
	background: rgba(218, 211, 166, .35);
	padding: 118px 0 120px;
}
.top_traders_inner::before {
	position: absolute;
	content: "";
	width: clamp(60px, 6.2vw, 93px);
	height: 75px;
	left: calc(50% - clamp(100px, 25.4vw, 381px));
    top: -4%;
	background: url(../images/top/top_traders_icon_01.png) no-repeat center center / contain;
}
.top_traders_inner::after {
	position: absolute;
	content: "";
	width: clamp(110px, 11.13vw, 167px);
	height: 160px;
	left: calc(50% + clamp(50px, 11.13vw, 167px));
	top: -12%;
	background: url(../images/top/top_traders_icon_02.png) no-repeat center center / contain;
}
.top_traders_title .section_title_en {
	color: #004898;
}
.top_traders_links {
	display: flex;
	justify-content: space-between;
	margin-top: 60px;
}
.top_traders_link {
	width: calc(25% - 25.3333px);
}
.top_traders_link a {
	position: relative;
	display: block;
	font-size: clamp(2rem, 1.6vw, 2.4rem);
	font-weight: 600;
	text-align: center;
	padding: 12px 10px 33px;
}
.top_traders_link a::after {
	position: absolute;
	content: "";
	width: 14px;
	height: 7px;
	left: 50%;
	transform: translateX(-50%);
    bottom: 15px;
	background: url(../images/top/top_traders_link_arrow_blue.png) no-repeat center center / contain;
}
.top_traders_link a span {
	display: inline-block;
	width: 100%;
	max-width: 200px;
	padding-bottom: 4px;
}
.top_traders_link_vegetables a span {
	border-bottom: 7px solid #B9EEC8;
}
.top_traders_link_logistics a span {
	border-bottom: 7px solid #9AD6F8;
}
.top_traders_link_water a span {
	border-bottom: 7px solid #F4C3ED;
}
.top_traders_link_meals a span {
	border-bottom: 7px solid #FFE483;
}
.top_traders_slider {
	margin-top: 70px;
}
.top_traders_items {
	align-items: stretch;
}
.top_traders_item {
	height: auto;
	background: #fff;
}
.top_traders_item > a {
	display: flex;
	flex-direction: column;
	height: 100%;
}
.top_traders_slider .swiper-button-prev,
.top_traders_slider .swiper-button-next {
	width: 51px;
	height: 51px;
	margin-top: 0;
	transform: translateY(-50%);
	transition: opacity .35s;
}
.top_traders_slider .swiper-button-prev {
	left: 0;
	background: url(../images/top/top_traders_arrow_left_white.png) no-repeat center center / contain;
}
.top_traders_slider .swiper-button-next {
	right: 0;
	background: url(../images/top/top_traders_arrow_right_white.png) no-repeat center center / contain;
}
.top_traders_slider .swiper-button-prev::after,
.top_traders_slider .swiper-button-next::after {
	display: none;
}
.top_traders_slider .swiper-navigation-icon {
	display: none;
}
.top_traders_slider .swiper-button-prev:hover,
.top_traders_slider .swiper-button-next:hover {
	opacity: .7;
}
.top_traders_item_img img {
	aspect-ratio: 230/148;
	object-fit: cover;
	width: 100%;
	height: 100%;
	border: 1px solid #F0F5FB;
}
.top_traders_item_title {
	font-size: 1.8rem;
	font-weight: 600;
	padding: 26px 20px;
}
.top_traders_btn {
	text-align: center;
	margin-top: 79px;
}
.top_traders_btn .btn {
	width: 100%;
	max-width: 350px;
	padding: 27px 0;
}

@media screen and (min-width: 769px) {
	.top_traders_link a:hover::after {
		background: url(../images/top/top_traders_link_arrow_white.png) no-repeat center center / contain;
	}
}

/* top - top_calender
------------------------------ */
.top_calender_inner {
	background: #004898;
	padding: 52px 0 120px;
}
.top_calender .wrapper {
	background: url(../images/top/top_calender_icon_01.png) no-repeat left 7.5% top 6% / clamp(140px, 56.27vw, 211px),
				url(../images/top/top_calender_icon_02.png) no-repeat right 9.3% top 7% / clamp(100px, 43.2vw, 162px);
	padding-top: 75px;
}
.top_calender_title .section_title_en {
	color: #fff;
}
.top_calender_title .section_title_ja {
	color: #74AEEF;
}
.top_calender_wrapper {
	display: flex;
	justify-content: space-between;
	margin-top: 62px;
}
.top_calender_schedule {
	width: 100%;
	max-width: 730px;
	background: #fff;
	padding: 30px 70px 30px;
	margin-right: 20px;
}
.top_calender_schedule_message {
	display: flex;
	justify-content: right;
	font-size: 1.4rem;
}
.top_calender_schedule_message_holiday {
	position: relative;
	padding-left: 31px;
}
.top_calender_schedule_message_holiday::before {
	position: absolute;
	content: "";
	width: 23px;
	height: 23px;
	left: 0;
	top: 0;
	background: #72A2D7;
}
.top_calender_schedule_message_vegetables {
	position: relative;
	padding-left: 31px;
	margin-left: 30px;
}
.top_calender_schedule_message_vegetables::before {
	position: absolute;
	content: "";
	width: 23px;
	height: 23px;
	left: 0;
	top: 0;
	background: #91D283;
}
.top_calender_schedule_message_pleasure {
	position: relative;
	padding-left: 31px;
	margin-left: 30px;
}
.top_calender_schedule_message_pleasure::before {
	position: absolute;
	content: "";
	width: 23px;
	height: 23px;
	left: 0;
	top: 0;
	background: #F4C3ED;
}
.fc {
	margin-top: 20px;
}
.top_calender_schedule .fc-toolbar .fc-left {
	float: none;
}
.top_calender_schedule .fc-toolbar .fc-center {
    display: none;
}
.top_calender_schedule .fc-view-container {
	margin-top: 10px;
}
.top_calender_schedule .eo-fullcalendar .fc-view>table>thead {
	background: transparent;
}
.top_calender_schedule .fc .fc-toolbar>*>* {
	font-weight: 600;
	float: none;
}
.top_calender_schedule .fc-ltr .fc-basic-view .fc-day-number {
	text-align: center;
}
.top_calender_schedule .eo-fullcalendar .fc-toolbar {
    margin-bottom: 0;
}
.top_calender_schedule .fc-row .fc-content-skeleton tbody td, 
.top_calender_schedule .fc-row .fc-helper-skeleton tbody td {
	text-align: center;;
}
.top_calender_schedule .eo-fullcalendar .fc-event {
	font-size: 1.2rem;
}
.fc-content {
	font-weight: 600;
	color: #fff;
}
.eo-fullcalendar .fc-event {
    pointer-events: none;
}
.top_calender_schedule_text {
	margin-top: 10px;
}
@media screen and (min-width: 769px) {
	.top_calender_schedule .fc-widget-header {
		border-top: none !important;
	}
	.fc-unthemed .fc-popover, .fc-unthemed .fc-row, .fc-unthemed hr, .fc-unthemed tbody, .fc-unthemed td, .fc-unthemed th, .fc-unthemed thead {
		border-right: none !important;
		border-left: none !important;
	}
}
.top_calender_img {
	width: 100%;
	max-width: 478px;
}

/* top - top_access
------------------------------ */
.top_access_inner {
	background: url(../images/top/top_access_bg.jpg) no-repeat center center / cover;
	padding: 127px 0 130px;
}
.top_access_title .section_title_en {
	color: #004898;
}
.top_access_map {
	margin-top: 60px;
}
.top_access_map iframe {
	max-width: 100%;
}
.top_access_items {
	display: flex;
	justify-content: space-between;
	background: rgba(255, 255, 255, .95);
	padding: 62px 50px 65px;
}
.top_access_item {
	width: calc(50% - 41px);
}
.top_access_item_title {
	position: relative;
	font-size: clamp(2rem, 1.6vw, 2.4rem);
	font-weight: 600;
	color: #004898;
	border-bottom: 1px solid #9D9D9D;
	padding-bottom: 10px;
}
.top_access_item_title span {
	position: relative;
	padding-left: 58px;
}
.top_access_item_title span::before {
	position: absolute;
	content: "";
	left: 0;
	top: 50%;
	transform: translateY(-50%);
}
.top_access_item_car .top_access_item_title span::before {
	width: 50px;
	height: 29px;
	background: url(../images/top/top_access_item_icon_car.png) no-repeat center center / contain;
}
.top_access_item_bus .top_access_item_title span::before {
	width: 48px;
	height: 30px;
	background: url(../images/top/top_access_item_icon_bus.png) no-repeat center center / contain;
}
.top_access_item_text {
    line-height: 1.7;
    margin-top: 13px;
}
.top_access_item_link {
	display: inline-block;
	font-weight: 700;
	color: #004898;
}
.top_access_item_link::after {
	content: "";
	display: block;
	width: 0;
	transition: width 0.3s;
	border-bottom: 1px solid #004898;
	margin: auto;
}
@media screen and (min-width: 769px) {
	.top_access_item_link:hover::after {
		width: 100%;
	}
}
/* sub
------------------------------ */
.sub_main_view {

}
.sub_main_view_inner {
	position: relative;
	height: 300px;
	background: #004898;
}
.sub_main_view_inner::before {
	position: absolute;
	content: "";
	width: 100%;
	height: 84px;
	left: 0;
	top: 0;
    background: linear-gradient(180deg, #003168, transparent);
    z-index: 1;
}
.sub_main_view_wrapper {
	position: relative;
	height: inherit;
	display: flex;
	justify-content: center;
}
.sub_main_view_content {
    position: relative;
    width: calc(50% - 94px);
	height: inherit;
}
.sub_main_view_title {
	width: 100%;
	max-width: 557px;
	padding-left: 25px;
	margin-left: auto;
	height: inherit;
    display: flex;
    flex-direction: column;
    justify-content: center;
}
.sub_main_view_title_ja {
	font-size: clamp(3.2rem, 2.67vw, 4rem);
	font-weight: 600;
	color: #fff;
}
.sub_main_view_title_en {
	font-family: 'Lato', sans-serif;
	font-weight: 600;
	color: #F1E9B9;
	text-transform: uppercase;
}
.sub_main_view_img {
	width: calc(50% + 94px);
	clip-path: polygon(0% 100%, 9% 0%, 100% 0%, 100% 100%);
}
.breadcrumbs {
	font-size: 1.2rem;
	margin-top: 35px;
}
.breadcrumbs_menu {
	border-bottom: 1px solid #9D9D9D;
	padding-bottom: 20px;
}
.breadcrumbs_menu a {
	font-weight: 600;
}
.subsection_title {
	font-size: clamp(2.8rem, 2.4vw, 3.6rem);
	font-weight: 600;
    line-height: 1.35;
	color: #004898;
	text-align: center;
}

/* market
------------------------------ */
#market .sub_main_view_img {
	background: url(../images/common/market_main_view.jpg) no-repeat center center / cover;
}
.market_location {
	margin-top: 100px;
}
.market_location_message {
	text-align: center;
    line-height: 1.65;
    margin-top: 29px;
}
.market_location_video {
	max-width: 750px;
    margin: 80px auto 0;
}
.market_pillar {
	margin-top: 103px;
}
.market_pillar_img {
	max-width: 988px;
	margin: 40px 0 0 67px;
}
.market_pillar_lists {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	margin-top: 73px;
}
.market_pillar_list {
	width: calc(50% - 27px);
}
.market_pillar_list:nth-of-type(n + 3) {
	margin-top: 51px;
}
.market_pillar_list_title {
	font-size: clamp(2rem, 1.6vw, 2.4rem);
	font-weight: 600;
	border-bottom: 1px solid #9D9D9D;
	padding-bottom: 17px;
}
.market_pillar_list_title span {
	position: relative;
	padding-left: 70px;
}
.market_pillar_list_title span::before {
    position: absolute;
    content: "";
    width: 60px;
    height: 36px;
    left: 0;
    top: 0;
}
.market_pillar_list_vegetables .market_pillar_list_title span::before {
    background: #B9EEC8;
}
.market_pillar_list_logistics .market_pillar_list_title span::before {
    background: #F4C3ED;
}
.market_pillar_list_water .market_pillar_list_title span::before {
    background: #9AD6F8;
}
.market_pillar_list_meals .market_pillar_list_title span::before {
    background: #FFE483;
}
.market_pillar_list_text {
	line-height: 1.45;
	margin-top: 15px;
}
.market_pillar_foot {
	background: linear-gradient( 180deg,#fff 18%,rgba(218,211,166,.35) 18% 100%);
	margin-top: 70px;
	padding: 0 10px 65px;
}
.market_pillar_items {
	display: flex;
	max-width: 867px;
	margin: auto;
}
.market_pillar_item {
	position: relative;
	width: 25%;
	padding-top: 31px;
}
.market_pillar_item_num {
	font-size: 2.4rem;
	font-weight: 600;
	display: grid;
	align-items: center;
	justify-content: center;
	position: absolute;
    left: 50%;
    transform: translateX(-50%);
    top: 0;
	width: 40px;
	height: 40px;
	color: #fff;
	background: #000;
	border-radius: 50%;
	z-index: 1;
}
.market_pillar_item_title {
	position: relative;
	font-size: 1.8rem;
    font-weight: 600;
    text-align: center;
    background: #DAD3A6;
    width: 100%;
    max-width: 130px;
    margin: auto;
    padding: 13px 11px 11px;
}
.market_pillar_item_title::after {
	position: absolute;
	content: "";
    width: 0;
    height: 0;
    left: 50%;
    transform: translateX(-50%);
    bottom: -11px;
	border-style: solid;
	border-width: 12px 12.5px 0 12.5px;
	border-color: #DAD3A6 transparent transparent transparent;
}
.market_pillar_item_img {
	margin-top: 25px;
}
.market_feature {
	margin-top: 60px;
}
.market_feature_point {
	font-size: 1.8rem;
	color: #B4AD5D;
	font-weight: 600;
	text-align: center;
}
.market_feature .subsection_title {
	margin-top: 9px;
}
.market_feature_items {
	display: flex;
	justify-content: space-between;
	background: url(../images/market/market_feature_pic_03.png) no-repeat right bottom / 57.12%;
	padding-bottom: 96px;
	margin-top: 60px;
}
.market_feature_items_body {
	width: calc(50% - 27px);
}
.market_feature_item {
	position: relative;
}
.market_feature_item:nth-of-type(n + 2) {
	margin-top: 50px;
}
.market_feature_item_title {
	font-size: clamp(2.4rem, 1.87vw, 2.8rem);
	font-weight: 600;
	color: #B4AD5D;
	display: flex;
	border-bottom: 1px solid #9D9D9D;
	padding-bottom: 15px;
}
.market_feature_item_title_num {
	font-size: clamp(2rem, 1.6vw, 2.4rem);
	font-weight: 600;
	color: #fff;
	background: #000;
	display: grid;
	align-items: center;
	justify-content: center;
	width: 40px;
    height: 40px;
	border-radius: 50%;
	margin-right: 15px;
}
.market_feature_item_message {
	font-size: clamp(1.8rem, 1.47vw, 2.2rem);
	font-weight: 600;
	color: #004898;
	margin-top: 25px;
}
.market_feature_item_text {
	text-shadow: 2px 2px 4px #fff;
}
.market_feature_item_text .asterisk {
	font-size: 1.4rem;
}
.market_feature_item_01 .market_feature_item_text {
	margin-top: 27px;
}
.market_feature_item_02 .market_feature_item_text,
.market_feature_item_03 .market_feature_item_text,
.market_feature_item_04 .market_feature_item_text {
	margin-top: 16px;
} 
.market_feature_item_frow {
    max-width: 487px;
    margin: 30px auto 0;
}
.market_feature_item_img {
	max-width: 550px;
	margin-top: 35px;
}
.market_feature_item_world {
	position: relative;
	font-size: clamp(2.4rem, 2.4vw, 3.6rem);
	font-weight: 600;
	color: #fff;
	background: #004898;
	text-align: center;
	padding: 23px 10px;
}
.market_feature_item_world::after {
	position: absolute;
	content: "";
	width: 144px;
	top: 0;
	bottom: 0;
	right: -144px;
	background: #004898;
	clip-path: polygon(0% 100%, 0% 0%, 100% 0%, 84% 100%);
}
.market_inspection {
	margin-top: 130px;
}
.market_inspection_inner {
	background: rgba(152, 187, 225, .15);
	padding: 104px 0 120px;
}
.market_inspection_wrapper {
	display: flex;
	margin-top: 60px;
}
.market_inspection_img {
	width: 100%;
	max-width: 454px;
	margin-right: 49px;
}
.market_inspection_content {
	width: 100%;
	max-width: 713px;
	line-height: 1.7;
}
.market_inspection_text p + p {
	margin-top: 10px;
}
.market_inspection_text_link {
	position: relative;
	color: #004898;
	word-break: break-all;
}
.market_inspection_info {
	margin-top: 30px;
}
.market_inspection_info_name {
	color: #004898;
	font-weight: 700;
}

/* news - archive
------------------------------ */
#news .sub_main_view_img {
    background: url(../images/common/news_main_view.jpg) no-repeat center center / cover;
}
.news_archive {
	margin-top: 100px;
}
.news_archive_inner {
	padding-bottom: 260px;
}
.news_archive_wrapper {
	display: flex;
	justify-content: space-between;
}
.news_archive_group {
	width: 100%;
    max-width: 900px;
	margin-right: 20px;
}
.news_archive_item {
}
.news_archive_item:nth-of-type(n + 2) {
	margin-top: 81px;
}
.news_archive_item_unit {
	display: flex;
	align-items: center;
}
.news_archive_item_date {
	font-size: 1.4rem;
	font-weight: 600;
	color: #004898;
	margin-right: 17px;
}
.news_archive_item_cat {
	font-size: 1.4rem;
	font-weight: 600;
	color: #004898;
	background: #F0F5FB;
	width: 100%;
	max-width: 163px;
	text-align: center;
	border-radius: 50px;
	padding: 5px 5px;
}
.news_archive_item_title {
	font-size: 1.8rem;
	font-weight: 600;
	border-bottom: 1px solid #9D9D9D;
    padding-bottom: 13px;
    margin-top: 23px;
}
.news_archive_item_wrapper {
	display: flex;
	margin-top: 35px;
}
.news_archive_item_img {
	width: 100%;
	max-width: 150px;
	margin-right: 35px;
}
.news_archive_item_img img {
    width: 150px;
    height: 150px;
	object-fit: cover;
}
.news_archive_item_content {
	width: 100%;
	max-width: 716px;
}
.news_archive_item_text {
	margin-top: -2px;
}
.news_archive_item_btn {
	max-width: 200px;
    text-align: center;
	margin-top: 20px;
	margin-left: auto;
}
.news_archive_item_btn .btn {
    width: 100%;
    max-width: 200px;
    border-radius: 50px;
    padding: 17px 10px;
}

/* news - pagenavi
------------------------------ */
.pagenavi {
	position: relative;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	font-size: 1.4rem;
	font-weight: 600;
    margin: 136px 0 0;
}
.pagenavi span,.pagenavi a {
	position: relative;
	display: grid;
	justify-content: center;
    align-items: center;
    color: #004898;
    width: 40px;
    height: 40px;
    line-height: 1.8;
    text-align: center;
    border: none;
	border-radius: 50%;
    margin: 0 6.5px;
}
.pagenavi span {
    color: #004898;
    background: #D8EAFF;
    font-weight: 600;
}
.pagenavi a {
    color: #004898;
	background: #F0F5FB;
}
.pagenavi .next,.pagenavi .prev {
	display: none;
}
.pagenavi .prev:before,
.pagenavi .next::after {
    position: absolute;
    content: "";
    width: 11px;
    height: 21px;
	left: 50%;
	top: 50%;
	transform: translate(-50%, -50%);
}
.pagenavi .prev:before {
    background: url(../images/common/pagenavi_prev_blue.png) no-repeat center center / contain;
}
.pagenavi .next::after {
    background: url(../images/common/pagenavi_next_blue.png) no-repeat center center / contain;
}
@media screen and (min-width: 769px) {
	.pagenavi a:hover{
		color: #fff;
		background: #004898;
	}
	.pagenavi .prev:hover:before {
		background: url(../images/common/pagenavi_prev_white.png) no-repeat center center / contain;
	}
	.pagenavi .next:hover::after {
		background: url(../images/common/pagenavi_next_white.png) no-repeat center center / contain;
	}
}
.wp-pagenavi {
	display: flex;
	justify-content: center;
	font-weight: 700;
	margin-top: 140px;
}
.wp-pagenavi .pages {
	display: none;
}
.wp-pagenavi a, 
.wp-pagenavi span {
    display: grid;
    align-items: center;
	color: #004898;
	width: 40px;
	height: 40px;
	line-height: 1.4;
    text-align: center;
	border-radius: 50%;
	border: none;
	margin: 0 4.5px;
}
.wp-pagenavi a {
	background: #F0F5FB;
}
.wp-pagenavi span.current {
	color: #004898;
	background: #D8EAFF;
}
.nextpostslink,
.previouspostslink {
	position: relative;
	font-size: 0;
}
.nextpostslink::before,
.previouspostslink::before {
	position: absolute;
	content: "";
    width: 11px;
    height: 21px;
	left: 50%;
	top: 50%;
    transform: translate(-50%, -50%);
}
.nextpostslink::before {
	background: url(../images/common/next_arrow_blue.png) no-repeat center center / contain;
}
.previouspostslink:before {
	background: url(../images/common/prev_arrow_blue.png) no-repeat center center / contain;
}
@media screen and (min-width: 769px) {
	.wp-pagenavi a:hover {
		color: #fff;
		background: #004898;
	}
	.nextpostslink:hover:before {
		background: url(../images/common/next_arrow_white.png) no-repeat center center / contain;
	}
	.previouspostslink:hover:before {
		background: url(../images/common/prev_arrow_white.png) no-repeat center center / contain;
	}
}

/* news - side
------------------------------ */
.news_archive_side {
	width: 100%;
	max-width: 300px;
}
.news_archive_side_title {
	font-size: 1.8rem;
	font-weight: 600;
	color: #fff;
	background: #004898;
	padding: 22px 25px;
}
.news_archive_side_lists li {
	color: #004898;
	background: rgba(152, 187, 225, .15);
	border-bottom: 1px solid #9D9D9D;
}
.news_archive_side_lists li a {
	display: inline-block;
	font-weight: 600;
	width: 100%;
	padding: 22px 25px;
}

@media screen and (min-width: 769px) {
	.news_archive_side_lists li a:hover {
		color: #fff;
		background: #004898;
	}
}

/* news - single
------------------------------ */
.news_single {
	margin-top: 100px;
}
.news_single_inner {
	padding-bottom: 120px;
}
.news_single_wrapper {
	display: flex;
	justify-content: space-between;
}
.news_single_main {
	width: 100%;
	max-width: 900px;
	margin-right: 20px;
}
.news_article_unit {
	display: flex;
	align-items: center;
}
.news_article_date {
	font-size: 1.4rem;
	font-weight: 600;
	color: #004898;
	margin-right: 17px;
}
.news_article_cat {
	font-size: 1.4rem;
	font-weight: 600;
	color: #004898;
	background: #F0F5FB;
	width: 100%;
	max-width: 163px;
	text-align: center;
	border-radius: 50px;
	padding: 5px 5px;
}
.news_article_title {
	font-size: 1.8rem;
	font-weight: 600;
	border-bottom: 1px solid #9D9D9D;
	padding-bottom: 9px;
    margin-top: 20px;
}
.news_article_img {
	width: 79.5556%;
	margin-top: 35px;
}
.news_article_text {
	line-height: 1.45;
	margin-top: 30px;
}
.news_article_buttons {
	display: flex;
	justify-content: space-between;
	margin-top: 71px;
}
.news_article_button_previous {
	width: 100%;
	max-width: 221px;
	text-align: right;
	order: 1;
}
.news_article_button_previous a::before {
	position: absolute;
	content: "";
    width: 7px;
    height: 13px;
	left: 23px;
	top: 50%;
	transform: translateY(-50%);
	background: url(../images/common/prev_arrow_white.png) no-repeat center center / contain;
}
.news_article_button_all {
	width: 100%;
	max-width: 221px;
	text-align: center;
	order: 2;
}
.news_article_button_next {
	width: 100%;
	max-width: 221px;
	order: 3;
}
.news_article_button_next a::before {
	position: absolute;
	content: "";
    width: 7px;
    height: 13px;
	right: 23px;
	top: 50%;
	transform: translateY(-50%);
	background: url(../images/common/next_arrow_white.png) no-repeat center center / contain;
}
.news_article_button a {
	position: relative;
	display: inline-block;
	font-weight: 600;
	width: 100%;
	color: #fff;
	background: #004898;
	border: 1px solid #004898;
	border-radius: 50px;
	padding: 12px 25px 12px;
}

@media screen and (min-width: 769px) {
	.news_article_button a:hover {
		color: #004898;
		background: #fff;
	}
	.news_article_button_previous a:hover::before {
		background: url(../images/common/prev_arrow_blue.png) no-repeat center center / contain;
	}
	.news_article_button_next a:hover::before {
		background: url(../images/common/next_arrow_blue.png) no-repeat center center / contain;
	}
}

/* traders - archive
------------------------------ */
#traders .sub_main_view_img {
	background: url(../images/common/traders_main_view.jpg) no-repeat center center / cover;
}
.traders_menu {
	margin-top: 98px;
}
.traders_menu_links {
	display: flex;
}
.traders_menu_link {
	width: calc(20% - 16px);
}
.traders_menu_link:not(:last-of-type) {
	margin-right: 20px;
}
.traders_menu_link a {
    position: relative;
    display: block;
    font-size: clamp(2rem, 1.6vw, 2.4rem);
    font-weight: 600;
    text-align: center;
	border: 1px solid #004898;
	background: #fff;
	border-radius: 50px;
    padding: 12px 10px 29px;
}
.traders_menu_link a::after {
    position: absolute;
    content: "";
    width: 14px;
    height: 7px;
    left: 50%;
    transform: translateX(-50%);
    bottom: 11px;
    background: url(../images/top/top_traders_link_arrow_blue.png) no-repeat center center / contain;
}
.traders_menu_link a span {
    display: inline-block;
    width: 100%;
    max-width: 171px;
    padding-bottom: 4px;
}
.traders_menu_link_vegetables a span {
    border-bottom: 7px solid #B9EEC8;
}
.traders_menu_link_water a span {
    border-bottom: 7px solid #9AD6F8;
}
.traders_menu_link_logistics a span {
    border-bottom: 7px solid #F4C3ED;
}
.traders_menu_link_meals a span {
    border-bottom: 7px solid #FFE483;
}
.traders_menu_link_facility a span {
    border-bottom: 7px solid #FAB15B;
}
.traders_section {
	margin-top: 100px;
}
.traders_section:last-child {
	padding: 0 0 300px;
}
.traders_subtitle {
    font-size: clamp(2.2rem, 1.87vw, 2.8rem);
    font-weight: 600;
    border-bottom: 1px solid #9D9D9D;
    padding-bottom: 19px;
}
.traders_subtitle span {
    position: relative;
    padding-left: 70px;
}
.traders_subtitle span::before {
    position: absolute;
    content: "";
    width: 60px;
    height: 36px;
    left: 0;
    top: 3px;
}
.traders_cat_vegetables span::before {
    background: #B9EEC8;
}
.traders_cat_water span::before {
    background: #9AD6F8;
}
.traders_cat_logistics span::before {
    background: #F4C3ED;
}
.traders_cat_meals span::before {
    background: #FFE483;
}
.traders_cat_facility span::before {
    background: #FAB15B;
}
.traders_items {
	display: flex;
	flex-wrap: wrap;
	margin-top: 60px;
}
.traders_item {
	width: calc(20% - 20px);
	background: #F0F5FB;
}
.traders_item:not(:nth-of-type(5n)) {
	margin-right: 25px;
}
.traders_item:nth-of-type(n + 6) {
	margin-top: 50px;
}
.traders_item_title {
	font-size: 1.8rem;
	font-weight: 600;
	padding: 26px 20px;
}
.traders_item_img img {
	width: 100%;
	height: auto;
    aspect-ratio: 230/148;
    object-fit: cover;
	border: 1px solid #F0F5FB;
}

@media screen and (min-width: 769px) {
	.traders_menu_link a:hover {
		color: #fff;
		background: #004898;
		border: 1px solid #fff;
	}
	.traders_menu_link a:hover::after {
		background: url(../images/top/top_traders_link_arrow_white.png) no-repeat center center / contain;
	}
}

/* traders - single
------------------------------ */
.traders_single {
	margin-top: 119px;
}
.traders_single_inner {
	padding: 0 0 130px;
}
.traders_single_wrapper {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
}
.traders_single_img {
	width: 100%;
	max-width: 746px;
	margin-right: 20px;
}
.traders_single_img img {
	aspect-ratio: 746/480;
	object-fit: cover;
	width: 100%;
	height: auto;
	border: 1px solid #F0F5FB;
}
.traders_single_side {
	width: 100%;
	max-width: 462px;
}
.traders_single_cat {
	font-size: 1.8rem;
	font-weight: 600;
	text-align: center;
	padding: 20px 10px;
}
.traders_single_cat.traders_cat_vegetables {
	background: #B9EEC8;
}
.traders_single_cat.traders_cat_water {
	background: #9AD6F8;
}
.traders_single_cat.traders_cat_logistics {
	background: #F4C3ED;
}
.traders_single_cat.traders_cat_meals {
	background: #FFE483;
}
.traders_single_cat.traders_cat_facility {
	background: #FAB15B;
}
.traders_single_title {
	font-size: clamp(2rem, 1.6vw, 2.4rem);
	font-weight: 600;
	color: #004898;
	margin-top: 20px;
}
.traders_single_figure {
	margin-top: 25px;
}
.traders_single_figure dl {
	display: flex;
	border-top: 1px solid #9D9D9D;
}
.traders_single_figure dl:last-of-type {
	border-bottom: 1px solid #9D9D9D;
}
.traders_single_figure dt {
	width: 100%;
	max-width: 176px;
	background: rgba(152, 187, 225, .15);
	padding: 22.5px 27px;
}
.traders_single_figure dd {
    width: calc(100% - 176px);
	padding: 22.5px 27px;
	overflow-wrap: break-word;
}
.traders_single_content {
	margin-top: 70px;
}
.traders_single_message {
	font-size: 2rem;
	font-weight: 600;
	color: #004898;
}
.traders_single_text {
	line-height: 1.45;
    margin-top: 15px;
}
.traders_single_btn {
	text-align: center;
	margin-top: 70px;
}
.traders_single_btn .btn {
    width: 100%;
    max-width: 350px;
    padding: 27px 0;
}

@media screen and (min-width: 769px) {
	.traders_single_figure dd a:hover {
		color: #004898;
	}
}

/* marketer
------------------------------ */
#marketer .sub_main_view_img {
	background: url(../images/common/marketer_main_view.jpg) no-repeat center center / cover;
}
.marketer_guide {
	margin-top: 100px;
}
.marketer_guide_message {
	text-align: center;
    line-height: 1.8;
    margin-top: 28px;
}
.marketer_guide_img_wrapper {
	margin-top: 68px;
}
.marketer_guide_img {
}
.marketer_purchaser {
	margin-top: 130px;
}
.marketer_purchaser_inner {
	padding-bottom: 130px;
}
.marketer_purchaser_subtitle {
	font-size: clamp(2.4rem, 1.87vw, 2.8rem);
	font-weight: 600;
	border-bottom: 1px solid #9D9D9D;
	margin-top: 53px;
	padding-bottom: 15px;
}
.marketer_purchaser_message {
	font-size: 2.2rem;
    font-weight: 600;
    margin-top: 20px;
}
.marketer_purchaser_items {
	display: flex;
	justify-content: space-between;
	margin-top: 26px;
}
.marketer_purchaser_item {
	width: calc(50% - 27px);
	border-bottom: 1px solid #9D9D9D;
	padding-bottom: 35px;
}
.marketer_purchaser_item_title {
	font-weight: 600;
}
.marketer_purchaser_item_name {
	margin-top: 4px;
}
.marketer_purchaser_item_info {
	margin-top: 4px;
}
.marketer_entrepreneur {
	margin-top: 123px;
}
.marketer_entrepreneur_inner {
	padding-bottom: 130px;
}
.marketer_entrepreneur_subtitle {
	font-size: clamp(2.4rem, 1.87vw, 2.8rem);
	font-weight: 600;
	border-bottom: 1px solid #9D9D9D;
	margin-top: 51px;
	padding-bottom: 15px;
}
.marketer_entrepreneur_lists {
	margin-top: 27px;
}
.marketer_entrepreneur_list:nth-of-type(n + 2) {
	margin-top: 4px;
}
.marketer_entrepreneur_list a {
	position: relative;
	color: #004898;
	font-weight: 600;
}
.marketer_entrepreneur_list a::after {
	position: absolute;
	content: "";
	display: block;
    bottom: 0;
	width: 100%;
	height: 1px;
	transform: scale(1, 1);
    transform-origin: center top;
	transition: all 0.3s;
    background: #004898;
}

@media screen and (min-width: 769px) {
	.marketer_entrepreneur_list a:hover::after {
		transform: scale(0, 1);
	}
}

/* summary
------------------------------ */
#summary .sub_main_view_img {
	background: url(../images/common/summary_main_view.jpg) no-repeat center center / cover;
}
.summary_outline {
	margin-top: 100px;
}
.summary_outline_wrapper {
	margin-top: 50px;
}
.summary_wrapper {
	display: flex;
	justify-content: space-between;
}
.summary_figure {
	width: 100%;
	max-width: 843px;
	margin-right: 20px;
}
.summary_figure dl {
	display: flex;
	border-top: 1px solid #9D9D9D;
}
.summary_figure dl:last-of-type {
	border-bottom: 1px solid #9D9D9D;
}
.summary_figure dt {
	width: 100%;
	max-width: 224px;
	background: rgba(152, 187, 225, .15);
    padding: 22.5px 27px 22.5px;
}
.summary_figure dd {
	width: calc(100% - 224px);
	line-height: 1.4;
    padding: 22.5px 27px 22.5px;
}
.summary_images {
	width: 100%;
	max-width: 373px;
}
.summary_image:nth-of-type(n + 2) {
	margin-top: 35px;
}
.summary_venue {
	margin-top: 120px;
} 
.summary_venue_wrapper {
	display: flex;
	justify-content: space-between;
	margin-top: 30px;
}
.summary_venue_calender {
	width: calc(50% - 40px);
}
.summary_hours {
	margin-top: 120px;
}
.summary_hours_figure {
    margin: 50px auto 0;
}
.summary_history {
	margin-top: 120px;
}
.summary_history_wrapper {
	margin-top: 50px;
}
.summary_faq {
	margin-top: 122px;
}
.summary_faq_items {
	margin-top: 51px;
}
.summary_faq_item {
	background: #F0F5FB;
	padding: 30px 30px 37px;
}
.summary_faq_item:nth-of-type(n + 2) {
	margin-top: 18px;
}
.summary_faq_item_q {
	position: relative;
	font-size: clamp(2rem, 1.6vw, 2.4rem);
	font-weight: 600;
	color: #004898;
	border-bottom: 1px solid #9D9D9D;
	padding-bottom: 20px;
	padding-left: 38px;
}
.summary_faq_item_q::before {
	position: absolute;
	content: "Q.";
	font-size: clamp(2rem, 1.6vw, 2.4rem);
	left: 0;
	top: 3px;
}
.summary_faq_item_a {
	position: relative;
	font-weight: 600;
	padding-left: 20px;
	margin-top: 25px;
	margin-left: 62px;
}
.summary_faq_item_a::before {
	position: absolute;
	content: "A.";
	font-weight: 600;
	left: 0;
	top: 0;
}
.summary_look {
	margin-top: 120px;
}
.summary_look_inner {
	padding-bottom: 130px;
}
.summary_look_links {
	display: flex;
	justify-content: center;
	margin-top: 50px;
}
.summary_look_link {
	width: 100%;
	max-width: 450px;
	border: 1px solid #9D9D9D;
}
.summary_look_link:nth-of-type(2n) {
	margin-left: 52px;
}

/* contact
------------------------------ */
#contact .sub_main_view_img {
	background: url(../images/common/contact_main_view.jpg) no-repeat center center / cover;
}
.contact_tel {
	margin-top: 100px;
}
.contact_tel_content {
	width: 100%;
	max-width: 640px;
	background: #F0F5FB;
	padding: 43px 53px 30px;
	margin: 50px auto 0;
}
.contact_tel_sub_title {
	font-size: clamp(2.6rem, 2.13vw, 3.2rem);
	font-weight: 600;
	text-align: center;
	border-bottom: 1px solid #9D9D9D;
	padding-bottom: 19px;
}
.contact_tel_num {
	font-size: clamp(2.6rem, 2.13vw, 3.2rem);
	font-weight: 600;
	color: #004898;
	text-align: center;
	margin-top: 17px;
}
.contact_tel_num a {
	font-size: clamp(3.4rem, 2.93vw, 4.4rem);
}
.contact_mail {
	margin-top: 123px;
}
.contact_mail_inner {
	padding: 0 0 120px;
}
.contact_message {
    text-align: center;
    line-height: 1.8;
    margin-top: 28px;
}
.contact_form {
	margin-top: 47px;
}
.contact_form_row {
	display: flex;
	border-top: 1px solid #9D9D9D;
}
.contact_form_row:last-of-type {
	border-bottom: 1px solid #9D9D9D;
}
.contact_form_title {
	position: relative;
	color: #004898;
	width: 100%;
	max-width: 307px;
	padding: 21px 10px 21px 16px;
}
.contact_form_input {
	width: calc(100% - 307px);
	min-height: 69px;
	padding: 12px 30px 8px 16px;
}
.contact_form_input input[type=text],
.contact_form_input input[type=tel],
.contact_form_input input[type=email] {
	width: 100%;
	background: rgba(152, 187, 225, .15);
	padding: 10px 15px;
}
.contact_form_input textarea {
	width: 100% !important;
	height: 201px !important;
	background: rgba(152, 187, 225, .15);
	padding: 10px 15px;
}
.contact_form_radio_buttons {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
    min-height: 50px;
}
.contact_form_radio_button {
	margin-right: 42px;
}
.contact_form_radio_button:last-of-type {
	margin-right: 0;
}
.contact_form_privacy {
	width: calc(100% - 324px);
	padding: 0 30px 0 0;
    margin-left: auto;
    margin-top: 33px;
}
.contact_form_privacy_inner {
	height: 143px;
    overflow-y: scroll;
	background: rgba(152, 187, 225, .15);
	padding: 26px 31px;
}
.contact_form_privacy_title {
	font-size: 1.8rem;
	font-weight: 600;
	color: #004898;
}
.contact_form_checkbox.none {
    display: none;
}
.contact_form_checkbox {
    width: calc(100% - 324px);
    margin-left: auto;
	margin-top: 32px;
}
.contact_form_checkbox_parts {
	font-weight: 700;
    letter-spacing: 0.001em;
    padding-left: 40px;
    position:relative;
}
.contact_form_checkbox_parts::before {
    content: "";
    display: block;
    position: absolute;
    top: -4px;
    left: -4px;
    width: 32px;
    height: 32px;
	background: rgba(152, 187, 225, .15);
    border: none;
    border-radius: 1px;
}
.contact_form_checkbox_input  {
	display: none;
}
.contact_form_checkbox_input:checked + .contact_form_checkbox_parts::after {
    content: "";
    display: block;
    position: absolute;
    top: 1px;
    left: 5px;
    width: 12px;
    height: 20px;
    transform: rotate(40deg);
    border-bottom: 3px solid #012558;
    border-right: 3px solid #012558;
}
.contact_form_checkbox_err .mfp_err {
	width: 228px;
	max-width: 100%;
	margin: auto;
	padding: 5px 0;
}
.contact_form_btn {
	text-align: center;
	margin-top: 55px;
}
.contact_form_btn .btn {
	width: 100%;
	max-width: 350px;
	padding: 27px 0;
	border-radius: 50px;
}

/* contact - thanks
------------------------------ */
#thanks .sub_main_view_img {
	background: url(../images/common/contact_main_view.jpg) no-repeat center center / cover;
}
.thanks {
	margin-top: 100px;
}
.thanks_inner {
	padding: 0 0 100px;
}
.thanks_text {
	text-align: center;
	margin-top: 20px;
}
.thanks_btn {
	text-align: center;
	margin-top: 30px;
}
.thanks_btn .btn {
	width: 100%;
    max-width: 200px;
    border-radius: 50px;
    padding: 17px 10px;
}

/* 404
------------------------------ */
#yonmaruyon .sub_main_view_img {
	background: url(../images/common/summary_main_view.jpg) no-repeat center center / cover;
}
#yonmaruyon_main {
	margin-top: 120px;
}
.yonmaruyon_btn {
    margin-top: 30px;
}
.yonmaruyon_btn .btn {
    width: 100%;
	max-width: 258px;
    padding: 20px 25px;
	border-radius: 10px;
}
.yonmaruyon_inner {
	padding-bottom: 100px;
}

/* footer
------------------------------ */
.footer_inner {
	position: relative;
	color: #fff;
	background: #004898;
	padding: 110px 0 88px;
}
.footer_inner::after {
	position: absolute;
	content: "";
	width: 44.8%;
	right: 0;
	top: 0;
	bottom: 0;
	background: url(../images/common/footer_bg.jpg) no-repeat center center / cover;
	clip-path: polygon(0% 100%, 16% 0%, 100% 0%, 100% 100%);
}
.footer_wrapper {
	display: flex;
	position: relative;
    z-index: 1;
}
.footer_left {
	width: 100%;
	max-width: 464px;
	margin-right: 66px;
}
.footer_info {
    font-size: 1.4rem;
    margin-top: 23px;
}
.footer_tel {
	margin-top: 4px;
}
.footer_center {
	width: 100%;
	max-width: clamp(120px, 19.27vw, 286px);
	margin-right: 20px;
}
.footer_right {
	width: 100%;
	/* max-width: 279px; */
	max-width: 290px;
	margin-top: -3px;
	margin-left: auto;
}
.footer_nav {
	display: flex;
	justify-content: space-between;
}
.footer_list:not(:first-of-type) {
	margin-top: 14px;
}
.footer_list a {
	font-size: 1.4rem;
}
.copyright {
	margin-top: 44px;
}
.copyright small {
	font-size: 1.2rem;
	letter-spacing: 0;
}
.copyright a {
	display: inline-block;
}
.copyright a::after {
	content: "";
	display: block;
	width: 0;
	transition: width 0.3s;
	border-bottom: 1px solid #fff;
	margin: auto;
}

@media screen and (min-width: 769px) {
	.copyright a:hover::after {
		width: 100%;
	}
}

/* Page Top
------------------------------ */
.pagetop{
	position: fixed;
	bottom: 40px;
	right: 50px;
	width: 54px;
	height: 54px;
	transition: all .4s;
	opacity: 0;
	z-index: 10;
	box-sizing: border-box;
	border: 1px solid #fff;
	background: #004898;
}
.pagetop.show{
	opacity: 1;
	text-indent: -9999px;
}
.pagetop:hover{
	color: #004898;
	background: #fff;
	border: 1px solid #004898;
}
.pagetop::before{
	content: "";
	position: absolute;
	width: 20px;
	height: 20px;
	border-top: #fff solid 1px;
	border-left: #fff solid 1px;
	transform: rotate(45deg);
	left: 0;
	right: 0;
	margin: 0 auto;
	top: 26px;
	transition: .25s;
}
.pagetop:hover::before{
	border-top-color: #004898;
	border-left-color: #004898;
}
