/*
Theme Name: 丸正産業ホームページ
Description: 丸正産業ホームページ用ワードプレステーマです。
Version: 2.0
Author: Takaaki Kobayashi
Author URI: https://www.dc-axis.com/
Tags: dark-blue, light-blue, light-gray, white
*/

/*
	- GENERAL
	- BASIC LAYOUT
	- HEADINGS
	- CONTENT COLOR
	- HEADER
	- MENU
	- BREAD CRUMBS
	- CONTENT
	- NEWS
	- WORKS
	- CONTACT
	- FOOTER
	- META
	- BUTTON
	- PAGENAVI
	- GOOGLE MAPS
	- SEARCHFORM
	- WORDPRESS CSS
	- USEFUL

	- ABOUT
	- GALLERY
	- LICENCE
	- ACCESS
	- MAILFORM

/*	##################################
	GENERAL
	################################## */

* {
	margin: 0;
	padding: 0;
}

html {
	margin: 0;
	padding: 0;
	background: #ffffff;
	z-index: 0;
}

body {
	margin: 0;
	padding: 0;
	background: #ffffff;
	color: #000000;
	font: 100% "UD新ゴ R", UD Shin Go Regular, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-ser;
}

a {
	color: #040668;
	outline: none;
	text-decoration: underline #999999;
}

a:hover {
	color: #040668;
	text-decoration: none;
}

.no-over a:hover img {
	opacity: 0.7;
}

p {
	margin: 0;
	padding: 0;
}

img {
	margin: 0;
	padding: 0;
	vertical-align: top;
	border: none;
}

strong,
b {
	font-family: "UD新ゴ M", UD Shin Go Medium, "ヒラギノ角ゴ Pro W6", "HiraKakuPro-W6", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-ser;
	font-weight: bold;
}

ul,
ol {
	margin: 40px 20px;
	line-height: 200%;
}

ul li,
ol li {
	margin-bottom: 20px;
	line-height: 160%;
}

/** PC、SP表示切替 */
@media screen and (max-width: 767px) {
	.sp-none {
		display: none !important;
	}
	.pc-none {
		display: block !important;
	}
}

@media screen and (min-width: 768px) {
	.sp-none {
		display: block !important;
	}
	.pc-none {
		display: none !important;
	}
}

/*	##################################
	LOADING ANNIMATION
	################################## */

.loading {
	position: fixed;
	top: 0;
	left: 0;
	width: 100vw;
	height: 100vh;
	z-index: 100;
	background-color: #fff;
	display: flex;
	align-items: center;
	justify-content: center;
	animation: fadeOut 1.5s 2.5s forwards;
}

.loading.is-hidden {
	opacity: 0;
	visibility: hidden;
	transition: opacity 0.5s, visibility 0.5s;
}

@keyframes fadeOut {
	0% {
		opacity: 1;
	}

	100% {
		opacity: 0;
		visibility: hidden;
	}
}

.loading__logo {
	opacity: 0;
	animation: logo_fade 2s 0.5s forwards;
	width: 175px;
}

@keyframes logo_fade {
	0% {
		opacity: 0;
		transform: translateY(20px);
	}

	60% {
		opacity: 1;
		transform: translateY(0);
	}

	100% {
		opacity: 0;
	}
}

/*	##################################
	BASIC LAYOUT
	################################## */

header {
	width: 100%;
	margin: 0;
	padding: 0;
}

main {
	width: 100%;
	margin: 0;
	padding: 0;
}

section {
	width: 100%;
	min-width: 1200px;
	margin: 0;
	padding: 0;
}
@media screen and (max-width: 767px) {
	section {
		min-width: initial;
		min-width: auto;
		width: 100%;
	}
}

footer {
	width: 100%;
	min-width: 1200px;
	margin: 0;
	padding: 0;
	border-top: 2px solid #040668;
}
@media screen and (max-width: 767px) {
	footer {
		min-width: initial;
		min-width: auto;
		width: 100%;
	}
}

/*	##################################
	HEADINGS
	################################## */

h1, h2, h3, h4, h5 {
	font-family: "UD新ゴ M", UD Shin Go Medium, "ヒラギノ角ゴ Pro W6", "HiraKakuPro-W6", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-ser;
	font-weight: bold;
}

h1 a, h2 a, h3 a, h4 a, h5 a {
	text-decoration: none;
}

h1#content-title {
	width: 250px;
	height: auto;
	margin: 0;
	padding: 0;
	text-align: left;
	line-height: 1;
}
@media screen and (max-width: 767px) {
	h1#content-title {
		width: 50%;
		height: 100%;
	}
}

h1#content-title a {
	text-decoration: none;
}

