@charset "UTF-8";
/* http://meyerweb.com/eric/tools/css/reset/ 
   v2.0 | 20110126
   License: none (public domain)
*/

@font-face { 
	/* ① ここにfont-familyで指定したい名前を書く*/
	font-family: "CENTPIA"; 
  
	/* フォントが置かれているパスを書く */ 
	src: url("font/CENTPIA-Regular.ttf") format("truetype")
}

html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed, 
figure, figcaption, footer, header, hgroup, 
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	font-size: 100%;
	font: inherit;
	vertical-align: baseline;
}
/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure, 
footer, header, hgroup, menu, nav, section {
	display: block;
}
body {
	line-height: 1;
}
ol, ul {
	list-style: none;
}
blockquote, q {
	quotes: none;
}
blockquote:before, blockquote:after,
q:before, q:after {
	content: '';
	content: none;
}
table {
	border-collapse: collapse;
	border-spacing: 0;
}
/* iOSでのデフォルトスタイルをリセット */
input[type="submit"],
input[type="button"] {
	border-radius: 0;
	-webkit-box-sizing: content-box;
	-webkit-appearance: button;
	appearance: button;
	border: none;
	box-sizing: border-box;
	cursor: pointer;
}
input[type="submit"]::-webkit-search-decoration,
input[type="button"]::-webkit-search-decoration {
	display: none;
}
input[type="submit"]::focus,
input[type="button"]::focus {
	outline-offset: -2px;
}

/*===============================
 Base
===============================*/
*, *:before, *:after { -webkit-box-sizing: border-box; -moz-box-sizing: border-box;-o-box-sizing: border-box;  -ms-box-sizing: border-box;box-sizing: border-box;}
.sp { display: none; }
.tab { display: none; }
html {
	height: 100%;
}
body {
	color: #000000;
	height: 100%;
}
a {
	color: #000000;
	text-decoration: none;
	transition: .5s;
}
a:hover {
	opacity: 0.8;
}
img {
	width: 100%;
	height: auto;
}
.slick-slide img.sp { display: none; }
@media screen and (max-width:1024px) {
	.pc-br { display: none; }
}
@media screen and (max-width:767px) {
	/* 画面サイズが 767px以下の場合に適用 */
	.pc { display: none !important; }
	.sp { display: block !important; }
}

/*===============================
 Clear
===============================*/
img {
	border: 0;
	vertical-align: top;
	font-size: 0;
	line-height: 0;
}
ol, ul {
	list-style: none!important;
}
* {
	margin: 0;
	padding: 0;
}

/*===============================
 Font
===============================*/
html {
	font-size: 10px;
}
body {
	font-family: 'Noto Sans JP', sans-serif;
	line-height: 2;
	font-size: 1.6rem;
	font-weight: 400;
	letter-spacing: 0.05em;
}
h1, h2, h3, h4, h5 {
	line-height: 1.666;
	font-weight: 600;
}
p, li, dt, dd, th, td {
	line-height: 2;
	font-size: 1.6rem;
	font-weight: 400;
	letter-spacing: 0.05em;
}
a {
	letter-spacing: 0.05em;
}
@media screen and (max-width:767px) {
	body { font-size:3.8vw; }
}
@media screen and (min-width:768px) and (max-width:991px) {
	body { font-size:2.0vw; }
}
@media screen and (min-width:992px) and (max-width:1024px) {
	body { font-size:1.6vw; }
}

/*===============================
 Layout
===============================*/
#wrapper { overflow: hidden; }
.container { width:90%; margin:0 auto; max-width: 1225px; }
.left-container { width:95%; max-width: calc(1225px + ((100% - 1225px) / 2)); margin: 0 0 0 auto; position: relative; }
.right-container { width:95%; max-width: calc(1225px + ((100% - 1225px) / 2)); margin: 0 auto 0 0; position: relative; }
.btn { display: flex; justify-content: center; align-items: center; border-radius: 50px; padding: 0 15px; min-width: 229px; min-height: 53px; text-align: center; font-size: 1.5rem; background-color: #00A7EA; color: #fff; }
.btn_center { text-align: center; }
.sec_tit { font-size: 1.8rem; line-height: 1; font-weight: 400; }
.sec_subtit { font-size: 8.0rem; line-height: 1; color: #0075C2; font-family: 'CENTPIA', sans-serif; font-weight: 400; margin-bottom: 10px; }
.pagetit { margin-top: 60px; }
.page_tit { font-size: 1.8rem; line-height: 1; text-align: center; font-weight: 400; }
.page_subtit { font-size: 8.0rem; line-height: 1; font-family: 'CENTPIA', sans-serif; text-align: center; color: #0075C2; margin-bottom: 12px; }
.page_subtit span { color: #00A7EA; }
.archive-article { position: relative; display: inline-block; overflow: hidden; }
.top-two_cover {
	display: block;
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    text-indent: -9999px;
    z-index: 2;
}
.clear { clear:both; }
section { padding:80px 0; position: relative; }
.clearfix:after {
  content: "";
  display: block;
  clear: both;
}
.initials { font-size: 120%; }

@media screen and (min-width: 1025px) and (max-width: 1200px) {
	.sec_tit {
		font-size: 1.6rem;
	}
}

/*==================================================
ふわっ
===================================*/

/* その場で */
.fadeIn{
	animation-name:fadeInAnime;
	animation-duration:1.5s;
	animation-fill-mode:forwards;
	opacity:0;
}
	
@keyframes fadeInAnime{
	from {
	opacity: 0;
	}

	to {
	opacity: 1;
	}
}

/* 上から */

.fadeImg{
	animation-name:fadeImgAnime;
	animation-duration:1.5s;
	animation-fill-mode:forwards;
	-moz-transition: all .6s ease;
    -o-transition: all .6s ease;
    -ms-transition: all .6s ease;
    -webkit-transition: all .6s ease;
    transition: all .6s ease;
    transition-delay: .5s;
}
	
@keyframes fadeImgAnime{
	from {
		-webkit-transform: scale(1.0);
		-moz-transform: scale(1.0);
		-ms-transform: scale(1.0);
		-o-transform: scale(1.0);
		transform: scale(1.0);
	}

	to {
		-webkit-transform: scale(1.1);
		-moz-transform: scale(1.1);
		-ms-transform: scale(1.1);
		-o-transform: scale(1.1);
		transform: scale(1.1);
	}
}

/* 上から */

.fadeDown{
	animation-name:fadeDownAnime;
	animation-duration:1.0s;
	animation-fill-mode:forwards;
	opacity:0;
}
	
@keyframes fadeDownAnime{
	from {
	opacity: 0;
	transform: translateY(-100px);
	}

	to {
	opacity: 1;
	transform: translateY(0);
	}
}

/* fadeUp */

.fadeUp{
	animation-name:fadeUpAnime;
	animation-duration:1.0s;
	animation-fill-mode:forwards;
	opacity:0;
}
	
@keyframes fadeUpAnime{
	from {
	opacity: 0;
	transform: translateY(100px);
	}

	to {
	opacity: 1;
	transform: translateY(0);
	}
}

/* 左から */

.fadeLeft{
	animation-name:fadeLeftAnime;
	animation-duration:1.0s;
	animation-fill-mode:forwards;
	opacity:0;
}
	
@keyframes fadeLeftAnime{
	from {
	opacity: 0;
	transform: translateX(-100px);
	}

	to {
	opacity: 1;
	transform: translateX(0);
	}
}

/* 右から */

.fadeRight{
	animation-name:fadeRightAnime;
	animation-duration:1.0s;
	animation-fill-mode:forwards;
	opacity:0;
}
	
@keyframes fadeRightAnime{
	from {
	opacity: 0;
	transform: translateX(100px);
	}

	to {
	opacity: 1;
	transform: translateX(0);
	}
}
	
/* スクロールをしたら出現する要素にはじめに透過0を指定　*/
	
.fadeInTrigger,
.fadeUpTrigger,
.fadeDownTrigger,
.fadeLeftTrigger,
.fadeRightTrigger{
	opacity: 0;
}

/*===============================
 COMMON
===============================*/
.blue_line {
	width: 100%;
	height: 3px;
	background: linear-gradient(90deg, #0075C2 0%, rgba(0, 167, 234, 0) 100%);
	mix-blend-mode: plus-lighter;
}

/* 製品のご購入はこちらボタン */
.store_btn {
	position: fixed;
	right: 50px;
	bottom: 50px;
	display: flex;
	background-color: #fff;
	border: 2px solid #fff;
	border-radius: 5px;
	padding: 25px 50px;
	z-index: 999;
	background-image: url(images/store_btn_bg.jpg);
	background-size: cover;
	background-position: center;
}
.store_btn_txt {
	background-color: #fff;
    padding: 5px 20px;
}
.store_btn_st {
	color: #000000;
	font-size: 4.0rem;
	font-family: 'CENTPIA', sans-serif;
	letter-spacing: 0;
	line-height: 1;
}
.store_btn_mt {
	font-size: 1.2rem;
    color: #000000;
    font-weight: 500;
    letter-spacing: 0.05em;
	text-align: center;
}
.store_btn_img {
	width: 106px;
	position: relative;
    z-index: 2;
}
.store_btn_back {
	position: absolute;
	top: 0;
	right: 0;
	width: 60%;
	height: 100%;
	background: linear-gradient(-90deg, rgba(0, 167, 234, 0.5) 0%, rgba(0, 167, 234, 0) 100%);
	border-radius: 0 3px 3px 0;
}

/* onlinestore_link */
.onlinestore_link {
	background-image: url(images/onlinestore_link.jpg);
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
	padding: 120px 0;
}
.onlinestore_link_inner {
	background-color: #fff;
	width: 71%;
	max-width: 575px;
	margin: 0 auto;
	position: relative;
	padding: 60px 0 70px;
}
.onlinestore_link_tit {
	font-size: 8.0rem;
	font-family: 'CENTPIA', sans-serif;
	font-weight: 400;
	text-align: center;
	line-height: 1;
}
.onlinestore_link_txt {
	text-align: center;
	font-size: 1.8rem;
}
.onlinestore_link .btn {
	background-color: #000;
	width: 229px;
	font-size: 1.5rem;
	position: absolute;
    bottom: -27px;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
}

/* contact */
.contact {
	background-image: url(images/contact_bg.jpg);
	background-size: cover;
	background-position: center;
	padding: 160px 0;
	margin-top: 100px;
}
.contact .container {
	max-width: 975px;
}
.contact_inner {
	display: flex;
	justify-content: space-between;
	align-items: center;
}
.contact_left {
	width: 50%;
}
.contact_right {
	width: 50%;
}
.contact_right_txt {
	margin-bottom: 50px;
}

/* article */
.archive-article_img {
	background-size: cover;
	background-position: center;
	padding-top: 66%;
	display: block;
    transition-duration: .5s;
}
.archive-article:hover > .archive-article_img {
	transform: scale(1.1);
}
.archive-article_info {
	background-color: #fff;
    font-family: 'Noto Sans JP', sans-serif;
    padding: 30px 40px;
    margin-top: -50px;
    margin-left: -40px;
    position: relative;
    z-index: 1;
    width: 100%;
}
.archive-article_date {
	color: #CCB39C;
    font-size: 1.3rem;
    font-family: "trajan-pro-3", serif;
	font-weight: 700;
	font-style: normal;
    letter-spacing: 0.2em;
    margin-bottom: 10px;
}
.archive-article_tit h2 {
	font-size: 1.4rem;
    letter-spacing: 0.1em;
    font-weight: 400;
    line-height: 2.14;
}

/*===============================
 header
===============================*/
#header {
	position: fixed;
	min-height: 73px;
	width: 100%;
	z-index: 9;
	display: flex;
	justify-content: flex-end;
	align-items: center;
}
#header .header_logo {
	position: absolute;
	top: 20%;
	left: 50px;
	width: 120px;
}
#header .header_logo a span {
	display: inline-block;
}
#pc-nav {
	background-color: #fff;
	padding-left: 30px;
}
#pc-nav ul {
	list-style: none;
	display: flex;
	justify-content: center;
	text-transform: uppercase;
	align-items: center;
	margin: 0;
}
#pc-nav > ul > li { 
	min-height: 73px;
	display: flex;
	align-items: center;
}
#pc-nav li a {
    display: block;
    text-decoration: none;
	padding: 0 30px;
	font-size: 1.5rem;
	font-family: 'Noto Sans JP', sans-serif;
	line-height: 1;
}
#pc-nav ul li:last-of-type {
	margin-right: 30px;
}
#header .contact_btn {
	padding: 0;
}
#header .contact_btn span {
	background-color: #00A7EA;
	color: #fff;
	padding: 0 3vw;
	transition: all 0.3s;
	min-height: 73px;
    display: flex;
    align-items: center;
}
@media screen and (min-width: 1025px) and (max-width: 1200px) {
#header .header_logo {
	left: 30px;
    width: 120px;
}
#pc-nav ul li:last-of-type {
    margin-left: 15px;
}
#pc-nav li a {
	padding: 0 10px;
	font-size: 1.3rem;
}
#header .contact_btn span {
	padding: 0 2vw;
}
}
@media screen and (min-width: 1201px) and (max-width: 1400px) {
#pc-nav li a {
	padding: 0px 15px;
}
#pc-nav ul li:last-of-type {
    margin-left: 20px;
}
#header .contact_btn span {
	padding: 0px 2.5vw;
	min-height: 73px;
}
}
@media screen and (max-width: 1024px) {
	#pc-nav {
		display: none;
	}
}

