@charset "UTF-8";

/* common
-------------------------------------------- */
#content {
	margin-top: 87px;
	font-family: "Meiryo", "メイリオ", sans-serif;
}
@media screen and (min-width: 0px) and (max-width: 767px) {
	#content {
		margin-top: 0;
	}
}

section:first-child {
	margin-top: 60px;
}
@media screen and (min-width: 0px) and (max-width: 767px) {
	section:first-child {
		margin-top: 30px;
	}
}

section + section {
	margin-top: 70px;
}
@media screen and (min-width: 0px) and (max-width: 767px) {
	section + section {
		margin-top: 50px;
	}
}


/* 見出し関連
-------------------------------------------- */
#content h3 {
	position: relative;
	margin-bottom: 45px;
	font-size: 34px;
	text-align: center;
	font-weight: 700;
	line-height: 180%;
}
@media screen and (min-width: 0px) and (max-width: 767px) {
	#content h3 {
		margin-bottom: 30px;
		font-size: 24px;
	}
}

#content h3 span {
	display: inline-block;
	background-image: linear-gradient(to right, #007dc6 0%, #00a8e4 100%);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
	color: #005eb8;
}
@media all and (-ms-high-contrast:none) {
	*::-ms-backdrop,
	#content h3 span {
		color: #00b9e6;
		background: none;
	}
}

#content .line::before,
#content .line::after {
	content: "";
	width: 43%;
	height: 3px;
	background: #0080c8;
	position: absolute;
	top: 0;
	bottom: 0;
	margin: auto;
}
@media screen and (min-width: 0px) and (max-width: 767px) {
	#content .line::before,
	#content .line::after {
		width: 30%;
	}
}
@media screen and (min-width: 768px) and (max-width: 900px) {
	#content .line::before,
	#content .line::after {
		width: 40%;
	}
}

#content .line::before {
	left: 0;
}

#content .line::after {
	right: 0;
}


/* 画像関連
-------------------------------------------- */
#content figure {
	margin: 0;
}


/* ボタン関連
-------------------------------------------- */
#content .btn-area {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
}
@media screen and (min-width: 0px) and (max-width: 767px) {
	#content .btn-area {
		width: 100%;
	}
}

#content .m-btn-box {
	min-width: 370px;
	margin-top: 0;
}
@media screen and (min-width: 0px) and (max-width: 767px) {
	#content .m-btn-box {
		margin: 0 auto;
		min-width: initial;
		min-width: auto;
	}
}
@media screen and (min-width: 768px) and (max-width: 900px) {
	#content .m-btn-box {
		min-width: initial;
		min-width: auto;
		width: 100%;
	}
}

#content .btn-area .m-btn-box + .m-btn-box {
	margin-left: 30px;
}
@media screen and (min-width: 0px) and (max-width: 767px) {
	#content .btn-area .m-btn-box + .m-btn-box {
		margin-top: 30px;
		margin-left: 0;
	}
}
@media screen and (min-width: 768px) and (max-width: 900px) {
	#content .btn-area .m-btn-box + .m-btn-box {
		margin-top: 30px;
		margin-left: 0;
	}
}

#content .m-btn-box a {
	position: relative;
	display: block;
	background-color: #ffffff;
	padding: 16px 30px;
	font-size: 14px;
	text-align: center;
	text-decoration: none;
}

#content .m-btn-box:hover a {
	background: #9bcbf7;
	transition: 0.3s;
	border-color: rgb(109, 161, 214);
}


/* mainVisual
------------------------------------------- */
#content .mainVisual {
	position: relative;
	margin-bottom: 30px;
	padding: 60px 0 15px 50px;
	text-align: center;
	background: url(../images/bg_mainvisual_pc.png) no-repeat center center / cover;
}
@media screen and (min-width: 0px) and (max-width: 767px) {
	#content .mainVisual {
		background: url(../images/bg_mainvisual_sp.png) no-repeat center center / cover;
		background-size: cover;
		margin-left: -20px;
		margin-right: -20px;
		padding: 0;
	}
}

#content .mainVisual_inner {
	display: flex;
	justify-content: space-between;
}
@media screen and (min-width: 0px) and (max-width: 767px) {
	#content .mainVisual_inner {
		display: block;
		padding: 50px 0 40px 0;
	}
}

#content .mainVisual_left {
	width: 500px;
	height: auto;
}
@media screen and (min-width: 0px) and (max-width: 767px) {
	#content .mainVisual_left {
		width: 100%;
		height: auto;
		display: flex;
		justify-content: center;
	}
}