h1#page-title {
	position: relative;
	margin: 0;
	padding: 0 0 20px 0;
	font-family: "Oswald", sans-serif;
	font-optical-sizing: auto;
	font-weight: 400;
	font-style: normal;
	font-size: 600%;
	color: #040668;
}

h1#page-title:before {
	content: attr(data-title);
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	font-size: 25%;
	color: #000000;
}
@media screen and (max-width: 767px) {
	h1#page-title {
		font-size: 450%;
	}
}

h2#section-title {
	position: relative;
	margin: 0;
	margin-bottom: 40px;
	padding-bottom: 20px;
	font-family: "Oswald", sans-serif;
	font-optical-sizing: auto;
	font-weight: 400;
	font-style: normal;
	font-size: 500%;
	color: #040668;
}

h2#section-title:before {
	content: attr(data-title);
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	font-size: 25%;
	color: #000000;
}
@media screen and (max-width: 767px) {
	h2#section-title {
		margin-bottom: 20px;
		font-size: 350%;
	}
}

h2 {
	margin: 0 0 40px 0;
	padding: 0 0 20px 0;
	font-size: 200%;
}
@media screen and (max-width: 767px) {
	h2 {
		margin: 0 0 20px 0;
	}
}

h3 {
	margin: 20px 0;
	padding: 0;
	font-size: 160%;
	line-height: 140%;
}

h3 a {
	color: #000000;
	text-decoration: none;
}

h3 a:hover {
	color: #040668;
	text-decoration: none;
}

h4 {
	position: relative;
	margin: 20px;
	padding: 0 0 0 25px;
	font-size: 140%;
	color: #000000;
}

h4::after {
	position: absolute;
	top: 50%;
	bottom: 50%;
	left: 0;
	transform: translateY(-50%);
	content: '';
	width: 10px;
	height: 10px;
	border: 4px solid #08518f;
	border-radius: 100%;
}

h4.sidebar-title {
	margin: 0 0 20px 0;
	padding: 0 0 10px 0;
	border-bottom: 1px solid #dddddd;
}

h4.sidebar-title::after {
	position: static;
	border: none;
}

h5 {
	margin: 20px;
	padding: 0;
	font-size: 110%;
}

/*	##################################
	CONTENT COLOR
	################################## */

.col-01 {
	background: #ffffff;
}

.col-02 {
	background: #e1ecf4;
}

.col-03 {
	background: #f5f5f5;
}

/*	##################################
	HEADER
	################################## */

.header-nav {
	display: flex;
	min-width: 1100px;
	margin: 0 auto 40px auto;
	padding: 0 50px;
	justify-content: space-between;
	align-items: center;
	z-index: 30;
}
@media screen and (max-width: 767px) {
	.header-nav {
		position: fixed;
		top: 15px;
		left: 5%;
		min-width: initial;
		min-width: auto;
		width: 90%;
		height: 60px;
		margin: 0 auto 20px auto;
		padding: 0;
	}
}

.header-nav-sub {
	display: flex;
	min-width: 1100px;
	margin: 0 auto;
	padding: 0 50px;
	justify-content: space-between;
	align-items: center;
	z-index: 30;
}
@media screen and (max-width: 767px) {
	.header-nav-sub {
		position: fixed;
		top: 15px;
		left: 5%;
		min-width: initial;
		min-width: auto;
		width: 90%;
		height: 60px;
		padding: 0;
	}
}


.contact-button {
	display: none;
}
@media screen and (max-width: 767px) {
	.contact-button {
		position: fixed;
		top: 0;
		right: 60px; /* ここは適宜調整してください */
		width: 60px; /* .hamburgerと同じ幅 */
		height: 60px; /* .hamburgerと同じ高さ */
		z-index: 50;
		background-color: #040668;
		display: flex; /* Flexboxを有効にする */
		justify-content: center; /* 水平方向の中央揃え */
		align-items: center; /* 垂直方向の中央揃え */
		text-decoration: none;
	}

	.contact-button:hover {
		background-color: #02044b;
	}
}

/*	##################################
	MENU
	################################## */

/** ヘッダー用（PC） */
nav.hgmenu ul {
	display: flex;
	list-style: none;
	align-items: center;
	margin-right: 0;
}

nav.hgmenu ul li {
	margin: 0;
	margin-left: 20px;
}

nav.hgmenu ul li a {
	text-decoration: none;
	color: #000000;
}

nav.hgmenu ul li a:hover {
	text-decoration: none;
	color: #333333;
}

nav.hgmenu ul li a.contact {
	padding: 10px 15px;
	background: #040668;
	color: #ffffff;
	border-radius: 20px;
}

nav.hgmenu ul li a.contact:hover {
	background: #02044b;
}