/*===============================
 MV
===============================*/
#mv {
    width: 100%;
    position: relative;
}
#mv_txt {
	position: absolute;
	top: 55%;
    left: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
	z-index: 1;
	color: #fff;
	width: 80%;
}
#mv_txt > div {
	text-align: left;
	font-size: 8.8vw;
	font-family: 'CENTPIA', sans-serif;
	line-height: 0.8;
	margin-bottom: 3vw;
	text-shadow: 0 0 20px #009aff;
}
#mv_txt > p {
	text-align: left;
	font-size: 2.1vw;
	line-height: 1.5;
	text-shadow: 0 0 20px #009aff;
}
.mv01 .mv01_inner {
	position: relative;
}
#mv_about .mv01_inner .blue_line {
	position: absolute;
	bottom: 40px;
	left: 0;
}
#mv_whychoose .mv01_inner .blue_line {
	position: absolute;
	top: 165px;
	left: 0;
}
#mv_company .mv01_inner .blue_line {
	position: absolute;
	bottom: 100px;
	left: 0;
}
#mv_recruit .mv01_inner .blue_line {
	position: absolute;
	bottom: 100px;
	left: 0;
}
.mv_contact, .mv_news {
	padding-top: 170px;
	margin-bottom: 90px;
}
.mv01 .pagetitle {
	position: absolute;
	padding-top: 0;
	top: -66px;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
}
.mv01_txt {
	width: 100%;
	position: absolute;
	font-size: 3.0rem;
	line-height: 1.666;
	font-weight: 600;
	text-align: center;
	top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
}

/*===============================
 トップページ
===============================*/
/* NEWS */
#top_news {
	padding: 100px 0 80px;
}
.top_news_content {
	width: 80%;
	max-width: 896px;
	margin-top: 7px;
}
.news_inner {
    position: relative;
    display: flex;
	justify-content: space-between;
}
#top_news .newslist {
	margin-bottom: 50px;
}
.newslist > li {
	border-bottom: 2px solid #F0F0F0;
}
.newslist > li > a {
	padding: 25px 0;
	display: flex;
}
.newslist > li:first-of-type > a {
	padding-top: 0;
}
.newslist .date {
	font-size: 1.5rem;
	color: #808080;
	margin-right: 30px;
}
.newslist .tit {
	font-size: 1.5rem;
}
.news_inner .pagelink {
	display: flex;
	align-items: flex-end;
}
#top_news .snslink {
	display: flex;
	justify-content: end;
	align-items: center;
}
#top_news .snslink > a.btn:not(:last-of-type) {
	margin-right: 30px;
}
#top_news .snslink .btn img {
	width: 15px;
	margin-right: 10px;
}
#top_news .snslink .btn p {
	font-size: 1.5rem;
	font-weight: 700;
}

/* ABOUT US */
#top_about .sectit {
	text-align: center;
	margin-bottom: 100px;
}
#top_about .sectit .sec_subtit span {
	color: #00A7EA;
}
.top_about_img {
	position: relative;
	margin-bottom: 60px;
}
#top_about .top_about_img .blue_line {
	position: absolute;
	bottom: 40px;
	left: 0;
}
.top_about_content {
	display: flex;
	justify-content: space-between;
}
.top_about_content_left {
	width: 54%;
}
.top_about_content_left_txt {
	color: #0075c2;
    font-size: 2.0rem;
    font-weight: 700;
    line-height: 3;
}
.top_about_content_left_tit {
	font-size: 4.0rem;
	font-weight: 700;
	line-height: 1.375;
}
.top_about_content_right {
	width: 46%;
}
.top_about_content_right .btn {
	width: 229px;
}
.top_about_content_right_txt {
	margin-bottom: 40px;
}
@media screen and (min-width: 1025px) and (max-width: 1200px) {
	.top_about_content_left_txt {
		font-size: 1.8rem;
	}
	.top_about_content_left_tit {
		font-size: 3.4rem;
	}
}

/* WHY CHOOSE US */
#top_whychoose {
	padding-bottom: 250px;
}
#top_whychoose .container {
	width: 95%;
	max-width: 1361px;
}
#top_whychoose .sectit {
	display: flex;
	align-items: flex-end;
	margin-bottom: 30px;
}
#top_whychoose .sectit .sec_tit {
	margin-bottom: 82px;
}
#top_whychoose .sectit .sec_subtit {
	font-size: 20.0rem;
    line-height: 1.5;
	margin-right: 20px;
}
#top_whychoose .sectit .sec_subtit span {
	color: #00A7EA;
}
.top_whychoose_list {
	display: flex;
}
.top_whychoose_list > li {
	width: calc((100% - 24px) / 4);
}
.top_whychoose_list > li:not(:last-of-type) {
	margin-right: 8px;
}
.top_whychoose_list > li:nth-of-type(2n) {
	margin-top: 50px;
}
.top_whychoose_list > li > a {
	position: relative;
	display: block;
}
.top_whychoose_list > li > a .blue_filter {
	position: absolute;
    top: 0;
    height: 100%;
    width: 100%;
	background: linear-gradient(18.85deg, #0089E4 0%, #193140 13.18%, #004A8D 70.11%, rgba(0, 154, 255, 0.34) 101.22%);
    mix-blend-mode: hard-light;
	transition: 0.5s;
}
.top_whychoose_list > li > a:hover .blue_filter {
	height: 0%;
}
.top_whychoose_list > li > a .top_whychoose_list_txt {
	position: absolute;
	left: 40px;
	top: 45%;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
}
.top_whychoose_list_num {
	font-family: 'CENTPIA', sans-serif;
	font-size: 8.0rem;
	color: #00A7EA;
	line-height: 1;
	margin-bottom: 20px;
}
.top_whychoose_list_tit {
	font-size: 3.0rem;
	font-weight: 700;
	line-height: 1.16;
	color: #fff;
}
@media screen and (min-width: 1025px) and (max-width: 1200px) {
	#top_whychoose .sectit .sec_subtit {
		font-size: 15.0rem;
		margin-right: 15px;
	}
	#top_whychoose .sectit .sec_tit {
		margin-bottom: 67px;
	}
	.top_whychoose_list > li > a .top_whychoose_list_txt {
		left: 25px;
	}
	.top_whychoose_list_num {
		font-size: 7.0rem;
		margin-bottom: 10px;
	}
	.top_whychoose_list_tit {
		font-size: 2.2rem;
		line-height: 1.4;
	}
}