@media screen and (min-width: 0px) and (max-width: 767px) {
	#content .mainVisual_left h2 {
		width: 300px;
		height: 150px;
	}
}

@media screen and (min-width: 0px) and (max-width: 767px) {
	#content .mainVisual_right {
		margin-top: 35px;
	}
}

#content .mainVisual_date {
	margin-bottom: 20px;
}
@media screen and (min-width: 0px) and (max-width: 767px) {
	#content .mainVisual_date {
		padding: 0 38px;
		margin-bottom: 30px;
	}
}

#content .mainVisual_banner-link {
	position: relative;
	display: block;
	width: 550px;
	height: 110px;
	background: url(../images/p_mainvisual_banner.png) no-repeat center center / cover;
	transition: 0.5s;
}
#content .mainVisual_banner-link:hover {
	background: url(../images/p_mainvisual_banner-hover.png) no-repeat center center / cover;
}
@media screen and (min-width: 0px) and (max-width: 767px) {
	#content .mainVisual_banner-link {
		width: 100%;
		height: 68px;
	}
}


/* registration
------------------------------------------- */
#content .registration dl {
	margin-right: 30px;
	width: calc(100% - 20% - 30px);
}
@media screen and (min-width: 0px) and (max-width: 767px) {
	#content .registration dl {
		margin-right: 0;
		width: 100%;
	}
}

#content .bluearea {
	background: rgb(0, 185, 239);
	background: linear-gradient(90deg, rgba(0, 185, 239, 1) 0%, rgba(0, 105, 183, 1) 60%, rgba(11, 49, 144, 1) 100%);
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	padding: 30px;
	display: flex;
	justify-content: space-between;
	font-size: 14px;
	line-height: 2;
}
@media screen and (min-width: 0px) and (max-width: 767px) {
	#content .bluearea {
		display: block;
		padding: 20px;
	}
}

#content .bluearea dl dt {
	margin-bottom: 10px;
	font-size: 18px;
	color: #fff;
}

#content .bluearea dl dd {
	color: #fff;
}

#content .bluearea .btn-area {
	width: 340px;
	display: flex;
	align-items: center;
}
@media screen and (min-width: 0px) and (max-width: 767px) {
	#content .bluearea .btn-area {
		display: block;
		margin-top: 20px;
		width: 100%;
	}
}

#content .bluearea .m-btn-box {
	width: 100%;
	min-width: initial;
	min-width: auto;
	margin: 0 auto 0;
}

#content .bluearea .m-btn-box a {
	font-size: 16px;
}


/* service
------------------------------------------- */
#content .service {
	margin-top: 40px;
}

#content .service .service_inner {
	padding: 50px 0;
	text-align: center;
	background: #F1F5F7;
}
@media screen and (min-width: 0px) and (max-width: 767px) {
	#content .service .service_inner {
		padding: 40px 10px;
	}
}

#content .service .service_title {
	margin-top: 0;
	margin-bottom: 10px;
	color: #0069B7;
	font-size: 40px;
	font-weight: 700;
}
@media screen and (min-width: 0px) and (max-width: 767px) {
	#content .service .service_title {
		font-size: 20px;
	}
}

#content .service .service_text {
	margin-top: 0;
	margin-bottom: 55px;
	color: #0069B7;
	font-size: 20px;
	font-weight: 700;
	line-height: 180%;
}
@media screen and (min-width: 0px) and (max-width: 767px) {
	#content .service .service_text {
		margin-bottom: 30px;
		font-size: 15px;
	}
}

#content .service .btn-area {
	margin-top: 55px;
}
@media screen and (min-width: 0px) and (max-width: 767px) {
	#content .service .btn-area {
		margin-top: 30px;
	}
}


/* models
------------------------------------------- */
#content .models + .models {
	border-top: 1px solid #cccccc;
	margin-top: 15px;
}
@media screen and (min-width: 0px) and (max-width: 767px) {
	#content .models + .models {
		margin-top: 50px;
	}
}

#content .models + .models .models-list {
	margin-top: 65px;
}
@media screen and (min-width: 0px) and (max-width: 767px) {
	#content .models + .models .models-list {
		margin-top: 50px;
	}
}

#content .models .inner {
	padding: 50px 0;
}
#content .models .inner:nth-of-type(n+2) {
	padding: 40px 0 50px 0;
}
@media screen and (min-width: 0px) and (max-width: 767px) {
	#content .models .inner {
		padding: 65px 0 0 0;
	}
	#content .models .inner:nth-of-type(n+2) {
		padding: 50px 0 35px 0;
	}
}