nav.hgmenu ul li svg {
	width: 40px;
	margin: 0;
	padding: 0;
	vertical-align: bottom;
	fill: #040668;
}

nav.hgmenu ul li svg:hover {
	fill: #02044b;
}

/** ヘッダー用（SP） */
@media screen and (max-width: 767px) {
	/* メニューのスタイル */
	.menu {
		position: fixed;
		top: 0;
		right: -100%; /* 初期状態では画面の外に隠れている */
		width: 300px;
		height: 100%;
		background-color: #040668;
		color: #ffffff;
		transition: right 0.3s ease; /* スライドインのアニメーション */
		padding: 20px !important;
		box-sizing: border-box;
		z-index: 60;
	}

	/* メニューが開いているとき */
	.menu.open {
		right: 0;
	}
	
	/* ボタンのスタイル */
	.hamburger {
		position: fixed;
		top: 15px;
		right: 15px;
		width: 30px;
		cursor: pointer;
		z-index: 50;
	}

	.hamburger span {
		display: block;
		height: 3px;
		width: 100%;
		background-color: #000000;
		margin: 5px 0;
		transition: 0.4s;
	}

	/* バツ印に変化するスタイル */
	.hamburger.active span:nth-child(1) {
		transform: rotate(45deg) translate(5px, 5px);
		background-color: #ffffff;
	}

	.hamburger.active span:nth-child(2) {
		opacity: 0;
	}

	.hamburger.active span:nth-child(3) {
		transform: rotate(-45deg) translate(6px, -6px);
		background-color: #ffffff;
	}

	/* メニューリストのスタイル */
	.menu ul {
		display: block !important;
		list-style-type: none;
		margin: 0 !important;
		margin-top: 80px !important;
		padding: 0;
	}

	.menu ul li {
		margin: 0 !important;
		padding: 20px 0;
		border-bottom: 1px solid #0f139a;
		color: #ffffff !important;
	}

	.menu ul li a {
		padding: 0 !important;
		background: none !important;
		color: #ffffff !important;
		text-decoration: none;
		display: block;
	}
	nav.hgmenu ul li svg {
		fill: #ffffff;
	}
}


/** フッター用 */
nav.fgmenu ul {
	display: flex;
	list-style: none;
	align-items: center;
	margin-right: 0;
}

nav.fgmenu ul li {
	margin: 0;
	margin-left: 20px;
}

nav.fgmenu ul li a {
	text-decoration: none;
	color: #000000;
}

nav.fgmenu ul li a:hover {
	text-decoration: none;
	color: #333333;
}

nav.fgmenu ul li a.contact {
	padding: 10px 15px;
	background: #040668;
	color: #ffffff;
	border-radius: 20px;
}

nav.fgmenu ul li a.contact:hover {
	background: #02044b;
}

nav.fgmenu ul li svg {
	width: 40px;
	margin: 0;
	padding: 0;
	vertical-align: bottom;
	fill: #040668;
}

nav.fgmenu ul li svg:hover {
	fill: #02044b;
}

/*	##################################
	BREAD CRUMBS
	################################## */

#breadcrumbs {
	min-width: 1100px;
	margin: 0 auto;
	padding: 0 50px;
	font-size: 75%;
}
@media screen and (max-width: 767px) {
	#breadcrumbs {
		min-width: initial;
		min-width: auto;
		width: 90%;
		margin-top: 80px;
		padding: 0;
	}
}

#breadcrumbs a {
	text-decoration: none;
}

#breadcrumbs a:hover {
	text-decoration: underline;
	text-decoration-color: #040668;
}

#breadcrumbs a span {
	color: #040668;
}

/*	##################################
	CONTENT
	################################## */

/** トップページメインキャッチコピー（英語） */
.en-cc {
	display: flex;
	height: 200px;
	min-width: 1100px;
	margin: 0 auto;
	padding: 0 50px;
	background-image: url(img/logo-mark.svg);
	background-position: 50px 0;
	background-size: contain;
	background-repeat: no-repeat;
	justify-content: flex-end;
	align-items: flex-end;
}
@media screen and (max-width: 767px) {
	.en-cc {
		height: 80px;
		min-width: initial;
		min-width: auto;
		width: 90%;
		margin-top: 80px;
		padding: 0;
		background-position: 0;
	}
}

.en-cc p {
	font-family: "Oswald", sans-serif;
	font-optical-sizing: auto;
	font-weight: 400;
	font-style: normal;
	font-size: 250%;
}
@media screen and (max-width: 767px) {
	.en-cc p {
		font-size: 100%;
	}
}
@media screen and (min-width: 1400px) {
	.en-cc p {
		font-size: 320%;
	}
}