/* 20TH ANNIVERSARY */
#top_20th {
	background: linear-gradient(180deg, #004A7B 0%, #004A7B 66%, transparent 66%, transparent 100%);
	padding: 110px 0 210px;
	margin-top: 200px;
}
#top_20th .top_20th_content.container {
	max-width: 900px;
}
#top_20th .sectit {
	margin-bottom: 100px;
}
#top_20th .sectit .sec_subtit {
	text-align: right;
	font-size: 13.0rem;
	color: #fff;
}
#top_20th .sectit .sec_subtit span {
	color: #00A7EA;
}
#top_20th .sec_btm {
	display: flex;
	justify-content: flex-end;
	align-items: center;
	position: relative;
}
#top_20th .sec_btm .sec_tit {
	color: #fff;
}
#top_20th .sec_btm .blue_line {
	width: calc(100% - 200px);
	height: 198px;
	background: radial-gradient(104.98% 6.15% at 0% 40.43%, #0075C2 0%, rgba(0, 145, 216, 0.19) 45.83%, rgba(0, 167, 234, 0) 100%);
	mix-blend-mode: plus-lighter;
	position: absolute;
	top: -68px;
    left: 0;
}
.top_20th_content_linklist {
	display: flex;
	align-items: center;
	justify-content: space-between;
}
.top_20th_content_linklist > li {
	width: 46%;
}
.top_20th_content_linklist > li > a {
	display: block;
	position: relative;
}
.top_20th_content_linklist > li > a:hover {
	opacity: 1;
}
.top_20th_content_linklist > li > a .linklist_img {
	overflow: hidden;
}
.top_20th_content_linklist > li > a .linklist_img img {
	transition: 0.5s;
}
.top_20th_content_linklist > li > a .linklist_img img:hover {
	transform:scale(1.1,1.1);
	-moz-transform: scale(1.1);
	-webkit-transform: scale(1.1);
	-ms-transform: scale(1.1);
}
.top_20th_content_linklist > li .linklist_subtit {
	font-size: 10.0rem;
	font-family: 'CENTPIA', sans-serif;
	color: #fff;
	line-height: 0.8;
	position: absolute;
	top: -28px;
	left: -20px;
	z-index: 10;
}
.top_20th_content_linklist > li .linklist_tit {
	font-weight: 700;
	font-size: 2.0rem;
	line-height: 1.75;
	margin-top: 25px;
	display: flex;
	align-items: center;
}
.top_20th_content_linklist > li .linklist_tit:after {
	content: '';
	height: 1px;
	width: 80px;
	background-color: #0075C2;
	margin-left: 10px;
}
@media screen and (min-width: 1025px) and (max-width: 1200px) {
	#top_20th {
		padding: 110px 0 170px;
	}
	#top_20th .sectit .sec_subtit {
		font-size: 11.0rem;
	}
	.top_20th_content_linklist > li .linklist_subtit {
		font-size: 9rem;
		top: -28px;
    	left: -15px;
	}
	.top_20th_content_linklist > li .linklist_tit {
		font-size: 1.8rem;
	}
}

/* COMPANY STORE LINK */
#top_btmlink .top_btmlink_content.container {
	max-width: 900px;
}
#top_btmlink .top_btmlink_linklist {
	display: flex;
}
.top_btmlink_linklist > li {
	width: 100%;
}
.top_btmlink_linklist > li:not(:last-of-type) {
	margin-right: 33px;
}
.top_btmlink_linklist > li > a  {
	display: block;
}
.top_btmlink_linklist > li > a:hover {
	opacity: 1;
}
.top_btmlink_linklist > li > a .linklist_cover {
	overflow: hidden;
}
.top_btmlink_linklist > li > a .linklist_img {
	padding-top: 34%;
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
	position: relative;
	transition: 0.5s;
}
.top_btmlink_linklist > li > a .linklist_img:hover {
	transform:scale(1.1,1.1);
	-moz-transform: scale(1.1);
	-webkit-transform: scale(1.1);
	-ms-transform: scale(1.1);
}
#top_btmlink01 .linklist_img {
	background-image: url(images/linklist_img01.jpg);
}
#top_btmlink02 .linklist_img {
	background-image: url(images/linklist_img02.jpg);
}
.linklist_img .linklist_subtit {
	font-size: 8.0rem;
	font-family: 'CENTPIA', sans-serif;
	color: #fff;
	position: absolute;
	top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
}
.top_btmlink_linklist > li .linklist_tit {
	font-weight: 700;
	font-size: 2.0rem;
	line-height: 1.75;
	margin-top: 25px;
	display: flex;
	align-items: center;
}
.top_btmlink_linklist > li .linklist_tit:after {
	content: '';
	height: 1px;
	width: 80px;
	background-color: #0075C2;
	margin-left: 10px;
}

/*===============================
 PAGE-ABOUT
===============================*/
/* about01 */
#about01 > div:not(:last-of-type) {
	margin-bottom: 150px;
}
.about_content_txtarea {
	width: 37%;
	padding-top: 4.3vw;
}
.about_content_imgarea {
	width: 57%;
}
#about01 .left-container {
	display: flex;
	justify-content: space-between;
}
#about01 .right-container {
	display: flex;
	justify-content: space-between;
}
#about01 .right-container .about_content_txtarea {
	order: 2;
	padding-top: 0;
}
.about_content_tit {
	font-size: 3.5rem;
    font-weight: 700;
    line-height: 1.285;
    color: #0075C2;
    margin-bottom: 30px;
}
.about_content_txt span {
	font-weight: 700;
}

/* about02 */
#about02 {
	padding: 80px 0 130px;
}
#about02 .pagetit {
	position: absolute;
	top: 37px;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
	margin-top: 0;
	width: 100%;
}
#about02 .page_tit {
	color: #fff;
    font-size: 3.5rem;
    font-weight: bold;
}
#about02 .page_subtit {
	margin-bottom: 5vw;
}
.about02_content_box {
	position: relative;
	background-color: #fff;
	box-shadow: 0 0 20px rgba(0, 0, 0, 0.15);
	border-radius: 30px;
	padding: 50px 70px;
}
#about02 .about02_content_box01 {
	margin: -15% auto 50px;
}
.about02_content_box h3 {
	font-size: 3.0rem;
	text-align: center;
	margin-bottom: 50px;
}
.about02_content_box h3 span {
	color: #0075C2;
}
.about02_content_box_flow {
	margin-bottom: 40px;
}
.about02_content_box_flow_img01 {
	margin-bottom: 20px;
}
.about02_content_box_txt01 {
	font-size: 3.0rem;
	font-weight: bold;
	line-height: 1.666;
	padding-bottom: 40px;
	border-bottom: 2px solid #f0f0f0;
}
.about02_content_box_btm {
	text-align: center;
	padding-top: 20px;
}
.about02_content_box_btm_txt01 {
	font-size: 1.6rem;
	line-height: 2;
	font-weight: bold;
	color: #0075C2;
	margin-bottom: 10px;
}
.about02_content_box_btm_txt02 {
	font-size: 2.5rem;
	font-weight: bold;
	line-height: 1.4;
	margin-bottom: 12px;
}
.about02_content_box_btm_txt03 {
	font-size: 2.0rem;
	font-weight: 400;
	line-height: 1;
	margin-bottom: 30px;
}
.about02_content_box_btm_txt04 span {
	font-size: 3.5rem;
	color: #fff;
	background-color: #0075C2;
	font-weight: bold;
	display: inline-block;
	padding: 15px 35px 20px;
	border-radius: 20px;
	line-height: 1;
}

/* about03 */
#about03 .pagetit {
	position: absolute;
	top: 37px;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
	margin-top: 0;
	width: 100%;
}
#about03 .page_tit {
	color: #fff;
    font-size: 3.5rem;
    font-weight: bold;
}
#about03 .page_subtit {
	margin-bottom: 5vw;
}
#about03 .container .btn {
	width: 229px;
	margin: 0 auto;
}
#about03 {
	padding: 80px 0 200px;
}
#about03 .about03_content01 {
	margin: -22% auto 0;
}
#about03 .container {
	max-width: 809px;
}
#about03 .about03_content01 iframe {
	margin-bottom: 40px;
	border-radius: 5px;
}

@media screen and (min-width: 1025px) and (max-width: 1200px) {
	#about01 > div:not(:last-of-type) {
		margin-bottom: 120px;
	}
	.about_content_tit {
		font-size: 3.0rem;
	}
}

/*===============================
 PAGE-WHY CHOOSE US
===============================*/
/* whychoose01 */
#whychoose01 {
	padding-top: 100px;
}
#whychoose01 > div:not(:last-of-type) {
	margin-bottom: 100px;
}
.reason_content_box {
	width: 90%;
	max-width: 850px;
	padding: 30px 5% 40px;
	margin: -140px auto 0;
	background-color: #fff;
    position: relative;
}
.reason_content_box_tit {
	display: flex;
	justify-content: center;
	align-items: flex-end;
	margin-bottom: 30px;
}
.reason_content_box_tit .nnumber {
	font-size: 8.0rem;
	font-family: 'CENTPIA', sans-serif;
	color: #00A7EA;
	line-height: 1;
	margin-right: 30px;
}
.reason_content_box_tit .tit {
	font-size: 3.0rem;
	font-weight: 700;
	line-height: 1.16;
	margin-bottom: 7px;
}

/*===============================
 PAGE-COMPANY
===============================*/
#company01 {
	padding: 100px 0 200px;
}
#company01 .container {
	max-width: 896px;
}
.company_photo {
	margin-bottom: 70px;
}
.company_info {
	margin-bottom: 100px;
}
.company_info dl {
    display: flex;
}
.company_info dt {
    width: 13%;
    color: #0075C2;
	padding: 30px 0;
	border-bottom: 2px solid #f0f0f0;
}
.company_info dd {
    width: 87%;
	padding: 30px 0;
	border-bottom: 2px solid #f0f0f0;
}
#maptxt {
	text-align: center;
	margin-top: 20px;
}

/*===============================
 PAGE-20TH
===============================*/
.mv_20th {
	background-color: #004A7B;
	padding-top: 170px;
}
.mv_20th .pagesubtitle {
	text-align: center;
	font-family: 'CENTPIA', sans-serif;
	color: #00A7EA;
	font-size: 8.0rem;
	line-height: 1;
	margin-bottom: 10px;
}
.mv_20th .pagesubtitle span {
	color: #fff;
}
.mv_20th .pagetitle {
	text-align: center;
    font-size: 1.8rem;
    color: #fff;
    font-weight: 400;
}
.mv_20th .blue_line {
	width: 80%;
    height: 198px;
    background: radial-gradient(104.98% 6.15% at 0% 40.43%, #0075C2 0%, rgba(0, 145, 216, 0.19) 45.83%, rgba(0, 167, 234, 0) 100%);
    mix-blend-mode: plus-lighter;
	margin-top: -40px;
}
#contents.page_20th {
	background-color: #004A7B;
}

