@charset "utf-8";
/* ===================================================================
CSS information
 file name  :  common.css
 style info :  サブスタイル指定
=================================================================== */


/* body
----------------------------------------------------------------------------- */
body {
	width: 100%;
	margin: 0 auto;
	font-family: "游ゴシック Medium", YuGothic, YuGothicM, "Hiragino Kaku Gothic ProN", メイリオ, Meiryo, sans-serif;
	-webkit-text-size-adjust: 100%;
	line-height: 1.7;
	font-size: 14px;
	color: #252525;
	text-align: center;
	background-image: url(../images/bg.png);
	background-repeat: repeat;
	background-size: cover;
}

/* font
----------------------------------------------------------------------------- */
.rich_font {
	font-family: "Times New Roman", "游明朝", "Yu Mincho", "游明朝体", "YuMincho", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "HiraMinProN-W3", "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", serif;
	font-weight: 500;
}

.robot_font {
	font-family: 'Roboto', sans-serif;
	font-weight: 500;
}

/* anchor
----------------------------------------------------------------------------- */
a {
	transition: 0.3s linear;
}

a:link {
	color: #000;
	text-decoration: none !important;
}

a:visited {
	color: #000;
	text-decoration: none !important;
}

a:hover {
	color: #000;
	text-decoration: none !important;
}

a:active {
	color: #000;
	text-decoration: none !important;
}

/* layout
----------------------------------------------------------------------------- */

.sp_mode {
	display: none !important;
}

.pc_mode {
	display: block !important;
}

/* gotop
----------------------------------------------------------------------------- */
.go_top {
	position: fixed;
	right: 30px;
	bottom: 30px;
	z-index: 9999;
}

.go_top a {
	width: 50px;
	height: 50px;
	line-height: 50px;
	background: #fff;
	border: 2px solid #d9dfe5;
	border-radius: 10px;
	display: block;
}

/* table layout default
----------------------------------------------------------------------------- */
table {
	margin-bottom: 40px;
	width: 100%;
}

tr {
	border-bottom: 1px dotted #888;
}

tr:first-child {
	border-top: 1px dotted #888;
}

th {
	background-color: #edecf0;
	vertical-align: top;
	font-weight: normal;
}

td {
	width: 100px;
	vertical-align: top;
}

/* ol layout default
----------------------------------------------------------------------------- */
ol {
	line-height: 0.5;
}

/* header
----------------------------------------------------------------------------- */
header {
	width: 1300px;
	margin: 30px auto 0;
}

header ul.pc_mode {
	width: 100%;
	display: flex !important;
	justify-content: space-between;
	align-items: center;
}

header ul li:first-child {
	width: 780px;
	display: flex;
}

header ul li:first-child img {
	width: 100%;
}

header ul li.icon {
	width: 148px;
}

header ul li.icon a {
	display: block;
}

header ul li.icon a img {
	width: 100%;
}

header ul li:last-child {}

header ul li:last-child a.tel {}

header ul li:last-child a.tel img {
	width: 100%;
}

header ul li:last-child .info {
	text-align: left;
	margin: 20px 0 0;
	padding: 15px 30px;
	background: #D8B0CD;
	font-weight: bold;
}

/* wrapper
----------------------------------------------------------------------------- */
.wrapper {
	width: 1300px;
	margin: 10px auto 0;
}

.wrapper>ul {
	width: 100%;
}

.wrapper>ul>li:first-child {
	width: 150px;
	float: left;
	text-align: left;
}

.wrapper>ul>li:first-child {
	width: 200px;
	float: left;
	text-align: left;
}

.wrapper>ul>li:last-child {
	width: 1050px;
	float: right;
}

/* nav
----------------------------------------------------------------------------- */
nav {}

nav>ul {}

nav>ul>li {}

nav>ul>li>h2 {
	margin-bottom: 10px;
	font-size: 18px;
	line-height: 45px;
	text-align: center;
	background: #000097;
	color: #fff;
	position: relative;
}

nav>ul>li>h2:after {
	content: "";
	position: absolute;
	height: 36px;
	width: 192px;
	top: 3px;
	left: 3px;
	border: 1px solid #fff;
}

nav>ul>li>a {
	display: block;
	font-size: 18px;
	width: 100%;
	line-height: 30px;
	/*padding-left: 20px;*/
	color: #000097 !important;
	transition: 0.3s linear;
}

nav>ul>li>a:hover {
	background: #000097;
	color: #fff !important;
	opacity: 0.7;
}