.main-content-wrapper {
	min-width: 1150px;
	margin: 0 auto;
	padding: 0 0 80px 50px;
}
@media screen and (max-width: 767px) {
	.main-content-wrapper {
		min-width: initial;
		min-width: auto;
		width: 95%;
		margin: 0 0 0 5%;
		padding: 0 0 40px 0;
	}
}

.main-content {
	display: flex;
	width: auto;
}


/** トップページメインキャッチコピー（日本語） */
.jp-cc {
	flex: 0 0 270px;
}
@media screen and (max-width: 767px) {
	.jp-cc {
		flex: 0 0 27%;
	}
}

.jp-cc p {
	margin: 40px 0 0 0;
	font-family: "Zen Old Mincho", serif;
	font-weight: 400;
	font-style: normal;
	font-size: 550%;
	line-height: 120%;
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
	white-space: nowrap;
}
@media screen and (max-width: 767px) {
	.jp-cc p {
		line-height: 110%;
		font-size: 220%;
	}
}


/** トップページアイキャッチ画像 */
.eye-catch {
	flex: 1;
	z-index: 1;
}

#img-box {
	position: relative;
	margin-bottom: 40px;
}
@media screen and (max-width: 767px) {
	#img-box  {
		margin-bottom: 20px;
	}
}

#header-top-img {
	min-height: 50vh;
	width: 100%;
}


/** トップページサブキャッチコピー（日本語） */
#img-box .sc {
	position: absolute;
	margin: 0;
	bottom: 20px;
	left: 20px;
	color: #ffffff;
	font-size: 400%;
	font-family: "ta-rehitsu-m", sans-serif;
	font-weight: 400;
	font-style: normal;
}
@media screen and (max-width: 767px) {
	#img-box .sc {
		bottom: 10px;
		left: 10px;
		font-size: 125%;
	}
}
@media screen and (min-width: 1400px) {
	#img-box .sc {
		font-size: 450%;
	}
}


/** トップページ会社簡易説明 */
.overview {
	margin: 0 50px 0 0;
	line-height: 250%;
}
@media screen and (max-width: 767px) {
	.overview {
		margin: 0 5% 0 0;
		line-height: 200%;
	}
}

.overview p {
	margin: 0 0 20px 0;
}

/*	##################################
	NEWS
	################################## */

.news-box-wrapper {
	min-width: 1100px;
	margin: 0 auto;
	padding: 80px 50px;
}
@media screen and (max-width: 767px) {
	.news-box-wrapper {
		min-width: initial;
		min-width: auto;
		width: 90%;
		padding: 40px 0;
	}
}

.news-box {
	display: flex;
	width: auto;
	margin: 0;
	padding: 0;
}
@media screen and (max-width: 767px) {
	.news-box {
		display: block;
	}
}

.news-title {
	flex: 0 0 270px;
}
@media screen and (max-width: 767px) {
	.news-title {
		flex: inline;
	}
}

.news-content-wrapper {
	flex: 1;
}
@media screen and (max-width: 767px) {
	.news-content-wrapper {
		flex: inline;
	}
}

.news,
.news-top
 {
	width: 100%;
	margin: 0;
	padding: 0;
}

.news dl,
.news-top dl {
	margin: 0;
	padding: 20px 0 0 0;
	border-top: solid 1px #000000;
}

.news dt,
.news-top dt {
	margin: 0;
	padding: 0;
}

.news dt .new,
.news-top dt .new {
	margin: 0 0 0 10px;
	padding: 4px 20px;
	background: #c9171e;
	font-size: 75%;
	color: #ffffff;
	border-radius: 10px;
}

.news dt .cat,
.news-top dt .cat {
	margin: 0 0 0 20px;
	padding: 4px 20px;
	border: 1px solid #040668;
	font-size: 75%;
	color: #040668;
	border-radius: 10px;
}

.news dt .cat a,
.news-top dt .cat a,
.news dt .cat a:hover,
.news-top dt .cat a:hover {
	text-decoration: none;
}

.news dd,
.news-top dd {
	position: relative;
	margin: 10px 0 20px 0;
	padding: 10px 20px 20px 0;
	line-height: 200%;
	border-bottom: solid 1px #000000;
}

.news dd a,
.news-top dd a {
	color: #000000;
	text-decoration: none;
}

.news dd a:hover,
.news-top dd a:hover {
	color: #040668;
	text-decoration: none;
}

.news dd:after,
.news-top dd:after {
	content: "";
	margin: auto;
	position: absolute;
	top: 0;
	bottom: 10px;
	right: 0;
	width: 8px;
	height: 8px;
	border-top: 2px solid #040668;
	border-right: 2px solid #040668;
	transform: rotate(45deg);
}