/* MESSAGE FROM CEO. */
#message {
	padding: 50px 0 130px;
}
#message .container.message_content {
	max-width: 1112px;
}
.message_content {
	display: flex;
	justify-content: space-between;
}
.message_left {
	width: 46%;
	position: relative;
}
.message_right {
	width: 48%;
}
.message_tit {
	font-family: 'CENTPIA', sans-serif;
	color: #fff;
	font-size: 13.0rem;
	line-height: 0.769;
}
.message_left .message_tit {
	position: absolute;
	top: -50px;
	left: -50px;
}
.message_tit span {
	color: #00A7EA;
}
.message_subtit {
	font-size: 2.0rem;
    line-height: 1;
    color: #00A7EA;
    font-weight: 700;
}
.message_right .message_subtit {
	margin-bottom: 20px;
}
#message_item_maintxt {
	font-weight: 700;
	color: #fff;
	line-height: 1.5;
	font-size: 3.0rem;
	margin-bottom: 40px;
}
.message_right p {
	color: #fff;
}

/* 20TH ANNIVERSARY LOGO RENEWAL */
#logo_renewal {
	padding-bottom: 200px;
}
#logo_renewal .container {
	background-color: #0062A3;
	max-width: 1112px;
	border-radius: 10px;
}
.logo_renewal_content {
	padding: 190px 7% 100px;
	position: relative;
}
.logo_tit_area {
	display: flex;
}
#logo_renewal .logo_tit  {
	display: flex;
	align-items: flex-start;
	position: absolute;
	top: -60px;
    left: -50px;
}
#logo_renewal .logo_tit .message_subtit {
	margin-top: 7px;
}
#logo_renewal .logo_tit .message_tit {
	margin-right: 20px;
}
.logo_hidden {
	display: none;
}
.logo_hidden.on {
	display: block;
}
.logo_content {
	margin-bottom: 100px;
}
.logo_content.logo_content_last {
	margin-bottom: 0;
}
.logo_content_img {
	border-radius: 5px;
	margin-bottom: 50px;
}
.logo_content_inner {
	display: flex;
}
.logo_content_left {
	width: 39%;
}
.logo_content_left .message_itemtit {
	font-weight: 700;
	color: #00A7EA;
	margin-bottom: 10px;
	letter-spacing: 0;
}
.logo_content_right {
	width: 61%;
}
.logo_content_right_maintxt {
	color: #fff;
	font-size: 2.0rem;
	font-weight: 700;
	line-height: 1.7;
	margin-bottom: 30px;
}
.logo_content_right > p {
	color: #fff;
}
.logo_item_maintxt {
	font-weight: 700;
	font-size: 20px;
	line-height: 1.7;
	color: #FFFFFF;
}
#logo_content01 .logo_item_maintxt {
	font-size: 3.0rem;
}
#logo_content01 .message_itemtit {
	margin-bottom: 3px;
}
.readmore {
	background-color: #00A7EA;
    color: #fff;
    min-height: 53px;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 229px;
    border-radius: 50px;
    padding-bottom: 3px;
	margin: 0 auto;
	transition: 0.5s;
}
.readmore:hover {
	cursor: pointer;
	opacity: 0.8;
}
.readmore.hidden {
	display: none;
}

@media screen and (min-width: 1025px) and (max-width: 1200px) {
	/* MESSAGE FROM CEO. */
	.mv_20th .blue_line {
		height: 160px;
		margin-top: -30px;
	}
	.message_tit {
		font-size: 10.0rem;
	}
	.message_left .message_tit {
		top: -42px;
    	left: -30px;
	}
	.message_right {
		width: 50%;
	}
	.message_subtit {
		font-size: 1.8rem;
	}
	#message_item_maintxt {
		font-size: 2.6rem;
		margin-bottom: 25px;
		line-height: 1.6;
	}

	/* 20TH ANNIVERSARY LOGO RENEWAL */
	#logo_renewal {
		padding-bottom: 150px;
	}
	#logo_renewal .logo_tit {
		left: -30px;
	}
	.logo_renewal_content {
		padding: 170px 5% 100px;
	}
	.logo_content_left .message_itemtit {
		margin-bottom: 5px;
    	font-size: 1.4rem;
	}
	#logo_content01 .logo_item_maintxt {
		font-size: 2.6rem;
	}
	.logo_content_right_maintxt {
		font-size: 1.8rem;
		margin-bottom: 20px;
	}
}

/*===============================
 PAGE-RECRUIT
===============================*/
#recruit_regular {
	padding-top: 50px;
}
.recruit_regular_content {
	width: 90%;
	max-width: 1225px;
	margin: 0 auto;
	box-shadow: 0 0 20px 0 rgba(0, 0, 0, 0.15);
	border-radius: 30px;
	padding: 50px 70px 60px;
}
.recruit_regular_tit_logo {
	width: 120px;
	margin: 0 auto 50px;
}
.recruit_regular_tit {
	font-size: 4.0rem;
	font-weight: 700;
	line-height: 1;
	text-align: center;
	margin-bottom: 50px;
}
.recruit_regular_content_box {
	margin-top: 50px;
}
.recruit_regular_content_box_tit {
	font-size: 2.5rem;
    border-bottom: 2px solid #0075c2;
	margin-bottom: 30px;
	padding-bottom: 15px;
    line-height: 1;
}
.recruit_itemlist dl {
	display: flex;
}
.recruit_itemlist {
	border-top: 2px solid #f2f2f2;
}
.recruit_itemlist dl dt {
    width: 250px;
    background-color: #FCFCFC;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 2px solid #f2f2f2;
    border-top: none;
}
.recruit_itemlist dl dd {
    width: calc(100% - 250px);
    padding: 15px 30px;
    border-bottom: 2px solid #f2f2f2;
    border-right: 2px solid #f2f2f2;
}
.recruit_itemlist dl dd span {
	font-weight: bold;
}

/*===============================
 PAGE-CONTACT
===============================*/
#page-contact {
	padding-top: 50px;
}
.mv_contact .pagesubtitle {
	text-align: center;
    font-family: 'CENTPIA', sans-serif;
    color: #0075C2;
    font-size: 8.0rem;
    line-height: 1;
    margin-bottom: 10px;
}
.mv_contact .pagetitle {
    text-align: center;
    font-size: 1.8rem;
    font-weight: 400;
}
#page-contact .sectitle02 {
	text-align: center;
	font-size: 3.0rem;
	margin-bottom: 30px;
}
#sec_store_link .onlinestore_link_inner {
	padding: 90px 0 100px;
}
#sec_store_link .onlinestore_link_txt {
	font-size: 3.0rem;
    font-weight: bold;
}
#other_form_tit {
	font-size: 3.0rem;
    font-weight: bold;
	text-align: center;
}
#contact-area_other .contact-form {
	margin: 60px auto 40px;
}
.contact_txt {
	text-align: center;
	margin-bottom: 20px;
}
.contact-form {
    max-width: 896px;
    width: 100%;
    margin: 70px auto 40px;
}
.contact-form th, .contact-form td {
    display: block;
}
.contact-form th {
    text-align: left;
    padding: 20px 0 10px;
	font-size: 1.6rem;
	line-height: 2;
}
.contact-form td {
    padding: 0;
}
.contact-form textarea, .contact-form .inputtext {
    width: 100%;
    border: solid 2px #f0f0f0;
	border-radius: 10px;
    padding: 3px 20px 5px;
    box-sizing: border-box;
    outline: none;
    font-family: inherit;
    font-size: inherit;
    line-height: 2;
	font-family: 'Noto Sans JP', sans-serif;
}
input[type="submit"].mainsubmit {
    background-color: #00A7EA;
    width: 229px;
    border: none;
    border-radius: 36px;
    padding: 10px;
    margin: 0px auto;
    display: block;
    color: #fff;
    font-size: 1.5rem;
    line-height: 2;
    min-height: 53px;
}
input[type="submit"].mainback {
    background-color: #fff;
    width: 229px;
    border: 2px solid #f0f0f0;
    border-radius: 36px;
    padding: 10px;
    margin: 0px auto;
    display: block;
    color: #000;
    font-size: 1.5rem;
	line-height: 2;
	min-height: 53px;
}

/* 入力内容の確認 */
#page-contact.confirm {
    padding-top: 150px;
}
#page-contact.confirm .contact-form {
	margin: 0 auto 50px;
}
#page-contact.confirm .contact-form td {
	width: 100%;
    border: solid 2px #f0f0f0;
	border-radius: 10px;
    padding: 3px 20px 5px;
	line-height: 2;
	font-family: 'Noto Sans JP', sans-serif;
}
#page-contact.confirm .submit_area {
	display: flex;
    justify-content: center;
}
#page-contact.confirm input[type="submit"].mainsubmit {
	margin: 0px 30px 0 0;
}
#page-contact.confirm input[type="submit"].mainback {
	margin: 0;
}

/* 送信完了 */
#page-contact.thanks {
    padding: 150px 0;
}
#apply_head {
	text-align: center;
    font-size: 2.4rem;
    margin-bottom: 30px;
}
#apply_txt {
	text-align: center;
	margin-bottom: 100px;
}
#apply_btn_link {
	background-color: #00A7EA;
    width: 229px;
    border: none;
    border-radius: 36px;
    padding: 10px;
    margin: 0px auto;
    display: block;
    color: #fff;
    font-size: 1.5rem;
    line-height: 2;
    min-height: 53px;
	text-align: center;
}

/* 入力エラー */
#page-contact.error {
    padding-top: 150px;
}
#page-contact.error .contact-form {
	margin-top: 0;
}
#page-contact.error .contact-form > tbody > tr:first-of-type th {
	padding-top: 0;
}

/*===============================
 ARCHIVE-NEWS
===============================*/
.page-news.container {
	max-width: 896px;
}


/*===============================
 ARCHIVE-BLOG
===============================*/
.blog-archive.pagetitle {
	padding-bottom: 100px;
}
.page-blog .pagination {
	margin-top: 0;
}

/*===============================
 SINGLE
===============================*/
.single-main .container {
	max-width: 935px;
}
.single-main .article_date {
	font-family: 'Noto Sans JP', sans-serif;
	font-size: 1.2rem;
	font-weight: 400;
	letter-spacing: 0.05em;
	color: #808080;
	text-align: center;
	margin-bottom: 50px;
}
.single-main .article_tit {
	font-family: 'Noto Sans JP', sans-serif;
    font-size: 3.0rem;
    font-weight: bold;
    line-height: 1.5;
    letter-spacing: 0.04em;
	margin-bottom: 20px;
}
.single-main .mainimg {
	margin-bottom: 40px;
}