nav>ul>li:last-child {
	margin-bottom: 15px;
}

nav>ul>li>a.banner {
	display: block;
	font-size: 18px;
	width: 100%;
	line-height: 30px;
	padding-left: 0;
	transition: 0.3s linear;
}

nav>ul.banner>li {
	margin-bottom: 15px;
}

nav>ul.banner>li>a:hover {
	background-color: #f7f7f7;
	color: #000097 !important;
	opacity: 0.7;
}

nav>ul.banner>li>.btn-sticky1 {
	display: inline-block;
	padding: 0.5em 1em;
	text-decoration: none;
	background: #f7f7f7;
	border-left: solid 6px #000097;
	/*左線*/
	color: #000097 !important;
	/*文字色*/
	font-weight: bold;
	box-shadow: 0px 2px 2px rgba(0, 0, 0, 0.29);
	text-align: center;
}

nav>ul.banner>li>.btn-sticky1:hover {
	box-shadow: inset 0 0 2px rgba(128, 128, 128, 0.1);
	transform: translateY(2px);
}

nav>ul.banner>li>.btn-sticky2 {
	display: inline-block;
	padding: 0.5em 0.5em;
	text-decoration: none;
	background: #f7f7f7;
	border-left: solid 6px #000097;
	/*左線*/
	color: #000097 !important;
	/*文字色*/
	font-weight: bold;
	box-shadow: 0px 2px 2px rgba(0, 0, 0, 0.29);
	text-align: center;
}

nav>ul.banner>li>.btn-sticky2:hover {
	box-shadow: inset 0 0 2px rgba(128, 128, 128, 0.1);
	transform: translateY(2px);
}

nav>ul.banner>li>.gairai {
	background-color: #fff;
	color: #000097 !important;
	padding: 0.5em 1em;
	font-size: 12px;
}

nav>ul.banner>li>.gairai>h3 {
	color: #B4528F !important;
	font-size: 18px;
	font-weight: bold;
}

/* add */
.bnr-ii {
	padding: 5px;
	background: white;
}

.bnr-ii img {
	max-width: 100%;
}

/* pankuzu
----------------------------------------------------------------------------- */
.pankuzu {}

/* contact
----------------------------------------------------------------------------- */
#contact {}

/* footer
----------------------------------------------------------------------------- */
footer {
	margin-top: 70px;
	min-width: 1300px;
	width: 100%;
	background: #E5EAFE;
	padding: 2em 0 1em;
}

footer>.wrapper {
	width: 1300px;
	margin: 0 auto 20px;
	display: flex;
	justify-content: center;
}

footer>.wrapper .link_box {
	width: 21%;
	text-align: left;
}

footer>.wrapper .link_box h3 {}

footer>.wrapper .link_box ul {}

footer>.wrapper .link_box ul li {
	margin: 0;
}

footer>.wrapper .link_box ul li:before {
	content: "▶";
	padding: 0 5px 0 0;
}

footer>.wrapper .info {
	width: 21%;
	text-align: left;
}

footer>.wrapper .logo {
	width: 30%;
}

footer>.wrapper .logo img {
	width: 70%;
}

footer .copy {
	font-size: 12px;
}

footer .copy span {
	display: inline-block;
	margin-left: 10px;
	font-size: 11px;
}


.main_wrapper h4:before {
	height: calc(100% - 20px) !important;
}

.mitoshi .mitoshi_th {
	width: 30%
}