/*	##################################
	WORKS
	################################## */

.works-top {
	min-width: 1100px;
	margin: 0 auto;
	padding: 80px 50px;
}
@media screen and (max-width: 767px) {
	.works-top {
		min-width: initial;
		min-width: auto;
		width: 90%;
		padding: 40px 0;
	}
}

.works {
	margin: 0;
	padding: 0;
}

.works h3,
.works-top h3 {
	display: flex;
	justify-content: center;
	align-items: center;
	text-align: center;
	margin: 0 0 40px 0;
	font-size: 180%;
}
@media screen and (max-width: 767px) {
	.works h3,
	.works-top h3 {
		margin: 0 0 20px 0;
		font-size: 150%;
	}
}

.works h3::before,
.works h3::after,
.works-top h3::before,
.works-top h3::after {
	content: '';
	width: 60px;
	height: 1px;
	background-color: #040668;
}

.works h3::before,
.works-top h3::before {
	margin-right: 20px;
}

.works h3::after,
.works-top h3::after {
	margin-left: 20px;
}

.works ul {
	width: 100%;
	margin: 0 0 -2% 0;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}

.works-top ul {
	width: 100%;
	margin: 0 0 -2% 0;
	padding: 0 0 20px 0;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
@media screen and (max-width: 767px) {
	.works ul {
		margin: 0 0 -4% 0;
	}
}

.works ul:after,
.works-top ul:after {
	content: "";
	display: block;
	width: 32%;
	height: 0;
}
@media screen and (max-width: 767px) {
	.works ul:after,
	.works-top ul:after {
		width: 48%;
	}
}

.works ul li,
.works-top ul li {
	width: 32%;
	margin: 0 0 2% 0;
	padding: 0;
	list-style: none;
	box-sizing: border-box;
	display: flex;
	flex-direction: column;
}
@media screen and (max-width: 767px) {
	.works ul li,
	.works-top ul li {
		margin: 0 0 4% 0;
		width: 48%;
	}
}

.works ul li.noworks,
.works-top ul li.noworks {
	margin: 0;
	padding: 0;
}

.works ul li .thumb,
.works-top ul li .thumb {
	width: 100%;
	margin: 0;
	padding: 0;
}

.works ul li .thumb img,
.works-top ul li .thumb img {
	width: 100%;
	height: auto;
	margin: 0;
	padding: 0;
}

.works ul li .txt,
.works-top ul li .txt {
	margin: 0;
	padding: 20px;
	background: #f5f5f5;
	display: flex;
	flex-direction: column;
	flex-grow: 1;
}

.works ul li .txt h4,
.works-top ul li .txt h4 {
	margin: 0 0 20px 0;
	padding: 0;
	font-size: 130%;
	border: none;
	line-height: 140%;
}
@media screen and (max-width: 767px) {
	.works ul li .txt h4,
	.works-top ul li .txt h4 {
		font-size: 120%;
	}
}

.works ul li .txt h4::after,
.works-top ul li .txt h4::after {
	position: static;
	border: none;
}

.works ul li .txt p,
.works-top ul li .txt p {
	margin-bottom: 10px;
	font-size: 90%;
	line-height: 160%;
}

.works ul li .txt p span,
.works-top ul li .txt p span {
	margin-right: 10px;
	font-family: "UD新ゴ M", UD Shin Go Medium, "ヒラギノ角ゴ Pro W6", "HiraKakuPro-W6", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-ser;
	font-weight: bold;
}

/*	##################################
	CONTACT
	################################## */

.contact-box-wrapper {
	min-width: 1100px;
	margin: 0 auto;
	padding: 80px 50px;
}
@media screen and (max-width: 767px) {
	.contact-box-wrapper {
		min-width: initial;
		min-width: auto;
		width: 100%;
		padding: 40px 0;
	}
}

.contact-box-wrapper a {
	text-decoration: none;
}

.contact-box {
	margin: 0 50px;
	background: #040668;
	border-radius: 25px;
}
@media screen and (max-width: 767px) {
	.contact-box {
		margin: 0 5%;
	}
}

.contact-box-inner {
	display: flex;
	width: auto;
	padding: 50px;
	background-image: url(img/logo-mark-white.svg);
	background-color: rgba(4, 6, 104, 0.85);
	background-position: -80px  50%;
	background-repeat: no-repeat;
	background-size: 420px auto;
	background-blend-mode: darken;
	border-radius: 25px;
}
@media screen and (max-width: 767px) {
	.contact-box-inner {
		display: block;
		padding: 10% 7.5%;
		background-position: -100px  50%;
	}
}

.contact-title {
	flex: 0 0 270px;
	color: #ffffff;
}
@media screen and (max-width: 767px) {
	.contact-title {
		flex: initial;
		margin-bottom: 20px;
	}
}

.contact-title h2#section-title {
	margin-bottom: 20px;
	color: #ffffff;
}