/* content */
.article_content {
	font-family: 'Noto Sans JP', sans-serif;
}
.article_content h2 {
	font-size: 2.5rem;
    font-weight: bold;
    letter-spacing: 0.2em;
    line-height: 1.68;
    padding-bottom: 10px;
    margin-bottom: 10px;
    position: relative;
    border-bottom: 2px solid #0075C2;
}
.article_content h3 {
	font-size: 2.0rem;
	font-weight: bold;
	letter-spacing: 0.05em;
	line-height: 1.68;
	padding-top: 10px;
	margin-bottom: 10px;
	position: relative;
}
.article_content h4 {
	font-size: 1.6rem;
	font-weight: 400;
	letter-spacing: 0.1em;
	line-height: 2.125;
	padding-bottom: 5px;
	margin-bottom: 20px;
	position: relative;
}
.article_content h5 {
	font-size: 1.5rem;
	font-weight: 400;
	letter-spacing: 0.1em;
	line-height: 2.125;
	padding-bottom: 5px;
	margin-bottom: 20px;
	position: relative;
}
.article_content h6 {
	font-size: 1.4rem;
	font-weight: 400;
	letter-spacing: 0.1em;
	line-height: 2.125;
	padding-bottom: 5px;
	margin-bottom: 20px;
	position: relative;
}
.article_content img {
	padding-top: 10px;
	border: none !important;
}
.article_content p {
	font-size: 1.6rem;
	font-weight: 400;
	letter-spacing: 0.05em;
	line-height: 2;
	margin-bottom: 20px;
}
.article_content p strong {
	font-weight: 700;
}
.article_content p em {
	font-style: italic;
}
.article_content a {
	color: #00A7EA;
}
.gallery-columns-2 > dl.gallery-item {
	width: 49% !important;
}
.gallery-columns-2 > dl.gallery-item:not(:nth-of-type(2n)) {
	margin-right: 2%;
}
.gallery-columns-3 > dl.gallery-item {
	width: 32% !important;
}
.gallery-columns-3 > dl.gallery-item:not(:nth-of-type(3n)) {
	margin-right: 2%;
}
.gallery-columns-4 > dl.gallery-item {
	width: 24% !important;
}
.gallery-columns-4 > dl.gallery-item:not(:nth-of-type(4n)) {
	margin-right: calc( 4% / 3 );
}
.gallery-columns-5 > dl.gallery-item {
	width: 19% !important;
}
.gallery-columns-5 > dl.gallery-item:not(:nth-of-type(5n)) {
	margin-right: calc( 5% / 4 );
}
.gallery-columns-6 > dl.gallery-item {
	width: 16% !important;
}
.gallery-columns-6 > dl.gallery-item:not(:nth-of-type(6n)) {
	margin-right: calc( 4% / 5 );
}
.gallery-columns-7 > dl.gallery-item {
	width: 14% !important;
}
.gallery-columns-7 > dl.gallery-item:not(:nth-of-type(7n)) {
	margin-right: calc( 2% / 6 );
}
.gallery-columns-8 > dl.gallery-item {
	width: 12% !important;
}
.gallery-columns-8 > dl.gallery-item:not(:nth-of-type(8n)) {
	margin-right: calc( 4% / 7 );
}
.gallery-columns-9 > dl.gallery-item {
	width: 10% !important;
}
.gallery-columns-9 > dl.gallery-item:not(:nth-of-type(9n)) {
	margin-right: calc( 10% / 8 );
}

/*===============================
 footer
===============================*/
#footer {
	position: relative;
}
.openbtn {
    position: fixed;
    z-index: 9999;
    top: 0;
    right: 0;
    cursor: pointer;
    width: 90px;
    height: 100px;
	display: none;
}
.openbtn span {
    display: inline-block;
    transition: all .4s;
    position: absolute;
    left: 29px;
    cursor: pointer;
}
.openbtn span:nth-of-type(1), .openbtn span:nth-of-type(2) , .openbtn span:nth-of-type(3) {
	height: 1px;
    background: #00A7EA;
    width: 39%;
    opacity: 1;
}
.openbtn span:nth-of-type(1) {
    top: 46px;
}
.openbtn span:nth-of-type(2) {
	top: 50px;
	opacity: 0;
}
.openbtn span:nth-of-type(3) {
    top: 54px;
}
.openbtn.active span:nth-of-type(1) {
    top: 41px;
    left: 32px;
    transform: translateY(6px) rotate(-45deg);
	width: 30%;
	opacity: 1;
}
.openbtn.active span:nth-of-type(2) {
	opacity: 0;
}
.openbtn.active span:nth-of-type(3){
    top: 53px;
    left: 32px;
    transform: translateY(-6px) rotate(45deg);
	width: 30%;
	opacity: 1;
}
.footer_inner01 {
	padding: 100px 0 50px;
}
.footer_menu_logo {
	text-align: center;
}
.footer_menu_logo a { display: inline-block; }
.footer_menu_logo a img { width: 120px; }
.footer_info {
	text-align: center;
}
.footer_info .tel {
	font-family: "trajan-pro-3", serif;
	font-style: normal;
	font-size: 1.5rem;
	font-weight: 400;
}
.footer_info .tel_number {
	font-family: "trajan-pro-3", serif;
	font-style: normal;
	font-size: 4.0rem;
	font-weight: 400;
	margin-bottom: 10px;
	letter-spacing: 0.2em;
	line-height: 1.5;
}
.footer_inner02 {
	padding: 50px 0 0;
}
.footer_menu {
	margin-bottom: 130px;
}
.footer_menu > ul {
	display: flex;
	justify-content: center;
	align-items: center;
}
.footer_menu > ul > li > a {
	padding: 0 25px;
	font-size: 1.5rem;
	line-height: 1;
}
.footer_menu .store_btn_area {
	margin-left: 25px;
}
.footer_menu .store_btn {
	display: flex;
	align-items: center;
	justify-content: center;
	background-color: #00A7EA;
	color: #fff;
	min-height: 73px;
	width: 239px;
}
.copyright {
	text-align: center;
	font-family: 'CENTPIA', sans-serif;
	font-size: 8.4vw;
	color: rgba(0, 0, 0, 0.1);
	line-height: 0.82;
}
#page-top {
    position: fixed;
    right: 0;
    top: 200px;
	z-index: 100;
}
#page-top a {
	color: #fff;
	display: inline-block;
	padding: 30px;
	background-color: rgb(90, 73, 87);
	text-align: center;
	border-radius: 50px 0 0 50px;
}
#page-top a span {
	font-size: 2.6rem;
	font-weight: 600;
}
@media screen and (min-width: 1025px) and (max-width: 1200px) {
	.footer_inner01 {
		padding: 100px 0 30px;
	}
	.footer_menu {
		margin-bottom: 100px;
	}
	.footer_menu > ul > li > a {
		padding: 0 15px;
    	font-size: 1.4rem;
	}
	.footer_menu .store_btn {
		min-height: 65px;
    	width: 210px;
	}
	.copyright {
		font-size: 8.2vw;
	}
}

/*========= グローバルナビゲーションのためのCSS ===============*/
#g-nav{
    /*position:fixed;にし、z-indexの数値を大きくして前面へ*/
    position:fixed;
    z-index: -1;
	opacity: 0;
    /*ナビのスタート位置と形状*/
	top: 0;
	width:100%;
    height: 100vh;/*ナビの高さ*/
	background:#004A7B;
    /*動き*/
	transition: all 0.6s;
}
#g-nav-inner {
	position: absolute;
    top: 34%;
    left: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    width: 100%;
}

/*アクティブクラスがついたら位置を0に*/
#g-nav.panelactive{
    opacity: 1;
  	z-index:999;
	top: 0px;
}

/*ナビゲーションの縦スクロール*/
#g-nav #g-nav-list{
	display: none;
    /*ナビの数が増えた場合縦スクロール*/
    position: static; 
    width: 86%;
	margin: 0 auto;
    overflow: auto;
    -webkit-overflow-scrolling: touch;
	justify-content: space-between;
	border-bottom: 1px solid #fff;
	margin-bottom: 50px;
	padding: 55px 0;
}

/*ナビゲーション*/
#g-nav.panelactive #g-nav-list {
	display: flex;
}

/*リストのレイアウト設定*/

#g-nav li{
	list-style: none;
    text-align: center; 
}
#g-nav li a{
	color: #000;
	text-decoration: none;
	padding:15px;
	display: flex;
	letter-spacing: 0.1em;
	font-family: 'Helvetica Neue', sans-serif;
	font-size: 1.6rem;
	font-weight: 400;
	line-height: 1;
}
#g-nav li a .g-nav-list-img {
	width: 16px;
	margin-right: 10px;
}
#g-nav li a .g-nav-list-txt {
	font-size: 1.5rem;
	font-weight: 400;
	letter-spacing: 0.05em;
	padding-top: 1px;
	color: #fff;
}
#g-nav-list > ul > li:not(:last-of-type) {
	margin-bottom: 20px;
}

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


/*===============================
 ページネーション
===============================*/
.pagination {
	margin: 100px 0 60px;
	text-align: center;
}
.nav-links {
    font-size: 1.5rem;
    font-weight: 400;
	letter-spacing: 0.2em;
}
.nav-links > span {
	margin: 0 10px 0;
	color: #0075C2;
}
.nav-links > a {
	margin: 0 10px 0;
}
.page-numbers {
	font-weight: 400;
}

/*===============================
 404
===============================*/
#notfound {
	padding: 50px 0 100px;
}
#no-found_tit {
	font-size: 3.0rem;
}
#notfound .container p {
	text-align: center;
    margin-bottom: 50px;
}
#notfound .container .btn {
	display: block;
	margin: 0 auto;
}

