@charset "utf-8";
/* CSS Document */

@media only screen and (max-width:1366px){
	
	/*------ HEADER ------*/
	.hd-nav .menu-list .menu-listItem a.link { padding: 1em 0.5em; font-size: 0.94rem; }
	
	/*------ FOOTER ------*/
	.footer__items .items-menu { width: 60%; }
	
	/*----- TOP PAGE -----*/
	.member__headline { padding: 0 3% 0 8%; }
	.member__headline h2 { padding: 4em 1.5em 1em; min-height: 350px; }
	
	.main-member .member__itemList { width: 100%; }
	.main-member .member__itemList .item a { padding: 1.8em; min-height: 350px; }
	
	/*------ MESSAGE -----*/
	.mess_cv .mess__text-box .flex-box { width: 90%; }
	
}

@media only screen and (max-width:1024px){
	
	/*------ HEADER ------*/
	.hd-inner { padding: 1em 2em; }
	
	.hd-nav { display: none; }
	
	.hd-inner__info .info-logo { width: 300px; }
	.hd-inner__info .info-logo img { width: 100%; }
	
	.hd-inner__info .info-tel { padding-right: 80px; }
	.hd-inner__info .info-tel .number { font-size: 1.3rem; }
	.hd-inner__info .info-tel .number span { line-height: 1.2; }
	
	/* バーガーメニュー */
	.button_container {
        display: block;
        position: fixed;
        top: 0;
        right: 0;
        height: 90px;
        width: 90px;
        cursor: pointer;
        -webkit-transition: opacity .25s ease;
        transition: opacity .25s ease;
        z-index: 2000;
        background-color: #00a74d;
    }
	.button_container:hover {
  		opacity: .7;
	}
	
	.button_container.active .top {
  		-webkit-transform: translateY(10px) translateX(0) rotate(45deg);
        transform: translateY(10px) translateX(0) rotate(45deg);
  		background: #fff;
	}
	.button_container.active .middle {
  		opacity: 0;
  		background: #fff;
	}
	.button_container.active .bottom {
  		-webkit-transform: translateY(-10px) translateX(0) rotate(-45deg);
    	transform: translateY(-10px) translateX(0) rotate(-45deg);
		background: #fff;
	}
	.button_container span {
		background: #fff;
		border: none;
		height: 1.5px;
		width: 45px;
		position: absolute;
		top: 23px;
		left: 0;
        right: 0;
        margin: 0 auto;
		-webkit-transition: all .35s ease;
		transition: all .35s ease;
		cursor: pointer;
	}
	.button_container span:nth-of-type(2) {
		top: 33px;
	}
	.button_container span:nth-of-type(3) {
		top: 43px;
	}
	
	.button_container p {
		position: absolute;
		top: 50px;
		left: 0;
        right: 0;
        margin: 0 auto;
		color: #fff;
		text-align: center;
	}

	.overlay {
		display: block;
		position: fixed;
		background: #00a74d;
		top: 0;
		right: 0;
		width: 0%;
		height: 100%;
 		opacity: 0;
		visibility: hidden;
		-webkit-transition: opacity .35s, visibility .35s, width .35s;
		transition: opacity .35s, visibility .35s, width .35s;
		overflow: hidden;
	}
	.overlay.open {
		opacity: 0.95;
		visibility: visible;
		width: 100%;
		z-index: 1000;
	}
	.overlay.open li {
		-webkit-animation: fadeInRight .5s ease forwards;
		animation: fadeInRight .5s ease forwards;
		-webkit-animation-delay: .35s;
		animation-delay: .35s;
	}
	.overlay nav {
		position: relative;
		top: 9%;
		/*-webkit-transform: translateY(-50%);
		transform: translateY(-50%);*/
		width: 70%;
		margin: 0 auto;
	}
	.overlay ul {
		list-style: none;
		padding: 0;
		margin: 0 auto;
		display: inline-block;
		position: relative;
		height: 100%;
	}
	.overlay ul li {
		display: block;
		height: 15%;
		height: calc(100% / 6);
		min-height: 30px;
		position: relative;
		opacity: 0;
	}
	.overlay ul li::before {
    	content: "";
    	position: absolute;
    	top: 50%;
    	left: -50px;
    	width: 30px;
    	height: 1px;
    	background: #fff;
	}
	.overlay ul li a {
		display: block;
		position: relative;
		padding: 0.5em 0;
		font-size: 1.5em;
		font-weight: 500;
		color: #fff;
		text-decoration: none;
		line-height: 2em;
		letter-spacing: .05em;
		overflow: hidden;
	}
	.overlay ul li a span {
		margin-left: 20px;
		font-size: .6em;
		color: #ccc;
		opacity: 0.5;
	}
	.overlay ul li a:hover:after, .overlay ul li a:focus:after, .overlay ul li a:active:after {
		width: 100%;
	}
	.overlay ul li:nth-child(5) a { padding: 0.5em 0 0.2em; }
	
	.overlay.open .sub-menu {
		display: inline-block;
		position: relative;
		padding: 0 0 1em;
		margin-right: 20px;
		opacity: 0;
		-webkit-animation: fadeInRight .5s ease forwards;
		animation: fadeInRight .5s ease forwards;
		-webkit-animation-delay: .35s;
		animation-delay: .35s;
	}
	.overlay.open .sub-menu a {
		display: block;
		position: relative;
		padding-left: 20px;
		font-size: 1.3rem;
		color: #fff;
		text-decoration: none;
	}
	.overlay.open .sub-menu a::before {
		content: "";
		position: absolute;
		top: 11px;
		left: 0;
		width: 8px;
		height: 8px;
		border-top: 1px solid #fff;
		border-right: 1px solid #fff;
		-webkit-transform: rotate(45deg);
		transform: rotate(45deg);
	}
	
	.overlay.open .overlay-contact {
		position: relative;
		top: 11%;
		width: 70%;
		margin: 0 auto;
		padding: 30px 0;
		color: #fff;
		border-top: 1px rgba(255,255,255,0.3) solid;
		border-bottom: 1px rgba(255,255,255,0.3) solid;
	}
	.overlay.open .overlay-contact h2 {
		opacity: 0;
		margin-top: 0;
		color: #fff;
		-webkit-animation: fadeInRight .5s ease forwards;
		animation: fadeInRight .5s ease forwards;
		-webkit-animation-delay: .35s;
		animation-delay: .35s;
	}
	.overlay.open .overlay-contact h3 {
		opacity: 0;
		margin-bottom: 5px;
		color: #fff;
		text-indent: -10px;
		-webkit-animation: fadeInRight .5s ease forwards;
		animation: fadeInRight .5s ease forwards;
		-webkit-animation-delay: .35s;
		animation-delay: .35s;
	}
	.overlay.open .overlay-contact h4 {
		opacity: 0;
		margin: 5px 0;
		font-size: 1.7rem;
		-webkit-animation: fadeInRight .5s ease forwards;
		animation: fadeInRight .5s ease forwards;
		-webkit-animation-delay: .35s;
		animation-delay: .35s;
	}
	.overlay.open .overlay-contact span {
		opacity: 0;
		-webkit-animation: fadeInRight .5s ease forwards;
		animation: fadeInRight .5s ease forwards;
		-webkit-animation-delay: .35s;
		animation-delay: .35s;
	}
	.overlay.open .overlay-contact p {
		opacity: 0;
		margin-top: 5px;
		text-indent: -10px;
		-webkit-animation: fadeInRight .5s ease forwards;
		animation: fadeInRight .5s ease forwards;
		-webkit-animation-delay: .35s;
		animation-delay: .35s;
	}
	
	@-webkit-keyframes fadeInRight {
		0% { opacity: 0; left: 20%; }
		100% { opacity: 1; left: 0; }
	}

	@keyframes fadeInRight {
		0% { opacity: 0; left: 20%; }
		100% { opacity: 1; left: 0;	}
	}
	
	/*------ FOOTER ------*/
	.ft-inner { padding: 80px 0; }
	
	.footer__items { flex-direction: column; }
	.footer__items .items-menu { width: 100%; margin-top: 50px; }
	.footer__items .items-menu .menu-lv01 li { width: 31%; }
	.footer__items .items-menu .menu-lv01 li:nth-child(1) { margin-left: 0; }
	.footer__items .items-menu .menu-lv01 li:nth-child(4) { margin-left: 0; }
	.footer__items .items-menu .menu-lv01 li:nth-child(7) { margin-left: 0; }
	
	.connection-nav li a { padding-left: 20px; font-size: 0.83rem; }
	
	/*----- TOP PAGE -----*/
	.main-lead { width: 90%; padding: 80px 0; }
	.lead__headline h1 { font-size: 1.5rem; }
	.lead__headline .main { font-size: 2.5rem; }
	
	.main-info .main-info-inner { padding: 80px 0; }
	.info__headline h2 { font-size: 2.2rem; }
	
	.about__headline h2 { font-size: 2.2rem; }
	.main-about { padding: 80px 0; }
	.main-about .flex-box .sec_img img { height: 450px; }
	.main-about .flex-box .text-area .ttl { font-size: 1.6rem; }
	.main-about .flex-box .text-area p { margin: 0; }
	
	.main-member { padding: 40px 0; }
	.main-member::after { height: 250px; }
	.main-member .flex-box { flex-direction: column; }
	.member__headline { width: 100%; padding: 0; }
	.member__headline h2 {
		writing-mode: horizontal-tb;
		padding: 3em 0 2em;
		min-height: auto;
		text-align: center;
	}
	.member__headline h2::before { top: 0; }
	
	.main-member .member__itemList { width: 90%; } 
	.main-member .member__itemList .item a { min-height: 300px; }
	.main-member .member__itemList .item:nth-child(3) a { border-radius: 20px; }
	
	/*------ COMMON ------*/
	.content { padding: 60px 0; }
	
	.page-header { min-height: 26rem; }
	.page-header-inner { padding: 40px 80px 40px 10%; }
	
	#bread { padding: 30px 0 0; }
	
	h1.page-header-title::before { top: 110px; }
	h1.page-header-title .ttl__jp { font-size: 2.5rem; }
	
	h2.sub-ttl { font-size: 2rem; }
	h3.sub-ttl { margin: 50px 0 30px; font-size: 1.5rem; }
	
	.url { word-break: break-all; }
	.spase { height: 40px; }
	
	.br-sp { display: block; }
	
	/*----- OVERVIEW -----*/
	.overview_cv .ov-table th { width: 25%; }
	.overview_cv .ov-organization img { width: 100%; }
	
	/*------ TOPICS ------*/
	.topics { margin: 60px 0; }
	
	/*----- FACILITY -----*/
	.facility_cv .fcl-table th { width: 30%; padding: 1.2em 1em; }
	
	/*------ MESSAGE -----*/
	.mess_cv .mess__text-box { margin-top: 60px; }
	.mess_cv .mess__text-box .flex-box .txt h3 {
		padding-bottom: 40px;
		margin-bottom: 40px;
		font-size: 1.85rem;
	}
	.mess_cv .mess__text-box .flex-box .img img {
		height: 400px;
		object-fit: cover;
	}
	
}