.contact-title h2#section-title:before {
	content: attr(data-title);
	color: #ffffff;
}

.contact-content {
	flex: 1;
}
@media screen and (max-width: 767px) {
	.contact-content {
		flex: initial;
	}
}

.mail-button {
	display: flex;
	justify-content: start;
	align-items: center;
	width: 350px;
	margin: 0 0 20px auto;
	padding: 20px;
	border: none;
	border-radius: 10px;
	background-color: #ffff00;
	color: #040668;
	font-weight: 600;
	font-size: 140%;
	transition: transform 0.3s ease;
}
@media screen and (max-width: 767px) {
	.mail-button {
		flex: initial;
		width: auto;
		margin: 0 0 10px 0;
		padding: 10px;
		font-size: 120%;
		transition: initial;
	}
}

.mail-button:hover {
	transform: translateY(-5px);
}

.mail-button span {
	font-family: "UD新ゴ M", UD Shin Go Medium, "ヒラギノ角ゴ Pro W6", "HiraKakuPro-W6", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-ser;
	font-weight: bold;
}

.circle-icon {
	display: inline-flex;
	justify-content: center;
	align-items: center;
	border-radius: 50%;
	flex-flow: column;
	vertical-align: top;
	color: #ffffff !important;
}

.contact-icon {
	width: 50px;
	height: 50px;
	margin-right: 20px;
	background-color: #040668;
}
@media screen and (max-width: 767px) {
	.contact-icon {
		width: 40px;
		height: 40px;
		margin-right: 10px;
	}
}

.tel-info {
	display: flex;
	justify-content: start;
	align-items: center;
	width: 350px;
	margin: 0 0 0 auto;
	padding: 20px;
	border: none;
	border-radius: 10px;
	background-color: #ffffff;
	color: #040668;
	font-weight: 600;
	font-size: 150%;
}
@media screen and (max-width: 767px) {
	.tel-info {
		flex: initial;
		width: auto;
		margin: 0;
		padding: 10px;
		font-size: 120%;
	}
}

.tel-info p {
	margin-top: 10px;
	font-family: "Oswald", sans-serif;
	font-optical-sizing: auto;
	font-weight: 400;
	font-style: normal;
	font-size: 150%;
	line-height: 60%;
	letter-spacing: 4px;
}

.tel-info p span {
	font-family: "UD新ゴ R", UD Shin Go Regular, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-ser;
	font-size: 40%;
	letter-spacing: 1px;
}

/*	##################################
	FOOTER
	################################## */

.footer-wrapper {
}
@media screen and (max-width: 767px) {
	.footer-wrapper {
		margin: 0 5%;
	}
}

.footer-nav {
	display: flex;
	height: 100px;
	min-width: 1100px;
	margin: 0 auto;
	padding: 0 50px;
	justify-content: space-between;
	align-items: center;
}
@media screen and (max-width: 767px) {
	.footer-nav {
		height: 80px;
		min-width: initial;
		min-width: auto;
		width: 100%;
		padding: 0;
	}
}

p.footer-logo {
	width: 250px;
	height: auto;
	margin: 0;
	padding: 0;
	text-align: left;
	line-height: 1;
}
@media screen and (max-width: 767px) {
	p.footer-logo {
		width: 50%;
	}
}

.footer-content {
	min-width: 1100px;
	margin: 0 auto 40px auto;
	padding: 0 50px;
}
@media screen and (max-width: 767px) {
	.footer-content {
		min-width: initial;
		min-width: auto;
		width: 100%;
		padding: 0;
	}
}

.footer-content .address {
	margin: 0 0 20px 0;
	padding: 0;
}
@media screen and (max-width: 767px) {
	.footer-content .address {
			font-size: 90%;
	}
}

.footer-content .fmenu {
	margin: 0 0 10px 0;
	padding: 0;
}

.footer-content .fmenu ul {
	display: flex;
	margin: 0;
	list-style: none;
	align-items: center;
}

.footer-content .fmenu ul li {
	margin: 0;
	padding: 0 10px;
	font-size: 85%;
}

.footer-content .fmenu ul li:first-child {
	padding-left: 0;
}

.footer-content .fmenu ul li+ li {
	border-left: 1px solid #333333;
}

.footer-content .fmenu ul li a {
	text-decoration: none;
	color: #000000;
}

.footer-content .fmenu ul li a:hover {
	text-decoration: underline #999999;
}