@media screen and (max-width: 767px) {
/*===============================
 Font
===============================*/
p, li, dt, dd, th, td {
	font-size: 1.2rem;
	line-height: 2.13;
}

/*===============================
 Layout
===============================*/
.container { width:100%; padding: 0 5%; }
.left-container, .right-container { width: 93%; }
section {padding:50px 0; }
.sec_tit { font-size: 1.3rem; }
.sec_subtit { font-size: 5.0rem; }
.btn { min-width: 197px; min-height: 47px; font-size: 1.3rem; }
.blue_line { height: 1px; }
.page_subtit { font-size: 5.0rem; margin-bottom: 10px; }
.page_tit { font-size: 1.3rem; }
.pagetit { margin-top: 0; }

/*===============================
 COMMON
===============================*/
/* 製品のご購入はこちらボタン */
.store_btn {
	right: 20px;
    bottom: 20px;
	padding: 10px 25px;
}
.store_btn_txt {
    margin-right: 0;
    padding: 5px 14px;
}
.store_btn_st {
	font-size: 2.6rem;
}
.store_btn_mt {
	font-size: 0.8rem;
}
.store_btn_img {
	width: 60px;
}

/* ONLINE STORE link */
.onlinestore_link {
	background-image: url(images/onlinestore_link_sp.jpg);
	padding: 130px 0;
}
.onlinestore_link_inner {
	padding: 30px 0 40px;
}
.onlinestore_link_tit {
	font-size: 4.5rem;
	margin-bottom: 5px;
}
.onlinestore_link_txt {
	font-size: 1.3rem;
}
.onlinestore_link .btn {
	width: 197px;
	font-size: 1.3rem;
	bottom: -25px;
}

/* contact */
.contact {
	padding: 100px 0 70px;
	background-image: url(images/contact_bg_sp.jpg);
	margin-top: 30px;
}
.contact_inner {
	flex-wrap: wrap;
}
.contact_left {
    width: 100%;
}
.contact_left .sectit {
	justify-content: center;
	margin-bottom: 50px;
}
.contact_right {
    width: 100%;
}
.contact_right .pagelink a {
	justify-content: center;
}

/*===============================
 header
===============================*/
#header {
	min-height: 100px;
	border-bottom: none;
}
#header .header_logo {
	top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    width: 100px;
}

/*===============================
 MV
===============================*/
#mv {
	padding-top: 0;
}
#mv_txt {
	width: 100%;
	top: 0;
	left: 0;
	height: 100%;
	transform: none;
    -webkit-transform: none;
    -ms-transform: none;
}
#mv_txt > div {
	font-size: 7.0rem;
	padding-left: 5%;
	position: absolute;
    top: 135px;
}
#mv_txt > p {
	font-size: 2.5rem;
	font-weight: 700;
	line-height: 1.4;
	padding-left: 5%;
	position: absolute;
    bottom: 100px;
}
.mv01 {
    padding: 100px 0 50px;
}
.mv01 .mv01_inner {
	padding: 0;
}
#mv_about .mv01_inner .blue_line {
	bottom: 10px;
}
#mv_whychoose .mv01_inner .blue_line {
	top: 60px;
}

/*===============================
 トップページ
===============================*/
/* NEWS */
#top_news {
    padding: 50px 0;
}
.news_inner {
	display: block;
}
#top_news .sec_subtit {
	text-align: center;
}
#top_news .newslist {
    margin-bottom: 30px;
}
.top_news_content {
	width: 100%;
	margin-top: 25px;
}
.newslist > li > a {
	display: block;
	padding: 15px 0;
}
.newslist .date {
	font-size: 1.2rem;
}
.newslist .tit {
    font-size: 1.2rem;
}
.snslink .btn {
	min-width: 147px;
	min-height: 35px;
}
#top_news .snslink {
	justify-content: center;
}
#top_news .snslink .btn p {
	font-size: 1.2rem;
}
#top_news .snslink > a.btn:not(:last-of-type) {
    margin-right: 20px;
}

/* ABOUT US */
#top_about {
	padding: 50px 0 40px;
}
#top_about .sectit {
	margin-bottom: 30px;
}
.top_about_img {
	margin-bottom: 20px;
}
#top_about .top_about_img .blue_line {
	bottom: 10px;
}
.top_about_content {
	display: block;
}
.top_about_content_left {
    width: 100%;
}
.top_about_content_left_txt {
	font-size: 1.3rem;
	margin-bottom: 3px;
}
.top_about_content_left_tit {
	font-size: 2.0rem;
	margin-bottom: 20px;
}
.top_about_content_right {
    width: 100%;
}
.top_about_content_right_txt {
    margin-bottom: 25px;
}
.top_about_content_right .btn {
    width: 197px;
}

/* WHY CHOOSE US */
#top_whychoose {
    padding-bottom: 100px;
}
#top_whychoose .container {
	width: 100%;
	padding: 0;
}
#top_whychoose .sectit {
	display: block;
}
#top_whychoose .sectit .sec_subtit {
	margin-right: 0;
	font-size: 23.9vw;
	text-align: center;
	line-height: 1;
	margin-bottom: 7px;
}
#top_whychoose .sectit .sec_tit {
	text-align: center;
	margin-bottom: 0;
}
.top_whychoose_list {
	flex-wrap: wrap;
}
.top_whychoose_list > li:nth-of-type(2n) {
    margin-top: 0;
}
.top_whychoose_list > li {
    width: calc((100% - 5px) / 2);
}
.top_whychoose_list > li:not(:last-of-type) {
    margin-right: 0;
}
.top_whychoose_list > li:not(:nth-of-type(2n)) {
    margin-right: 5px;
}
.top_whychoose_list > li:not(:nth-last-of-type(-n+2)) {
    margin-bottom: 5px;
}
.top_whychoose_list > li > a .top_whychoose_list_txt {
	left: 20px;
	top: 80px;
    transform: none;
    -webkit-transform: none;
    -ms-transform: none;
}
.top_whychoose_list_num {
	font-size: 7.0rem;
	margin-bottom: 10px;
}
.top_whychoose_list_tit {
	font-size: 1.8rem;
	line-height: 1.38;
}

/* 20TH ANNIVERSARY */
#top_20th {
	margin-top: 100px;
	padding: 90px 0 60px;
	background: #004A7B;
}
#top_20th .sectit {
    margin-bottom: 80px;
}
#top_20th .sectit .sec_subtit {
	font-size: 6.0rem;
}
#top_20th .sec_btm .blue_line {
	width: calc(100% - 98px);
	height: 45.96px;
	background: radial-gradient(104.98% 6.15% at 0% 40.43%, #0075C2 0%, rgba(0, 145, 216, 0.19) 45.83%, rgba(0, 167, 234, 0) 100%);
	mix-blend-mode: plus-lighter;
	top: -10px;
}
.top_20th_content_linklist {
	display: block;
}
.top_20th_content_linklist > li {
    width: 100%;
}
.top_20th_content_linklist > li:not(:last-of-type) {
	margin-bottom: 70px;
}
.top_20th_content_linklist > li .linklist_subtit {
	font-size: 7.0rem;
	left: -10px;
}
.top_20th_content.container {
	padding: 0 10%;
}
.top_20th_content_linklist > li .linklist_tit {
	margin-top: 15px;
	font-size: 1.8rem;
	color: #fff;
}

/* COMPANY STORE LINK */
#top_btmlink .top_btmlink_linklist {
    display: block;
}
.top_btmlink_linklist > li:not(:last-of-type) {
    margin-right: 0;
	margin-bottom: 50px;
}
.top_btmlink_linklist > li {
    width: 100%;
}
.top_btmlink_linklist > li .linklist_tit {
	font-size: 1.5rem;
	margin-top: 15px;
}
.linklist_img .linklist_subtit {
	font-size: 6.0rem;
}
#top_btmlink {
	padding: 50px 0;
}
#top_btmlink02 .linklist_img {
	background-image: url(images/linklist_img02_sp.jpg);
}
.top_btmlink_linklist > li > a .linklist_img {
	padding-top: 52%;
}

/*===============================
 PAGE-ABOUT
===============================*/
/* about01 */
#about01 .left-container, #about01 .right-container {
	display: block;
	width: 100%;
}
#about01 > div:not(:last-of-type) {
    margin-bottom: 80px;
}
.about_content_txtarea {
	width: 100%;
	padding-top: 0;
}
.about_content_imgarea {
    width: 100%;
}
.about_content_tit {
	font-size: 2.0rem;
    line-height: 1.5;
	margin-bottom: 62vw;
    padding: 0 5%;
}
.about_content_txt {
	padding: 0 5%;
}
.about_content_imgarea {
	width: 100%;
	position: absolute;
	top: 53px;
}

/* about02 */
#about02 {
    padding: 50px 0;
}
#about02 .pagetit {
	top: 22px;
}
#about02 .page_tit {
	font-size: 2.0rem;
}
#about02 .page_subtit {
    margin-bottom: 40px;
}
.about02_content_box {
	width: 90%;
	border-radius: 10px;
	padding: 25px 2.3% 30px;
}
#about02 .about02_content_box01 {
    margin: -30px auto 20px;
}
.about02_content_box h3 {
	font-size: 2.0rem;
    margin-bottom: 25px;
}
.about02_content_box_txt01 {
	font-size: 1.5rem;
	line-height: 1.53;
	padding: 0 3% 20px;
}
.about02_content_box_flow {
    margin-bottom: 25px;
}
.about02_content_box_flow_img01 {
    margin-bottom: 10px;
}
.about02_content_box_btm_txt01 {
	font-size: 1.3rem;
	line-height: 1.53;
	margin-bottom: 13px;
}
.about02_content_box_btm_txt02 {
	font-size: 1.5rem;
	line-height: 1.53;
	margin-bottom: 8px;
}
.about02_content_box_btm_txt03 {
	font-size: 1.1rem;
	margin-bottom: 23px;
}
.about02_content_box_btm_txt04 span {
	font-size: 1.45rem;
	padding: 12px 7px 16px;
	border-radius: 10px;
	width: 100%;
}

/* about03 */
#about03 {
    padding: 50px 0 100px;
}
#about03 .pagetit {
	top: 22px;
}
#about03 .page_tit {
	font-size: 2.0rem;
}
#about03 .page_subtit {
    margin-bottom: 40px;
}
#about03 .about03_content01 {
    margin: -15% auto 0;
}
#about03 .about03_content01 iframe {
	height: 199px;
}