@media only screen and (max-width:881px){
	
	/*------ HEADER ------*/
	.hd-inner { padding: 0.8em 2em; }
	
	.hd-inner__info .info-logo { width: 250px; }
	.hd-inner__info .info-tel { padding-right: 60px; }
	.hd-inner__info .info-tel .number { font-size: 1.1rem; }
	.hd-inner__info .info-tel .number span { font-size: 0.65rem; }
	
	.button_container { height: 75px; width: 75px; }
	.button_container span { top: 18px; width: 35px; }
	.button_container span:nth-of-type(2) { top: 28px; }
	.button_container span:nth-of-type(3) { top: 38px; }
	.button_container p { font-size: 0.8rem; line-height: 1; }
	
	.overlay ul li a { font-size: 1.3em; line-height: 1.7em; }
	
	/*.overlay.open { overflow-y: scroll; padding-bottom: 100px; }*/
	.overlay.open .overlay-contact h2 { font-size: 1.3rem; }
	.overlay.open .overlay-contact h3 { font-size: 1.1rem; }
	
	.overlay.open .sub-menu a { font-size: 1.1rem; }
	
	/*------ FOOTER ------*/
	.connection-nav li { width: 48%; }
	
	/*----- TOP PAGE -----*/
	#vegas { height: 60vh; }
	
	.lead__headline h1 { font-size: 1.3rem; }
	.lead__headline .main { font-size: 2.2rem; }
	.lead__txt { font-size: 0.9rem; }
	
	.info__headline h2 { font-size: 1.8rem; }
	.main-info .info-list li { flex-wrap: wrap; }
	.main-info .info-list li .cate { padding: 0.1em 1.2em; font-size: 0.8rem; }
	.main-info .info-list li a { display: block; width: 100%; margin-top: 10px; }
	
	.main-about .flex-box { flex-direction: column;	}
	.main-about .flex-box .text-area { width: 90%; padding: 0; margin: 30px auto 0; }
	.main-about .flex-box .text-area .ttl { font-size: 1.4rem; }
	.main-about .flex-box .text-area p { padding-top: 20px; font-size: 0.9rem; }
	.main-about .flex-box .text-area button { display: block; width: 320px; margin: 30px auto 0; }
	.main-about .flex-box .text-area button a { padding: 1em 2em 1em 1rem; }
	.main-about .flex-box .text-area button a span { padding-right: 15px; }
	.main-about .flex-box .sec_img { width: 90%; margin: 0 auto; border-radius: 15px; }
	.main-about .flex-box .sec_img img { height: 400px; }
	
	.main-member { padding: 20px 0; }
	.main-member::after { width: 100vw; height: 500px; }
	.member__headline h2 { padding: 3em 0 1.5em; }
	.main-member .member__itemList { flex-direction: column; padding-bottom: 50px; }
	.main-member .member__itemList .item { width: 100%; margin-top: 5px; }
	.main-member .member__itemList .item a {
		min-height: auto;
		background-size: cover!important;
		border-radius: 10px;
	}
	.main-member .member__itemList .item:nth-child(3) a { border-radius: 10px; }
	
	.main-map { flex-direction: column; padding: 80px 0; }
	.main-map .map__item { width: 100%; }
	.main-map .map__item:last-of-type { margin-top: 50px; }
	.main-map .map__item iframe { height: 350px; }
	.main-map .map__item button { margin: 20px auto 0; }
	
	.main-contact .main-contact-inner { width: 90%; padding: 80px 0; }
	.contact__headline h2 { font-size: 2.2rem; }
	.main-contact .flex-box { flex-direction: column; }
	.main-contact .flex-box .ct-item { width: 100%; }
	.main-contact .flex-box .ct-item:first-of-type { border-right: 0; }
	.main-contact .flex-box .ct-item:last-of-type { margin-top: 30px; }
	.main-contact .flex-box .ct-item h4 { font-size: 2.2rem; }
	.main-contact .flex-box .ct-item span { font-size: 0.9rem; }
	.main-contact .flex-box .ct-item p { font-size: 0.9rem; }
	
	/*------ COMMON ------*/
	.content { padding: 40px 0; }
	
	.page-header { min-height: 23rem; background-position: center!important; }
	.page-header-inner { padding: 30px 30px 30px 10%; border-radius: 0 40px 0 0; }
	.page-header-inner::before { right: -40px; width: 40px; height: 40px; background-size: 40px; }
	
	h1.page-header-title::before { top: 90px; }
	h1.page-header-title .ttl__jp { font-size: 2.1rem; letter-spacing: 0.02em; }
	
	h2.sub-ttl { padding: 0.7em 0 0; margin: 0.7em 0 1em; font-size: 1.5rem; }
	h2.sub-ttl .small { font-size: 1.3rem; }
	
	h3.sub-ttl {
		padding: 0.5em 1.5em;
		margin: 40px 0 20px;
		font-size: 1.3rem;
	}
	h3.sub-ttl::before { left: 20px; height: 1.5rem; }
	
	/*----- OVERVIEW -----*/
	.overview_cv .ov-images img { height: 300px; }
	
	.overview_cv .ov-table th { width: 30%; padding: 1.5em 1em 1.5em 1.5em; }
	.overview_cv .overview_cv .ov-table td { padding: 1.5em 1em 1.5em 1.5em; }
	
	/*------ TOPICS ------*/
	.topics { margin: 60px 0 20px; }
	.topics .topics__info-list li { flex-wrap: wrap; padding-bottom: 20px; margin-bottom: 20px; }
	.topics .topics__info-list li a { display: block; width: 100%; margin-top: 10px; }
	
	.single h2.news-ttl { font-size: 1.6rem; }
	.single h2.news-ttl::before { transform: scaleX(.1); }
	
	/*------- ABOUT ------*/
	.bg-gray .inner { padding: 60px 0; }
	.bg-gray .inner .logo { margin: 30px 0; }
	.bg-gray .inner .logo img { width: 150px; }
	.bg-gray .inner .meaning li { font-size: 1.15rem; }
	
	.about_cv .about__expression { padding: 2em; }
	.about__expression p:first-of-type { font-size: 1.15rem; }
	
	/*----- FACILITY -----*/
	.facility_cv .fcl-flex { flex-direction: column; margin-top: 50px; }
	.facility_cv .fcl-flex .img { width: 100%; }
	.facility_cv .fcl-table { width: 100%; margin-top: 30px; }
	
	.facility_cv .fcl-table th, .facility_cv .fcl-table td { padding: 1em 0.7em 1em 1em; }
	.facility_cv .fcl-table th { padding: 1em 0.7em 1em 1.2em; }
	
	/*------ SECTION -----*/
	.section-info p { font-size: 1.1rem; }
	
	.section-info .sc-info__item { flex-direction: column; }
	.section-info .sc-info__item .item { width: 100%; font-size: 1.1em; }
	.section-info .sc-info__item .line { width: 10px; height: 40px; }
	
	/*------ MESSAGE -----*/
	.mess_cv .mess__item-list li { padding: 0.5em 1em 0.5em 2.5em; font-size: 1rem; }
	.mess_cv .mess__item-list li span { left: 10px; font-size: 1.35rem; }
	
	.mess_cv .mess__text-box { margin-top: 40px; margin-bottom: 40px; }
	.mess_cv .mess__text-box .flex-box .txt h3 { padding-bottom: 30px; margin-bottom: 30px; font-size: 1.6rem; }
	.mess_cv .mess__text-box .flex-box { flex-direction: column; }
	.mess_cv .mess__text-box .flex-box .txt { width: 100%; padding-right: 0; margin-bottom: 40px; }
	.mess_cv .mess__text-box .flex-box .img { width: 100%; margin: 0 auto; }
	.mess_cv .mess__text-box .flex-box .img img { height: 350px; border-radius: 15px; }
	
	.mess_cv .mess__images { flex-wrap: wrap; margin-top: 40px; }
	.mess_cv .mess__images .item { width: 48%; margin-bottom: 20px; }
	.mess_cv .mess__images .item img { border-radius: 12px; }
	
	/*---- CONVERSION ----*/
	.bg-green .inner { padding: 60px 0; }
	h3.center-ttl { font-size: 1.3rem; }
	
	/*------ CONTACT -----*/
	.cantact-item h3 { padding: 0.5em 1em; font-size: 1.3rem; }
	.cantact-item .ct-tel { font-size: 2.2rem; }
	
}