.footer-content .legal {
	min-width: 1100px;
	margin: 0 auto;
	padding: 0;
	font-family: "Oswald", sans-serif;
	font-optical-sizing: auto;
	font-weight: 300;
	font-style: normal;
	font-size: 85%;
	display: flex;
	justify-content: space-between;
}
@media screen and (max-width: 767px) {
	.footer-content .legal {
		min-width: initial;
		min-width: auto;
		width: 100%;
		font-size: 75%;
	}
}

.footer-content .legal .footer-cp {
	width: 48%;
	margin: 0;
	padding: 0;
}
@media screen and (max-width: 767px) {
	.footer-content .legal .footer-cp {
		width: 68%;
	}
}

.footer-content .legal .footer-credit {
	width: 48%;
	margin: 0;
	padding: 0;
	text-align: right;
	color: #dddddd;
}
@media screen and (max-width: 767px) {
	.footer-content .legal .footer-credit {
		width: 28%;
	}
}

.footer-content .legal .footer-credit a {
	text-decoration: none;
	color: #dddddd;
}

/*	##################################
	META
	################################## */

.meta {
	margin-bottom: 10px;
}

.meta-date,
.meta-categories,
.meta-comments,
.meta-member {
	margin-right: 20px;
	padding: 0;
}

.meta-date a,
.meta-categories a,
.meta-comments a,
.meta-member a {
	color: #000000;
	text-decoration: none;
}

.meta-date a:hover,
.meta-categories a:hover,
.meta-comments a:hover,
.meta-member a:hover {
	color: #040668;
	text-decoration: none;
}

.meta-date::before {
	margin: 0 5px 0 0;
	content: '\f017';
	font-family: 'Font Awesome 5 Free';
}

.meta-categories::before {
	margin: 0 5px 0 0;
	content: '\f15c';
	font-family: 'Font Awesome 5 Free';
}

.meta-comments::before {
	margin: 0 5px 0 0;
	content: '\f075';
	font-family: 'Font Awesome 5 Free';
}

.meta-member::before {
	margin: 0 5px 0 0;
	content: '\f007';
	font-family: 'Font Awesome 5 Free';
}

/*	##################################
	TABLE
	################################## */

table {
	width: 100%;
	margin: 0;
	padding: 0;
	border-collapse: collapse;
	border-top: solid 1px #eeeeee;
	table-layout: fixed;
}

table th {
	font-family: "UD新ゴ M", UD Shin Go Medium, "ヒラギノ角ゴ Pro W6", "HiraKakuPro-W6", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-ser;
	font-weight: bold;
	color: #000000;
}

table td {
	color: #000000;
}

table th,
table td {
	margin: 0;
	padding: 20px;
	text-align: center;
	border-bottom: solid 1px #eeeeee;
}

/*	##################################
	BUTTON
	################################## */

p.tohome a {
	display: flex;
	justify-content: center;
	align-items: center;
	position: relative;
	width: 150px;
	margin: 0 0 0 auto;
	padding: .9em 3em .9em 2em;
	border: 1px solid #040668;
	border-radius: 25px;
	color: #040668;
	text-decoration: none;
}

p.tohome a::after {
	position: absolute;
	right: 2em;
	transform: translateY(-50%);
	transform-origin: left;
	width: 1em;
	height: .5em;
	background-color: #040668;
	clip-path: polygon(0 100%, 100% 100%, 70% 40%, 70% 90%, 0% 90%);
	content: '';
	transition: transform .3s;
}

p.tohome a:hover::after {
	transform: translateY(-50%) scaleX(1.3);
}


p.more a {
	display: flex;
	justify-content: center;
	align-items: center;
	position: relative;
	width: 150px;
	margin: 0 0 0 auto;
	padding: .9em 3em .9em 2em;
	border: 1px solid #040668;
	border-radius: 25px;
	color: #040668;
	text-decoration: none;
}

p.more a::after {
	position: absolute;
	right: 2em;
	transform: translateY(-50%);
	transform-origin: left;
	width: 1em;
	height: .5em;
	background-color: #040668;
	clip-path: polygon(0 100%, 100% 100%, 70% 40%, 70% 90%, 0% 90%);
	content: '';
	transition: transform .3s;
}

p.more a:hover::after {
	transform: translateY(-50%) scaleX(1.3);
}


.edit a {
	background: #000000;
	border-radius: 6px;
	position: relative;
	display: flex;
	justify-content: space-around;
	align-items: center;
	margin: 0 0 0 auto;
	margin-top: 20px;
	margin-bottom: 40px;
	max-width: 150px;
	padding: 10px 25px;
	color: #ffffff;
	line-height: 1.8;
	text-decoration: none;
	transition: 0.3s ease-in-out;
}
@media screen and (max-width: 767px) {
	.edit a {
		max-width: 15%;
	}
}