/*===============================
 PAGE-WHY CHOOSE US
===============================*/
/* WHY CHOOSE US */
#whychoose01 {
    padding: 50px 0 70px;
}
.reason_content_box {
	margin: -20px auto 0;
	padding: 20px;
}
.reason_content_box_tit {
	margin-bottom: 25px;
}
.reason_content_box_tit .nnumber {
	font-size: 5.0rem;
	margin-right: 10px;
}
.reason_content_box_tit .tit {
	font-size: 2.0rem;
	margin-bottom: 4px;
}
#whychoose01 > div:not(:last-of-type) {
    margin-bottom: 70px;
}

/*===============================
 PAGE-COMPANY
===============================*/
#mv_company .mv01_inner .blue_line {
	bottom: 40px;
}
.company_photo {
    margin-bottom: 20px;
}
#company01 {
    padding: 50px 0 100px;
}
.company_info {
    margin-bottom: 30px;
}
.company_info dl {
    display: block;
}
.company_info dt {
	border-bottom: none;
	padding: 17px 0 0;
	margin-bottom: 3px;
	width: 100%;
}
.company_info dd {
	padding: 0 0 20px;
	width: 100%;
}
#company01 iframe {
	height: 160px;
}
#maptxt {
	text-align: left;
	margin-top: 10px;
}

/*===============================
 PAGE-20TH
===============================*/
.mv_20th {
	padding-top: 120px;
}
.mv_20th .pagesubtitle {
	font-size: 5.0rem;
}
.mv_20th .pagetitle {
	font-size: 1.3rem;
}
.mv_20th .blue_line {
	height: 65.44px;
	width: 100%;
	margin-top: 0px;
}

/*===============================
 PAGE-20TH
===============================*/
/* MESSAGE FROM */
#message {
    padding: 40px 0 130px;
}
#message .container.message_content {
	padding: 0;
	display: block;
}
.message_left {
	margin-left: 10%;
	width: 90%;
	margin-bottom: 5px;
}
.message_left .message_tit {
	top: -30px;
    left: -20px;
}
.message_right {
	padding: 0 5%;
	width: 100%;
}
.message_tit {
	font-size: 6.5rem;
	line-height: 0.84;
}
.message_subtit {
	font-size: 1.3rem;
}
.message_right .message_subtit {
    margin-bottom: 15px;
}
#message_item_maintxt {
	font-size: 2.0rem;
	margin-bottom: 20px;
}

/* LOGO RENEWAL */
#logo_renewal {
    padding-bottom: 50px;
}
#logo_renewal .container {
	margin: 0 5%;
    width: 90%;
    border-radius: 10px;
	padding: 70px 5% 40px;
}
#logo_renewal .logo_tit {
	left: 0;
	display: block;
	top: -86px;
}
#logo_renewal .logo_tit .message_tit {
    margin-right: 0px;
}
#logo_renewal .logo_tit .message_subtit {
	line-height: 1.38;
	margin-top: 0;
	position: absolute;
	right: -12px;
	bottom: 0px;
}
.logo_content {
    margin-bottom: 50px;
}
.logo_content_img {
	margin-bottom: 25px;
}
#logo_content01 .message_itemtit {
	font-size: 1.3rem;
}
#logo_content01 .logo_item_maintxt {
    font-size: 2.0rem;
}
.logo_content_inner {
    display: block;
}
.logo_content_left {
    width: 100%;
	margin-bottom: 15px;
}
.logo_content_left .message_itemtit {
	margin-bottom: 3px;
}
.logo_content_right {
    width: 100%;
}
.logo_content_right_maintxt {
	font-size: 1.45rem;
	margin-bottom: 20px;
}
.readmore {
	font-size: 1.4rem;
}

/*===============================
 PAGE-RECRUIT
===============================*/
#recruit_regular {
    padding: 50px 5%;
}
#recruit_regular .recruit_regular_content {
	padding: 30px 0;
	border-radius: 10px;
}
.recruit_regular_tit_logo {
    width: 80px;
    margin: 0 auto 30px;
}
.recruit_regular_tit {
	font-size: 2.6rem;
	margin-bottom: 30px;
}
.recruit_regular_content_box {
    margin-top: 25px;
}
.recruit_regular_content_box_tit {
	width: 90%;
    margin: 0 auto 20px;
}
.recruit_itemlist {
	width: 90%;
    margin: 0 auto;
}
.recruit_itemlist dl dt {
	width: 80px;
	line-height: 1.33;
    text-align: center;
}
.recruit_itemlist dl dd {
	width: calc(100% - 80px);
	padding: 8px 20px;
	line-height: 1.6666;
}
.recruit_regular_content_box_tit {
	font-size: 1.8rem;
}
input[type="submit"].mainsubmit {
	font-size: 1.3rem;
}
input[type="submit"].mainback {
	font-size: 1.3rem;
	width: 197px;
    min-height: 47px;
}

/* 入力内容確認 */
#page-contact.confirm {
    padding-top: 130px;
}
#page-contact .sectitle02 {
	margin-bottom: 20px;
	font-size: 2.0rem;
}
#page-contact.confirm #contact-area {
	margin-top: 10px;
}

/* 送信完了 */
#page-contact.thanks {
    padding: 150px 0 70px;
}
#apply_txt {
	margin-bottom: 30px;
}
#apply_btn_link {
	font-size: 1.3rem;
	width: 197px;
    min-height: 47px;
}

/* 入力内容エラー */
#page-contact.error {
    padding-top: 130px;
}
#page-contact .sectitle02 {
	margin-bottom: 20px;
	font-size: 2.0rem;
}
#page-contact.error #contact-area {
	margin-top: 10px;
}

/*===============================
 PAGE-CONTACT
===============================*/
.mv_contact {
    padding-top: 120px;
    margin-bottom: 50px;
}
#sec_store_link .onlinestore_link_txt {
	font-size: 1.8rem;
	line-height: 1.333;
}
#sec_store_link .onlinestore_link_inner {
    padding: 40px 0 50px;
}
#other_form_tit {
	font-size: 1.8rem;
    line-height: 1.333;
}
#contact-area {
	padding: 0 5%;
	margin-top: 30px;
}
.contact-form {
	margin: 0 auto 20px;
}
.contact_txt {
    text-align: center;
	font-size: 1.3rem;
	line-height: 1.785;
}
.contact-form th {
	font-size: 1.2rem;
	padding: 15px 0 10px;
}
.contact-form textarea, .contact-form .inputtext {
	padding: 7px 10px;
	border-radius: 5px;
}
input[type="submit"].mainsubmit {
	width: 197px;
    min-height: 47px;
}
#other_contact #contact-area_other {
	padding: 0 5%;
}
#contact-area_other .contact-form {
    margin: 20px auto 25px;
}

/* 入力内容確認 */
#page-contact.confirm .submit_area {
	flex-wrap: wrap;
}
#page-contact.confirm input[type="submit"].mainsubmit {
    margin: 0 0 20px;
	width: 197px;
    min-height: 47px;
}

/* 送信完了 */
#apply_head {
	font-size: 2.0rem;
    margin-bottom: 20px;
}
#apply_txt {
	font-size: 1.2rem;
}

/*===============================
 ARCHIVE-NEWS
===============================*/
.mv_news {
    padding-top: 120px;
    margin-bottom: 50px;
}
.news-archive.pagetitle {
    padding-bottom: 60px;
}
.page-news.container .newslist .tit {
	font-size: 1.2rem;
	line-height: 1.66;
}

/*===============================
 ARCHIVE-BLOG
===============================*/
.blog-archive.pagetitle {
    padding-bottom: 60px;
}


/*===============================
 SINGLE
===============================*/
.single-main .article_date {
	font-size: 1.2rem;
	text-align: left;
	margin-bottom: 25px;
}
.single-main .article_tit {
	font-size: 2.0rem;
	line-height: 1.666;
	margin: 0 auto 3px;
}
.single-main .mainimg {
    margin-bottom: 20px;
}

/* content */
.article_content h2 {
	font-size: 1.8rem;
	padding-bottom: 10px;
}
.article_content h3 {
	font-size: 1.5rem;
	line-height: 1.66;
	padding-top: 5px;
	margin-bottom: 5px;
}
.article_content h4 {
	font-size: 1.4rem;
	line-height: 1.66;
}
.article_content h5 {
	font-size: 1.4rem;
	line-height: 1.66;
}
.article_content h6 {
	font-size: 1.4rem;
	line-height: 1.66;
}
.article_content p {
	font-size: 1.2rem;
}

/*===============================
 footer
===============================*/
.footer_inner01 {
    padding: 50px 0 0;
}
.footer_menu_logo a img {
    width: 100px;
}
.footer_inner02 {
	margin: 0;
	padding: 50px 0 0;
}
.footer_menu {
	display: flex;
	padding: 0px 20%;
    justify-content: space-between;
	margin-bottom: 35px;
}
.footer_menu > ul {
	display: block;
	width: auto;
}
.footer_menu > ul > li > a {
	padding: 0;
	font-size: 1.2rem;
	font-weight: 500;
}
.footer_menu > ul > li:not(:last-of-type) {
	margin-bottom: 15px;
}
.footer_store_btn_area {
	margin-bottom: 100px;
}
.footer_store_btn_area .footer_store_btn {
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: #00A7EA;
    color: #fff;
    min-height: 53px;
    width: 173px;
	margin: 0 auto;
	font-size: 1.2rem;
	font-weight: 700;
	background-image: none;
}
.copyright {
	font-size: 7.9vw;
}

/*===============================
 ページネーション
===============================*/
.pagination {
	margin: 50px;
}
.nav-links {
	font-size: 1.2rem;
}

/*===============================
 404
===============================*/
#notfound {
	padding: 50px 0 100px;
}
#no-found_tit {
	font-size: 2.4rem;
}
#notfound .container .btn {
	font-size: 1.6rem;
}

/*===============================
 page-privacy-policy
===============================*/
#privacy h2 {
	font-size: 2.2rem;
}
}

@media screen and (min-width: 768px) and (max-width: 1024px) {
/*===============================
 Layout
===============================*/
.tab { display: block; }
p, li, dt, dd, th, td { font-size: 1.4rem; line-height: 2; }
section { padding: 60px 0; }
.sec_tit { font-size: 1.6rem; }
.pagetit { margin-top: 0; }

/*===============================
 header
===============================*/
#header {
	min-height: 70px;
}
#header .header_logo {
	top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    width: 90px;
}
.store_btn {
	right: 30px;
    bottom: 30px;
}