#content .models .inner:first-child:not(.feature .inner) {
	padding-top: 0;
	border-top: none;
}
@media screen and (min-width: 0px) and (max-width: 767px) {
	.models .inner:last-child:not(.feature .inner) {
		padding-bottom: 0;
	}
}

#content .models .models_greenmsmartachine {
	margin-bottom: 15px;
}

#content .models .models_title {
	margin: 0 0 10px 0;
	color: #000;
	font-size: 18px;
	font-weight: 700;
}
@media screen and (min-width: 0px) and (max-width: 767px) {
	#content .models .models_title {
		margin: 0 0 15px 0;
		font-size: 16px;
	}
}

#content .models_image {
	margin: 30px 0 0 30px;
}
@media screen and (min-width: 0px) and (max-width: 767px) {
	#content .models_image {
		margin: 30px 0;
	}
}

#content .models_image figcaption {
	margin: 5px 52px 0 0;
	color: #000;
	text-align: right;
	font-size: 14px;
	font-weight: 400;
	line-height: 180%;
}
@media screen and (min-width: 0px) and (max-width: 767px) {
	#content .models_image figcaption {
		margin: 5px 0 0 0;
		font-size: 12px;
	}
}

#content .models_lead {
	margin-top: 0;
	margin-bottom: 20px;
	color: #005EB8;
	font-size: 24px;
	font-weight: 700;
}
@media screen and (min-width: 0px) and (max-width: 767px) {
	#content .models_lead {
		margin-top: 0;
		margin-bottom: 20px;
		font-size: 20px;
	}
}

#content .models_lead-body {
	display: flex;
	gap: 30px;
}
@media screen and (min-width: 0px) and (max-width: 767px) {
	#content .models_lead-body {
		display: block;
	}
}

#content .models_lead-item {
	position: relative;
	flex: 1;
}
@media screen and (min-width: 0px) and (max-width: 767px) {
	#content .models_lead-item:nth-of-type(n+2) {
		margin-top: 30px;
	}
}

#content .models_lead-item .models_lead-text {
	margin-top: 0;
	margin-bottom: 5px;
	color: #000;
	font-size: 14px;
	font-weight: 400;
}

#content .models_lead-item .models_lead-frame {
	border: 1px solid #CCC;
}

#content .models_lead-item img {
	width: 100% !important;
}

#content .models .models_note {
	margin: 0 0 50px 0;
	color: #000;
	text-align: right;
	font-size: 14px;
	font-weight: 400;
	line-height: 180%;
}
@media screen and (min-width: 0px) and (max-width: 767px) {
	#content .models .models_note {
		margin: 0 0 50px 0;
		font-size: 12px;
	}
}

#content .models .btn-area {
	margin: 30px auto 0 auto;
}


/* exhibit
------------------------------------------- */
#content .exhibit .line::before,
#content .exhibit .line::after {
	content: "";
	width: 38.5%;
}
@media screen and (min-width: 0px) and (max-width: 767px) {
	#content .exhibit .line::before,
	#content .exhibit .line::after {
		content: "";
		width: 20.5%;
	}
}

#content .exhibit_item {
	position: relative;
	align-content: center;
	padding: 40px 50px 40px 50px;
	border: 1px solid #CCC;
	background: var(--Linear, linear-gradient(90deg, #FFF 0%, #F5F5F5 100%));
}
@media screen and (min-width: 0px) and (max-width: 767px) {
	#content .exhibit_item {
		padding: 40px 20px;
	}
}
#content .exhibit_box {
	display: flex;
	justify-content: space-between;
	align-items: center;
}
#content .exhibit_textbox {
	width: calc(100% - 187px);
	margin-right: 20px;
}

#content .exhibit_label {
	margin-bottom: 10px;
	color: #000;
	font-size: 18px;
	font-weight: 700;
}
#content .exhibit_image {
	width: 187px;
}
#content .exhibit_title {
	margin-top: 0;
	color: #000;
	font-size: 34px;
	font-weight: 700;
}
@media screen and (min-width: 0px) and (max-width: 767px) {
	#content .exhibit_box {
		flex-direction: column;
	}
	#content .exhibit_textbox {
		width: auto;
		margin-right: 0;
	}
	#content .exhibit_title {
		font-size: 24px;
	}
	#content .exhibit_image {
		width: 100%;
		margin-top: 30px;
		text-align: center;
	}
}