.edit a:hover {
	background: #333333;
	color: #ffffff;
}

.edit a:after {
	content: '';
	width: 5px;
	height: 5px;
	border-top: 3px solid #ffffff;
	border-right: 3px solid #ffffff;
	transform: rotate(45deg) translateY(-50%);
	position: absolute;
	top: 50%;
	right: 20px;
	border-radius: 1px;
	transition: 0.3s ease-in-out;
}
.edit a:hover:after {
	border-color: #ffffff;
}

/*	##################################
	PAGENAVI
	################################## */

.navigation {
	margin: 40px 0;
	padding: 0;
	text-align: center;
}

.pagination {
	display: flex;
	justify-content: center;
	align-items: center;
}

a.page-numbers {
	padding: 10px 12px;
	text-decoration: none;
	width: auto;
	color: #ffffff; /* 通常の文字色 */
	background: #666666; /* 通常の背景色 */
	border-radius: 6px;
}

a.page-numbers:hover {
	color: #333333; /* マウスホバー時の文字色 */
	background: #dddddd; /* マウスホバー時の背景色 */
}

.page-numbers.current{
	padding: 10px 12px;
	color: #ffffff; /* 現在のページの文字色 */
	background: #040668; /* 現在のページの背景色 */
	border-radius: 6px;
}

a.page-numbers.prev,
a.page-numbers.next{
	font-family: 'Oswald', sans-serif;
	background: transparent;
	box-shadow: none;
	border: none;
	color: #000000;
}

/*	##################################
	GOOGLE MAPS
	################################## */

.gmap {
	margin-bottom: 20px;
}

/*	##################################
	SEARCH FORM
	################################## */

/*	##################################
	WORDPRESS CSS
	################################## */

.aligncenter,
div.aligncenter {
	display: block;
	margin: 0 auto;
	padding: 0;
}

.aligncenter {
	margin-bottom: 20px!important;
	padding: 0;
}

.alignleft {
	float: left;
	margin: 0 20px 20px 0;
	padding: 0;
}

.alignright {
	float: right;
	margin: 0 0 20px 20px;
	padding: 0;
}

.wp-caption {
	margin-bottom: 20px;
	padding-top: 4px;
	border: 1px solid #dddddd;
	text-align: center;
	background: #eeeeee;
}

.wp-caption img {
	float: none;
	margin: 0;
	padding: 0;
	border: none;
}

.wp-caption p.wp-caption-text {
	padding: 0;
	margin: 0;
}


/** WIDGETS CSS */
#calendar_wrap table {
	width: 100%;
	margin: 0;
	padding: 0;
}

#calendar_wrap td {
	text-align: center;
	margin: 0;
	padding: 0;
}

#wp-calendar caption {
	margin: 0 0 10px 0;
	padding: 0;
	background: #dddddd;
}

/*	##################################
	USEFUL
	################################## */

.clear {
	clear: both;
}

.clearfix:after {
	content: " ";
	display: block;
	clear: both;
	visibility: hidden;
	line-height: 0;
	height: 0;
}

.clearfix {
	display: inline-block;
}

html[xmlns] .clearfix {
	display: block;
}

* html .clearfix {
	height: 1%;
}


/** CSS BASIC ELEMENTS */
hr {
	clear: both;
	height: 1px;
	margin: 20px 0;
	padding: 0;
	background: #dddddd;
	border: none;
}

blockquote {
	margin: 0 0 0 10px;
	padding: 0 0 0 10px;
	border-left: 5px solid #eeeeee;
}

fieldset {
	margin: 0 0 20px 0;
	padding: 0 20px 20px 20px;
	background: #eeeeee;
	border: none;
}

legend {
	margin: 0;
	padding: 0;
	font-size: 14px;
	font-weight: bold;
}

input,
textarea {
	margin: 0;
	padding: 10px;
	background: #f5f5f5;
	border: 1px solid #cccccc;
	color: #666666;
}

textarea {
	margin: 0;
	padding: 10px;
	width: 100%;
	height: 100px;
}

select {
	width: auto;
	margin: 0 0 20px 0;
	padding: 8px;
	background: #ffffff;
	border: 1px solid #dddddd;
	color: #666666;
}

input.radio,
input.checkbox {
	width: auto;
	height: auto;
	margin: 0;
	padding: 0;
	background: #ffffff;
}

input.password {
	width: auto;
	margin: 0;
	padding: 0;
}

input.button {
	margin: 0;
	padding: 10px 20px;
	background: #040668;
	border: 1px solid #040668;
	color: #ffffff;
	cursor: pointer;
}