/*===============================
 MV
===============================*/
#mv {
	padding-top: 0;
}
.mv01 {
    padding: 70px 0 50px;
}
.mv_contact, .mv_news {
    padding-top: 130px;
    margin-bottom: 60px;
}

/*===============================
 トップページ
===============================*/
/* NEWS */
#top_news {
    padding: 70px 0;
}
.news_inner {
	margin: 0 auto;
}
.news_inner .newslist {
	margin: 0;
}
.top_news_content {
	width: 75%;
}
.news_inner .pagelink {
    padding-right: 50px;
}
.newslist > li > a {
	display: block;
	padding: 20px 0;
}

/* ABOUT US */
#top_about .sectit {
	margin-bottom: 50px;
}
.top_about_content_left_txt {
	font-size: 1.5rem;
}
.top_about_content_left_tit {
	font-size: 2.4rem;
	line-height: 1.7;
}

/* WHY CHOOSE US */
#top_whychoose {
    padding-bottom: 150px;
}
#top_whychoose .sectit {
	margin-bottom: 30px;
}
#top_whychoose .sectit .sec_subtit {
	font-size: 12.0rem;
	line-height: 1.2;
}
#top_whychoose .sectit .sec_tit {
    margin-bottom: 57px;
}
.top_whychoose_list > li > a .top_whychoose_list_txt {
	left: 20px;
    top: 43%;
}
.top_whychoose_list_num {
	font-size: 5.0rem;
	margin-bottom: 10px;
}
.top_whychoose_list_tit {
	font-size: 1.6rem;
	line-height: 1.3;
}

/* 20TH */
#top_20th {
	margin-top: 100px;
	padding: 80px 0 100px;
	background: linear-gradient(180deg, #004A7B 0%, #004A7B 72%, transparent 72%, transparent 100%);
}
#top_20th .sectit .sec_subtit {
	font-size: 10.0rem;
}
#top_20th .sectit {
    margin-bottom: 90px;
}
.top_20th_content_linklist > li .linklist_subtit {
	font-size: 7.0rem;
	left: -10px;
}
.top_20th_content_linklist > li .linklist_tit {
	font-size: 1.6rem;
	margin-top: 20px;
}
.top_20th_content_linklist > li .linklist_tit:after {
	width: 60px;
}

/* top_btmlink */
.linklist_img .linklist_subtit {
	font-size: 6.0rem;
}
.top_btmlink_linklist > li .linklist_tit {
	font-size: 1.6rem;
	margin-top: 20px;
}
.top_btmlink_linklist > li .linklist_tit:after {
	width: 60px;
}

/*===============================
 PAGE-ABOUT
===============================*/
#about01 > div:not(:last-of-type) {
    margin-bottom: 80px;
}
.about_content_txtarea {
	width: 45%;
}
.about_content_imgarea {
    width: 51%;
}
.about_content_tit {
	font-size: 2.5rem;
	line-height: 1.5;
	margin-bottom: 20px;
}
#about02 {
    padding: 80px 0;
}
#about02 .page_subtit {
    margin-bottom: 7vw;
}
#about02 .page_tit {
	font-size: 2.6rem;
}
.about02_content_box {
	padding: 30px 30px 40px;
}
#about02 .about02_content_box01 {
    margin: -8% auto 50px;
}
.about02_content_box h3 {
	font-size: 2.6rem;
	margin-bottom: 35px;
}
.about02_content_box_flow {
    margin-bottom: 30px;
}
.about02_content_box_flow_img01 {
    margin-bottom: 15px;
}
.about02_content_box_txt01 {
	font-size: 2.4rem;
	line-height: 1.53;
    padding-bottom: 30px;
}
.about02_content_box_btm_txt03 {
	font-size: 1.6rem;
}
.about02_content_box_btm_txt04 span {
	font-size: 2.8rem;
    width: 100%;
}
#about03 {
    padding: 80px 0 150px;
}
#about03 .page_subtit {
    margin-bottom: 7vw;
}
#about03 .page_tit {
	font-size: 2.6rem;
}
#about03 .about03_content01 {
    margin: -15% auto 0;
}

/*===============================
 PAGE-WHY CHOOSE US
===============================*/
#whychoose01 {
    padding-top: 80px;
}
.reason_content_box {
	margin: -30px auto 0;
}
.reason_content_box_tit .nnumber {
	font-size: 6.0rem;
	margin-right: 20px;
}
.reason_content_box_tit .tit {
	font-size: 2.4rem;
}
#whychoose01 > div:not(:last-of-type) {
    margin-bottom: 80px;
}

/*===============================
 PAGE-COMPANY
===============================*/
#company01 {
    padding: 80px 0 100px;
}
.company_photo {
    margin-bottom: 30px;
}
.company_info {
    margin-bottom: 50px;
}

/*===============================
 PAGE-20TH
===============================*/
.mv_20th {
	padding-top: 120px;
}
.mv_20th .blue_line {
	width: 90%;
	height: 120px;
	margin-top: -10px;
}

/* MESSAGE FROM */
#message {
    padding: 30px 0 80px;
}
.message_tit {
	font-size: 8.0rem;
	line-height: 0.82;
}
.message_left .message_tit {
	top: -35px;
    left: -15px;
}
.message_right {
    width: 49%;
}
.message_subtit {
	font-size: 1.6rem;
}
#message_item_maintxt {
	font-size: 2.0rem;
	line-height: 1.7;
	margin-bottom: 25px;
}

/* 20TH ANNIVERSARY */
#logo_renewal {
    padding-bottom: 80px;
}
#logo_renewal .logo_tit {
	top: -40px;
    left: -15px;
}
.logo_renewal_content {
	padding: 150px 5% 70px;
}
.logo_content {
    margin-bottom: 70px;
}
.logo_content_img {
	margin-bottom: 30px;
}
.logo_content_inner {
    display: block;
}
.logo_content_left {
    width: 100%;
	margin-bottom: 20px;
}
.logo_content_left .message_itemtit {
	margin-bottom: 3px;
}
.logo_content_right {
    width: 100%;
}
.logo_content_right_maintxt {
	margin-bottom: 20px;
}
#logo_content01 .logo_item_maintxt {
    font-size: 2.4rem;
}

/*===============================
 PAGE-RECRUIT
===============================*/
.recruit_regular_content {
	padding: 50px 5% 60px;
}
.recruit_regular_tit {
	font-size: 3.2rem;
}
.recruit_itemlist dl dt {
	width: 180px;
}
.recruit_itemlist dl dd {
	width: calc(100% - 180px);
}

/*===============================
 PAGE-CONTACT
===============================*/
.contact-form {
	margin: 30px auto 60px;
}
#other_contact #contact-area_other {
	padding: 0 5%;
}
#contact-area_other .contact-form {
    margin: 30px auto 40px;
}

/*===============================
 ARCHIVE-NEWS
===============================*/
.page-news.container {
	max-width: 577px;
}

/*===============================
 ARCHIVE-BLOG
===============================*/
.bloglist > li {
	margin-bottom: 70px;
}

/*===============================
 SINGLE
===============================*/
.single-main .article_tit {
	margin: 0 auto 10px;
}
.single-main .article_date {
	margin-bottom: 30px;
}
.single-main .mainimg {
    margin-bottom: 25px;
}

/*===============================
 ページネーション
===============================*/


/*===============================
 footer
===============================*/
.footer_inner01 {
    padding: 70px 0;
}
.footer_menu_logo a img {
    width: 100px;
}
.footer_menu {
	padding: 0 5%;
	margin-bottom: 70px;
}
.footer_menu > ul {
	flex-wrap: wrap;
}
.footer_menu > ul > li {
	text-align: center;
}
.footer_menu > ul > li:nth-of-type(-n+4) {
	margin-bottom: 40px;
}
.footer_inner02 {
    padding: 0;
}
.copyright {
	font-size: 8.1vw;
}
#g-nav.panelactive {
    bottom: -70px;
}
#g-nav.panelactive #g-nav-list {
	padding: 0 17% 55px;
}
#g-nav li a .g-nav-list-img {
    width: 20px;
    margin-right: 15px;
}
#g-nav li a .g-nav-list-txt {
	font-size: 1.5rem;
	padding-top: 2px;
}
.openbtn {
	right: 15px;
	height: 70px;
}
#g-nav.panelactive{
	top: 0px;
}
.openbtn span:nth-of-type(1) {
    top: 30px;
}
.openbtn span:nth-of-type(3) {
    top: 38px;
}
.openbtn.active span:nth-of-type(1) {
	top: 27px;
}
.openbtn.active span:nth-of-type(3) {
	top: 39px;
}
}

@media screen and (min-width: 800px) and (max-width: 990px) {
.footer_menu {
	padding: 0 10%;
}
#g-nav-inner {
	top: 30%;
}
}


@media screen and (min-width: 991px) and (max-width: 1024px) {
/*===============================
 COMMON
===============================*/
.contact .container {
	width: 70%;
}
.contact_left {
    width: 50%;
}
.contact_right {
    width: 50%;
}

/*===============================
 トップページ
===============================*/
/* ABOUT US */
.about_left {
    padding: 0 5% 0 0;
}

/* EXAMINATION CONTENTS */
.consulation_right {
    padding: 0 0 0 5%;
}

/* SERVICE AREA */
.service_area_left {
	width: 400px;
}
.service_area_left .sectit {
    margin-bottom: 50px;
}
.service_area_left .line {
    margin-bottom: 50px;
}
.service_area_left .service_area_txt {
	margin-bottom: 50px;
	width: 90%;
}
.service_area_right {
    width: calc(105% - 400px);
}
.staff_right_bg {
	top: -120px;
}

/*===============================
 PAGE-ABOUT
===============================*/
/* MESSAGE */

/* CLINIC INFO */
.clinic_info_left {
	margin-bottom: 50px;
}

/*===============================
 PAGE-CONSULATION
===============================*/
.medical_treatment_top {
	margin-bottom: 240px;
}
.medical_treatment_list {
    bottom: -110px;
}

/*===============================
 PAGE-Q&A
===============================*/
.accordion_area .accordion_one .ac_header {
    padding: 2rem 7rem 2rem 3rem;
}

/*===============================
 footer
===============================*/
.footer_menu {
	padding: 0 18%;
}
.openbtn {
	width: 100px;
    height: 70px;
	right: 20px;
}
#g-nav-inner {
	top: 27%;
}
}