#content .exhibit_text {
	margin-top: 0;
	color: #005EB8;
	font-size: 22px;
	font-weight: 400;
}
@media screen and (min-width: 0px) and (max-width: 767px) {
	#content .exhibit_text {
		margin-top: 5px;
		font-size: 16px;
	}
}

#content .exhibit_item.exhibit_item01 .exhibit_text {
	margin-top: 35px;
}

#content .exhibit_item.exhibit_item01 .btn-area {
	margin-top: 60px;
}

#content .exhibit_item.exhibit_item02 .btn-area {
	margin-top: 30px;
}

@media screen and (min-width: 0px) and (max-width: 767px) {
	#content .exhibit_item.exhibit_item04 .exhibit_box {
		display: block;
	}

	#content .exhibit_item.exhibit_item04 .exhibit_text {
		margin-bottom: 20px;
	}
}


/* campaign
------------------------------------------- */
#content .campaign .line::before,
#content .campaign .line::after {
	content: "";
	width: 18.5%;
}
@media screen and (min-width: 0px) and (max-width: 767px) {
	#content .campaign .line::before,
	#content .campaign .line::after {
		content: "";
		width: 8%;
	}
}

#content .campaign h3 {
	margin-bottom: 15px;
}

#content .campaign_lead {
	color: #000;
	text-align: center;
	font-size: 18px;
	font-weight: 700;
	line-height: 180%;
}
@media screen and (min-width: 0px) and (max-width: 767px) {
	#content .campaign_lead {
		font-size: 14px;
	}
}

#content .campaign_items {
	margin-top: 10px;
}

#content .campaign_item {
	position: relative;
	display: block;
	padding: 30px 0;
	text-align: center;
	background: #E5EFF8;
	text-decoration: none;
}

#content .campaign_item:hover .campaign_url {
	opacity: 0.5;
}

#content .campaign_icon {
	width: 77px;
	height: 77px;
	margin: 0 auto;
}

#content .campaign_url {
	margin: 10px 0 20px 0;
	font-size: 14px;
	transition: 0.5s;
}
@media screen and (min-width: 0px) and (max-width: 767px) {
	#content .campaign_url {
		font-size: 12px;
	}
}

#content .campaign_url a:hover {
	text-decoration: none;
}

#content .campaign_qr {
	width: 124px;
	height: 124px;
	margin: 0 auto;
}

#content .campaign_note {
	margin-top: 30px;
	color: #000;
	text-align: center;
	font-size: 20px;
	font-weight: 400;
	line-height: 180%;
}
@media screen and (min-width: 0px) and (max-width: 767px) {
	#content .campaign_note {
		font-size: 14px;
	}
}

#content .campaign_note .campaign_note-accent {
	color: #00B9EF;
	font-size: 26px;
	font-weight: 700;
}
@media screen and (min-width: 0px) and (max-width: 767px) {
	#content .campaign_note .campaign_note-accent {
		font-size: 18px;
	}
}


/* map
------------------------------------------- */
#content .map .line::before,
#content .map .line::after {
	content: "";
	width: 41.5%;
}
@media screen and (min-width: 0px) and (max-width: 767px) {
	#content .map .line::before,
	#content .map .line::after {
    width: 26%;
	}
}

.map .map-title .title {
	font-size: 32px;
	font-weight: bold;
	line-height: 1.5;
}
@media screen and (min-width: 0px) and (max-width: 767px) {
	.map .map-title .title {
		font-size: 22px;
	}
}

.map .map-title dl {
	display: flex;
	align-items: flex-start;
}

.map .map-title dl dt {
	width: 6em;
	text-align: center;
	background: rgb(0,185,239);
	background: linear-gradient(270deg, rgba(0,185,239,1) 0%, rgba(0,105,183,1) 60%, rgba(11,49,144,1) 100%);
	color: #fff;
	padding: 3px 10px;
	margin-right: 15px;
}

.map .map-title dl dd {
	width: calc(100% - 6em);
}


/* official-site
------------------------------------------- */
.official-site {
	background: #e5eff8;
	padding: 30px 0;
}

.official-site .btn-area {
	margin: auto;
	width: auto;
}

.official-site .m-btn-box {
	margin: 0 auto;
	min-width: initial;
	min-width: auto;
}
@media screen and (min-width: 768px) and (max-width: 900px) {
	.official-site .m-btn-box {
		width: 370px;
	}
}

.official-site .m-btn-box a {
	padding: 16px 35px;
	font-size: 16px;
}
@media screen and (min-width: 0px) and (max-width: 767px) {
	.official-site .m-btn-box a {
		padding: 16px 20px 16px 0;
	}
}