@media only screen and (max-width:768px){
}

@media only screen and (max-width:640px){
	
	p { font-size: 0.85rem; line-height: 1.8; }
	
	/*------ HEADER ------*/
	.button_container { height: 65px; width: 65px; }
	.button_container span { top: 15px; width: 30px; }
	.button_container span:nth-of-type(2) { top: 24px; }
	.button_container span:nth-of-type(3) { top: 33px; }
	.button_container p { top: 43px; font-size: 0.7rem; }
	
	.button_container.active .bottom {
		-webkit-transform: translateY(-8px) translateX(0) rotate(-45deg);
		transform: translateY(-8px) translateX(0) rotate(-45deg);
	}
	
	.hd-inner { padding: 0.65em 1em; }
	.hd-inner__info .info-logo { width: 220px; }
	.hd-inner__info .info-tel { display: none; }
	
	.overlay nav { top: 8%; width: 85%; }
	.overlay ul li a { font-size: 0.95em; }
	.overlay ul li::before { left: 0; width: 20px; }
	
	.overlay.open { overflow-y: scroll; padding-bottom: 100px; }
	.overlay.open li { padding-left: 30px; }
	
	.overlay.open .overlay-contact { top: 10%; width: 85%; padding: 20px 0; }
	.overlay.open .overlay-contact h2 { font-size: 1rem; }
	.overlay.open .overlay-contact h3 { font-size: 0.85rem; margin-bottom: 0; }
	.overlay.open .overlay-contact h4 { margin: 5px 0 0; font-size: 1.1rem; line-height: 1.2; }
	.overlay.open .overlay-contact span { font-size: 0.75rem; }
	.overlay.open .overlay-contact p { margin-top: 2px; font-size: 0.75rem; }
	
	.overlay.open .sub-menu { padding: 0 0 0.5em 30px; }
	.overlay.open .sub-menu:last-of-type { padding-left: 0; }
	.overlay.open .sub-menu a { padding-left: 15px; font-size: 0.85rem; }
	.overlay.open .sub-menu a::before {
		top: 8px;
		left: 0;
		width: 6px;
		height: 6px;
	}
	
	/*------ FOOTER ------*/
	.ft-inner { padding: 60px 0; }
	.footer__items .items-data h2 img { width: 80%; }
	.footer__items .items-data dl { flex-direction: column; }
	.footer__items .items-data dl dt { display: block; font-size: 0.85rem; }
	.footer__items .items-data dl dd { font-size: 0.85rem; }
	
	.footer__items .items-menu { margin-top: 30px; }
	.footer__items .items-menu .menu-lv01 { justify-content: space-between; }
	.footer__items .items-menu .menu-lv01 li { width: 100%; margin-left: 0; }
	.footer__items .items-menu .menu-lv01 li a { margin-bottom: 10px; font-size: 0.8rem; }
	
	.footer__connection { margin-top: 40px; padding: 15px 0; }
	.connection-nav li { width: 100%; }
	.connection-nav li a { font-size: 0.8rem; }
	
	.footer__copy { margin-top: 30px; font-size: 0.75rem; }
	
	/*----- TOP PAGE -----*/
	.main-lead { padding: 60px 0; }
	.lead__en { padding-left: 20px; font-size: 0.9rem; }
	.lead__en::before { width: 13px; height: 13px; }
	.lead__headline h1 { margin: 20px 0 0; font-size: 1rem; }
	.lead__headline .main { font-size: 1.3rem; }
	.lead__headline .main span { letter-spacing: -1rem; }
	.lead__txt { margin: 30px 0 0; font-size: 0.85rem; text-align: left; }
	
	.main-info .main-info-inner { padding: 60px 0; }
	.main-info .main-info-inner .info__en { font-size: 0.9rem; padding-left: 20px; }
	.main-info .main-info-inner .info__en::before { width: 13px; height: 13px; }
	
	.info__headline { margin-top: 20px; }
	.info__headline h2 { margin: 0; font-size: 1.3rem; }
	.info__headline .more-button a { padding-right: 22px; font-size: 0.9rem; }
	.info__headline .more-button a::after { width: 15px; height: 15px; background-size: 15px; }
	
	.main-info .info-list li { padding-bottom: 15px; margin-bottom: 15px; }
	.main-info .info-list li .day { margin-right: 10px; font-size: 0.85rem; }
	.main-info .info-list li a { font-size: 0.85rem; line-height: 1.8; }
	
	.main-about { padding: 60px 0; }
	.about__headline .about__en { padding-left: 20px; font-size: 0.9rem; }
	.about__headline .about__en::before { width: 13px; height: 13px; }
	.about__headline h2 { font-size: 1.3rem; }
	
	.main-about .flex-box { margin-top: 40px; }
	.main-about .flex-box .sec_img img { height: 250px; }
	.main-about .flex-box .text-area .ttl { font-size: 1.2rem; }
	.main-about .flex-box .text-area p { font-size: 0.85rem; }
	.main-about .flex-box .text-area button a { padding: 0.7em 2em 0.7em 1rem; font-size: 0.9rem; }
	.main-about .flex-box .text-area button a::before { top: 16px; }
	
	.main-member::after { height: 400px; border-radius: 0; }
	.member__headline h2 { font-size: 1.3rem; letter-spacing: 0.05rem; }
	.main-member .member__itemList { padding-bottom: 20px; }
	.main-member .member__itemList .item h3 { margin: 10px 0 0; font-size: 1.2rem; }
	.main-member .member__itemList .item span { font-size: 0.8rem; }
	.main-member .member__itemList .item a { padding: 1.5em; }
	.main-member .member__itemList .item p { margin: 5px 0 0; font-size: 0.85rem; }
	
	.main-map { padding: 60px 0; }
	.main-map .map__item h3 { margin-bottom: 20px; font-size: 1rem; }
	.main-map .map__item iframe { height: 250px; }
	.main-map .map__item button { width: 320px; }
	.main-map .map__item button a { padding: 0.7em 2em; font-size: 0.9rem; }
	.main-map .map__item button a::before { top: 16px; }
	
	.main-contact .main-contact-inner { padding: 40px 0; }
	.contact__headline { padding-bottom: 20px; margin-bottom: 20px; }
	.contact__headline .about__en { padding-left: 20px; font-size: 0.9rem; }
	.contact__headline .about__en::before { width: 13px; height: 13px; }
	.contact__headline h2 { margin: 20px 0 0; font-size: 1.3rem; }
	
	.main-contact .flex-box .ct-item h3 { font-size: 1.1rem; }
	.main-contact .flex-box .ct-item h4 { font-size: 1.8rem; }
	.main-contact .flex-box .ct-item span { font-size: 0.8rem; line-height: 1.8; }
	.main-contact .flex-box .ct-item p { font-size: 0.8rem; }
	
	/*------ COMMON ------*/
	.content { padding: 40px 0 0; }
	
	.page-header { min-height: 16rem; }
	.page-header-inner { padding: 30px 30px 10px 10%; border-radius: 0 30px 0 0; }
	.page-header-inner::before { right: -30px; width: 30px; height: 30px; background-size: 30px; }
	
	h1.page-header-title::before { top: 72px; }
	h1.page-header-title .ttl__en { font-size: 0.8rem; }
	h1.page-header-title .ttl__en::before { top: 1px; }
	h1.page-header-title .ttl__jp { left: -15px; font-size: 1.4rem; }
	
	#bread { padding: 15px 0; font-size: 0.8rem; }
	
	h2.sub-ttl { font-size: 1.1rem; }
	h2.sub-ttl .small { font-size: 0.85rem; }
	h2.sub-ttl::before { transform: scaleX(.1); }
	
	h3.sub-ttl { padding: 0.5em 1.5em; margin: 30px 0 20px; font-size: 0.95rem; }
	h3.sub-ttl::before { left: 13px; width: 0.2rem; height: 1.2rem; }
	
	.url b { font-size: 0.85rem; }
	.spase { height: 40px; }
	
	#page-top { bottom: 12px; right: 12px; font-size: 0.7rem; line-height: 15px; }
	#page-top a { width: 90px; padding: 10px 0px; }
	
	/*----- OVERVIEW -----*/
	.overview_cv .ov-images { margin-bottom: 50px; }
	.overview_cv .ov-images img { height: 200px; }
	
	.overview_cv .ov-table { margin-top: 30px; }
	.overview_cv .ov-table tr { display: block; width: 100%; padding: 0!important; }
	.overview_cv .ov-table th, .overview_cv .ov-table td {
		display: block;
		width: 100%;
		padding: 1em 0.5em 1em 1em;
		font-size: 0.85rem;
		box-sizing: border-box;
	}
	
	.overview_cv .ov-organization { margin-top: 30px; }
	
	/*------ TOPICS ------*/
	.topics { margin: 40px 0 20px; }
	.topics .topics__info-list li .day { margin-right: 10px; font-size: 0.85rem; }
	.topics .topics__info-list li .cate { padding: 0.1em 1em; font-size: 0.8rem; }
	.topics .topics__info-list li a { font-size: 0.85rem; }
	
	.single h2.news-ttl { font-size: 1.1rem; }
	.single h3 { font-size: 0.95rem; }
	
	/*----- DOWNLOAD -----*/
	.dl-list li { width: 100%; margin-bottom: 10px; }
	.dl-list li a { padding: 0.7em 1em 0.7em 3em; font-size: 0.8rem; }
	
	.dl-list li a::before { left: 12px; }
	.dl-list li.excel a::before { background-size: 18px 100%; }
	.dl-list li.word a::before { background-size: 18px 100%; }
	
	/*------- ABOUT ------*/
	.about_mv .page-header-inner { padding: 30px 15px 30px 10%; }
	.about_mv h1.page-header-title .ttl__jp {
		left: -15px;
		padding-right: 0;
		font-size: 1.2rem;
		letter-spacing: 0.02em;
	}
	
	.about__flex-img { margin: 30px 0 20px; }
	.about__flex-img .item img { border-radius: 12px; }
	
	.bg-gray .inner { padding: 40px 0; }
	.bg-gray .inner h2 { font-size: 1.3rem; }
	.bg-gray .inner p { font-size: 0.85rem; }
	
	.bg-gray .inner .logo { margin: 30px 0; }
	.bg-gray .inner .logo img { width: 100px; }
	
	.bg-gray .inner .meaning li { font-size: 0.85rem; line-height: 1.8; }
	
	.about_cv .about__expression { padding: 1.2em; border-radius: 15px; }
	.about_cv .about__expression.margin { margin-top: 20px; }
	.about__expression span { font-size: 0.8rem; }
	.about__expression h3 { margin: 10px 0 0; font-size: 1.3rem; }
	.about__expression h4 { margin-top: 20px; padding: 0.5em 0.7em; font-size: 0.95rem; }
	.about__expression p:first-of-type { font-size: 0.85rem; text-align: left; }
	
	/*----- FACILITY -----*/
	.facility_cv .fcl-flex { margin-top: 30px; }
	.facility_cv .fcl-flex .img img { border-radius: 15px; }
	.facility_cv .fcl-table tr { display: block; width: 100%; padding: 0!important; }
	.facility_cv .fcl-table th, .facility_cv .fcl-table td {
		display: block;
		width: 100%;
		padding: 0.7em 0.5em 0.7em 1em;
		font-size: 0.85rem;
		box-sizing: border-box;
	}
	
	/*------ SECTION -----*/
	.section-info { margin-top: 30px; }
	.section-info p { margin-bottom: 20px; font-size: 0.85rem; }
	.section-info p span.green { font-size: 1.1rem; }
	.section-info p span.orange { display: block; margin-right: 0; margin-bottom: 10px; font-size: 0.85rem; text-align: center; }
	
	.section-info .sc-info__item { margin-top: 20px; }
	.section-info .sc-info__item .item { padding: 1em 0.8em; font-size: 0.85em; }
	.section-info .sc-info__item .line { height: 30px; }
	
	/*------ MESSAGE -----*/
	.mess_cv .mess__item-list { margin-top: 30px; }
	.mess_cv .mess__item-list li { padding: 0.5em 0.5em 0.5em 2em; margin-bottom: 10px;  font-size: 0.8rem; }
	.mess_cv .mess__item-list li span { top: 7px; left: 5px; font-size: 1rem; }
	.mess_cv .note { margin-top: 20px; }
	
	.mess_cv .mess__text-box { margin-top: 30px; margin-bottom: 30px; }
	.mess_cv .mess__text-box .flex-box .txt { margin-bottom: 30px; }
	.mess_cv .mess__text-box .flex-box .txt h3 { padding-bottom: 15px; margin-bottom: 15px; font-size: 1.1rem; }
	.mess_cv .mess__text-box .flex-box .img img { height: 200px; border-radius: 10px; }
	
	.mess_cv p.margin { margin-top: 30px; }
	
	.mess_cv .mess__images .item { margin-bottom: 15px; line-height: 0; }
	.mess_cv .mess__images .item:first-of-type { width: 100%; }
	.mess_cv .mess__images .item img { border-radius: 10px; }
	
	/*---- CONVERSION ----*/
	/*.page-header-inner { padding: 30px 30px 30px 10%; }*/
	
	.conversion_mv .page-header-inner { padding: 30px 15px 30px 10%; }
	.conversion_mv h1.page-header-title .ttl__jp {
		padding-right: 0;
		font-size: 1.3rem;
		letter-spacing: 0.02em;
	}
	
	.farm_cv .farm__doc-list { margin: 30px 0 0; }
	.farm_cv .farm__doc-list li {
		padding: 0 0 15px 22px;
		margin-bottom: 15px;
		font-size: 0.85rem;
	}
	.farm_cv .farm__doc-list li .need {
		display: block;
		width: fit-content;
		margin-left: 0;
		margin-top: 5px;
		font-size: 0.85rem;
		line-height: 1;
	}
	.farm_cv .farm__doc-list li .no {
		top: 0;
		transform: translateY(0);
		line-height: 1.5;
	}
	
	.farm_cv .farm__note { padding: 1em; }
	.farm_cv .farm__note tr td { font-size: 0.8rem; }
	.farm_cv .farm__note tr td:first-of-type { width: 18%; }
	
	h3.center-ttl { font-size: 1rem; }
	.farm_cv .ct-address th { padding: 0.7em; font-size: 0.8rem; }
	.farm_cv .ct-address td { padding: 0.7em; font-size: 0.8rem; }
	
	/*------ CONTACT -----*/
	.cantact-item { margin-top: 40px; }
	.cantact-item h3 { padding: 0.5em 1em; font-size: 1rem; }
	.cantact-item .ct-tel { font-size: 1.5rem; }
	.cantact-item p { font-size: 0.8rem; }
	.cantact-item p.ct-data02 { margin: 0 0 20px; line-height: 1; }
	.cantact-item p.ct-data03 { font-size: 0.75rem; }
	
}