/* BreakPoint 959px tablet
=============================================================*/
@media only screen and (max-width: 959px) {
	header {}

	/* BreakPoint 639 sp
=============================================================*/
	@media only screen and (max-width: 639px) {



		.sp_mode {
			display: block !important;
		}

		.pc_mode {
			display: none !important;
		}

		/* header
----------------------------------------------------------------------------- */
		header {
			width: 100%;
			margin: 0 auto 0;
			position: fixed;
			top: 0;
			left: 0;
			z-index: 999;
		}

		header ul.pc_mode {
			width: 100%;
			display: none !important;
			justify-content: space-between;
		}

		header .sp_mode a.header {
			height: 80px;
			background: #fff;
			display: block;
		}

		header .sp_mode a h1 {
			text-align: left;
			display: flex;
			align-items: center;
			height: 80px;
		}

		header .sp_mode a h1 img {
			width: calc(100% - 100px);
			margin: 0 0 0 10px;
		}

		header .sp_nav ul {
			width: 100%;
			display: block;
		}

		header .sp_nav ul li:first-child {
			width: 100%;
		}

		header .sp_nav ul li:last-child {
			width: 100%;
		}

		/* mobile menu
    ----------------------------------------------------------------------------- */
		.global-nav-button:before {
			content: "\f0c9";
			display: block;
			font-weight: bold;
			font-family: "Font Awesome 5 Free";
			font-size: 30px;
			-webkit-font-smoothing: antialiased;
			-moz-osx-font-smoothing: grayscale;
			line-height: 80px;
			margin: auto;
			position: absolute;
			top: 0;
			bottom: 0;
			left: 0;
			right: 0;
			text-align: center;
			width: 80px;
			height: 80px;
			color: #0070E6;
		}

		.global-nav-button.active:before {
			color: #fff;
		}

		.global-nav-button {
			display: block;
			width: 80px;
			height: 80px;
			position: absolute;
			top: 0;
			right: 0;
			z-index: 9;
		}

		a.global-nav-button {
			color: #252525 !important;
		}

		.global-nav-button.active {
			background: #0070E6;
			opacity: 1;
		}

		.global-nav-button {
			background: #fff;
			opacity: 1;
		}

		.sp_nav .sub-menu {
			display: none;
			background: rgba(255, 255, 255, 0.1);
		}

		.sp_nav {
			display: none;
			padding: 0;
			margin: 0 auto;
			width: 100%;
			background: #fff;
			border: 3px solid #0070E6;
		}

		.sp_nav>ul>li>h2 {
			padding: 0.5em;
			font-size: 18px;
			background: #0070E6;
			border-bottom: 1px solid #fff;
			color: #fff;
			font-weight: normal;
		}

		.sp_nav>ul>li>.sub-menu>li>a {
			display: block;
			padding: 0.7em;
			width: 100%;
			background: #ADD5FF;
			border-bottom: 1px solid #fff;
		}

		.sp_nav .banner {
			display: flex;
			flex-wrap: wrap;
			justify-content: space-between;
			width: 95%;
			margin: 0 auto;
		}

		.sp_nav .banner>li {
			width: 49% !important;
		}

		.sp_nav .banner>li a {
			width: 100%;
			padding: 1em;
			margin: 10px auto;
			border: 3px solid #ADD5FF;
			height: calc(100% - 20px);
			display: flex;
			align-items: center;
			justify-content: center;
		}

		.sp_nav .banner>li:last-of-type {
			width: 100% !important;
		}

		.sp_nav .banner>li:last-of-type a {
			display: block;
			width: 100%;
			padding: 1em;
			margin: 10px auto;
			border: 3px solid #B4528F;
			background: #FFEDBF;
		}

		.sp_nav .banner>li:last-of-type a h3 {
			font-size: 18px;
			font-weight: bold;
			color: #B4528F;
		}

		/* wrapper
----------------------------------------------------------------------------- */
		.wrapper {
			width: 100%;
			margin: 90px auto 0;
		}

		.wrapper>ul {
			width: 100%;
		}

		.wrapper>ul>li:last-child {
			width: 100%;
			float: none;
			padding: 0 4%;
		}

		/* panuzu
----------------------------------------------------------------------------- */
		.pankuzu {
			display: none;
		}

		/* footer
----------------------------------------------------------------------------- */
		footer {
			margin-top: 70px;
			min-width: 100%;
			width: 100%;
			background: #E5EAFE;
			padding: 2em 0 1em;
		}

		footer>.wrapper {
			width: 100%;
			margin: 0 auto 20px;
			padding: 0 4%;
			display: flex;
			flex-wrap: wrap;
			justify-content: center;
		}

		footer>.wrapper .link_box {
			width: 100%;
			text-align: left;
		}

		footer>.wrapper .link_box ul li:before {
			content: " ";
			padding: 0;
		}

		footer>.wrapper .link_box ul li {
			margin-bottom: 10px;
		}

		footer>.wrapper .link_box ul li a {
			display: block;
			width: 100%;
			padding: 5px 0;
			background: #fff;
			text-align: center;
			border: 1px solid #000;
		}

		footer>.wrapper .logo {
			width: 100%;
			margin-top: 10vw;
		}

		footer>.wrapper .logo img {
			width: 100%;
		}

		footer>.wrapper .info {
			width: 100%;
			text-align: center;
		}

		.mitoshi .mitoshi_th {
			width: 100%
		}

	}
