/*
 Theme Name: CaliMela様オリジナルデザインテーマ
 Theme URI: https://www.calimela.com/
 Description: Wordpressテーマ
 Version: 1.0
 Author: 株式会社CaliMela
 Author URI: https://www.calimela.com/
*/

/*------------------------------------------------------------------------------
　Basic
-------------------------------------------------------------------------------*/

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, main, aside, menu, nav, output, ruby,
section, summary, time, mark, audio, video {
	margin: 0;
	padding: 0;
	font-size: 100%;
	vertical-align: top;
	border: 0;
}

*,
*:before,
*:after {
	box-sizing: border-box;
}

html,
body {
	height: 100%;
	margin: 0!important;
	padding: 0!important;
}

html {
	padding: 0;
	overflow-y: scroll;
	font-size: 100%;
	-webkit-text-size-adjust: 100%;
	-ms-text-size-adjust: 100%;
}

html {
	scroll-padding-top: 125px;
}

@media screen and (max-width:1000px) {
html {
	scroll-padding-top: 110px;
}
}

@media screen and (max-width:568px) {
html {
	scroll-padding-top: 100px;
}
}

body {
	color: #000;
	font: 16px/1.8 'Noto Sans JP', sans-serif;
	background: #E7E6E6;
}

@media screen and (max-width:768px) {
body {
	font-size: 14px;
}
}

/* Link
----------------------------------------------- */
a:link {
	color: #000;
	text-decoration: none;
	overflow: hidden;
	outline: none;
	transition: all .3s;
	-webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}

a:visited, a:active, a:focus {
	color: #000;
}

a:hover {
	color: #00608D;
	text-decoration: underline;
}

a:hover img {
	opacity: 0.7;
}

@media screen and (min-width:768px) {
a[href^="tel:"] {
	pointer-events: none;
}
}

/* Title
----------------------------------------------- */
h2 {
	clear: both;
	margin: 0;
	padding: 0;
	font-weight: normal;
	line-height: 1.4;
}

.movie-container .movie-innerbox .movie-intro h2 {
	margin-bottom: 40px;
	color: #FFF;
	font-size: 72px;
	font-weight: 500;
	line-height: 1.2;
	font-family: 'Noto Serif JP', serif;
	text-shadow: 5px 5px 10px rgba(0, 0, 0, 1);
}

.titleBlock {
	clear: both;
	width: 100%;
	margin: 0 0 40px;
	padding: 0;
	overflow: hidden;
	text-align: center;
}

.home #aboutTop .titleBlock {
	width: 25%;
	margin-bottom: 0;
	text-align: left;
}

.home #newsTop .titleBlock {
	width: 25%;
	margin-bottom: 0;
	font-weight: normal;
}

#business #service .titleBlock,
#business #works .titleBlock {
	position: relative;
}

.titleBlock h2 {
	color: #000;
	font-size: 36px;
	font-weight: bold;
}

.home #aboutTop .titleBlock h2 {
	font-weight: normal;
}

.home #newsTop .titleBlock h2 {
	line-height: 1.2;
}

.titleBlock h2::after {
	width: 300px;
	height: 5px;
	margin: 3px auto 5px;
	padding: 0;
	display: block;
	content: "";
	background:#00608D;
}

.home .titleBlock h2::after,
.archive .titleBlock h2::after,
.category .titleBlock h2::after,
.tag .titleBlock h2::after {
	display: none;
}

h3 {
	clear: both;
	margin: 0 0 20px;
	padding: 0;
	text-align: center;
	color: #00608D;
	font-size: 36px;
	font-weight: bold;
	line-height: 1.4;
}

#snsTop .box h3 {
	color: #000;
}

#snsTop .box:nth-of-type(odd) h3 {
	margin-bottom: 50px;
}

#snsTop .box:nth-of-type(even) h3 {
	margin-bottom: 15px;
}

#business #service .titleBlock h3,
#business #works .titleBlock h3 {
	width: 100%;
	margin-bottom: 0;
	position: absolute;
	top: 50%;
	left: 50%;
	z-index: 10;
	color: #FFF;
	font-size: 60px;
	line-height: 1;
	transform: translate(-50%, -50%);
}

#business #service .titleBlock h3::before,
#business #works .titleBlock h3::before,
#business #service .titleBlock h3::after,
#business #works .titleBlock h3::after {
	width: 350px;
	height: 3px;
	margin: 0 auto;
	padding: 0;
	display: block;
	content: "";
	background:#FFF;
}

#business #service .titleBlock h3::before,
#business #works .titleBlock h3::before {
	margin-bottom: 13px;
}

#business #service .titleBlock h3::after,
#business #works .titleBlock h3::after {
	margin-top: 19px;
}

.titleBlock p.jp {
	color: #00608D;
	font-size: 16px;
	font-weight: normal;
}

#company #message h3.intro {
	color: #000;
	font-size: 40px;
	font-family: 'Noto Serif JP', serif;
}

h4 {
	clear: both;
	margin: 0 0 20px;
	padding: 0;
	font-size: 24px;
	font-weight: bold;
	line-height: 1.4;
}

#business #service h4 {
	margin-bottom: 10px;
	color: #00608D;
	line-height: 1.5;
}

#business #works h4 {
	min-height: 70px;
	margin-bottom: 20px;
	padding: 10px 25px;
	text-align: center;
	color: #FFF;
	border-radius: 50px;
	background: #00608D;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
}

#policy #pageBox .innerBlock .innerBox .policyTitle {
	min-height: 60px;
	margin: 0 0 20px;
	padding: 13px 0 13px 16px;
	text-align: left;
	color: #00608D;
	font-size: 22px;
	font-weight: bold;
	line-height: 1.4;
	border-left: 10px solid #00608D;
}

@media screen and (max-width:1200px) {
.movie-container .movie-innerbox .movie-intro h2 {
	margin-bottom: 30px;
	font-size: 62px;
}
.titleBlock {
	padding-right: 15px;
	padding-left: 15px;
}
.home #aboutTop .titleBlock,
.home #newsTop .titleBlock,
#business #service .titleBlock,
#business #works .titleBlock {
	padding-right: 0;
	padding-left: 0;
}
}

@media screen and (max-width:968px) {
#snsTop .box h3 {
	font-size: 28px;
}
#snsTop .box:nth-of-type(odd) h3 {
	margin-bottom: 35px;
}
}

@media screen and (max-width:768px) {
.movie-container .movie-innerbox .movie-intro h2 {
	margin-bottom: 20px;
	font-size: 46px;
}
.titleBlock {
	margin-bottom: 20px;
}
.home #aboutTop .titleBlock {
	width: 100%;
	margin-bottom: 15px;
	text-align: center;
}
.titleBlock h2 {
	font-size: 28px;
}
.titleBlock h2::after {
	width: 250px;
}
.home #aboutTop .titleBlock h2::after {
	width: 120px;
	height: 3px;
	margin: 10px auto 0;
	display: block;
	content: "";
	background: #4D4D4D;
}
h3 {
	margin-bottom: 15px;
	font-size: 30px;
}
.titleBlock h3 {
	font-size: 26px;
}
#snsTop .box:nth-of-type(odd) h3 {
	margin-bottom: 25px;
}
#snsTop .box:nth-of-type(even) h3 {
	margin-bottom: 10px;
}
#business #service .titleBlock h3,
#business #works .titleBlock h3 {
	font-size: 50px;
}
#business #service .titleBlock h3::before,
#business #works .titleBlock h3::before,
#business #service .titleBlock h3::after,
#business #works .titleBlock h3::after {
	width: 50%;
	height: 3px;
}
#business #service .titleBlock h3::before,
#business #works .titleBlock h3::before {
	margin-bottom: 3px;
}
#business #service .titleBlock h3::after,
#business #works .titleBlock h3::after {
	margin-top: 9px;
}
.titleBlock p.jp {
	font-size: 14px;
}
#company #message h3.intro {
	font-size: 32px;
}
h4 {
	margin-bottom: 15px;
	font-size: 20px;
}
#business #works h4 {
	min-height: 46px;
	margin-bottom: 15px;
	padding: 7px 25px;
}
#policy #pageBox .innerBlock .innerBox .policyTitle {
	min-height: 40px;
	margin-bottom: 15px;
	padding: 7px 0 7px 12px;
	font-size: 18px;
	border-left-width: 7px;
}
}

@media screen and (max-width:568px) {
.movie-container .movie-innerbox .movie-intro h2 {
	margin-bottom: 15px;
	font-size: 36px;
}
.home #newsTop .titleBlock {
	width: 100%;
	margin-bottom: 0;
}
.titleBlock h2 {
	font-size: 26px;
}
h3 {
	font-size: 26px;
}
.titleBlock h3 {
	font-size: 26px;
}
#snsTop .box h3 {
	font-size: 24px;
}
#snsTop .box:nth-of-type(odd) h3 {
	margin-bottom: 20px;
}
#business #service .titleBlock h3,
#business #works .titleBlock h3 {
	font-size: 42px;
}
#business #service .titleBlock h3::before,
#business #works .titleBlock h3::before,
#business #service .titleBlock h3::after,
#business #works .titleBlock h3::after {
	height: 2px;
}
#business #service .titleBlock h3::before,
#business #works .titleBlock h3::before {
	margin-bottom: 0;
}
#business #service .titleBlock h3::after,
#business #works .titleBlock h3::after {
	margin-top: 4px;
}
.titleBlock p.jp {
	font-size: 14px;
}
#company #message h3.intro {
	font-size: 28px;
	line-height: 1.3;
}
h4 {
	font-size: 18px;
}
}

@media screen and (max-width:368px) {
#business #service .titleBlock h3,
#business #works .titleBlock h3 {
	font-size: 38px;
}
#business #service .titleBlock h3::before,
#business #works .titleBlock h3::before,
#business #service .titleBlock h3::after,
#business #works .titleBlock h3::after {
	width: 60%;
}
}

/* Text
----------------------------------------------- */
p {
	margin: 0;
	padding: 0;
}

/* Image
----------------------------------------------- */
img {
	max-width: 100%;
	height: auto;
	border: none;
	vertical-align: top;
}

.attachment-post-thumbnail,
.attachment-large {
	margin: 0;
	padding: 0;
}

.alignnone {
	clear: both;
	margin: 0 auto 30px auto;
	padding: 0;
	display: block;
}

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

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

.aligncenter {
	clear: both;
	margin: 0 auto 30px auto;
	padding: 0;
	display: block;
}

p .alignnone,
p .aligncenter {
	margin-bottom: 0;
}

@media screen and (max-width:768px) {
.alignleft,
.alignright {
	clear: both;
	float: none;
}
.alignright {
	margin-bottom: 25px;
	margin-left: 0;
}
.alignleft {
	margin-right: 0;
	margin-bottom: 25px;
}
.alignnone,
.aligncenter {
	margin-bottom: 25px;
}
}

/* List
----------------------------------------------- */
ul, ol, li, dl, dt, dd {
	margin: 0;
	padding: 0;
	list-style: none;
}

/* Table
----------------------------------------------- */
table {
	clear: both;
	width: 100%;
	margin: 0 0 20px 0;
	padding: 0;
	border-collapse: collapse;
	border-spacing: 0;
	border: 1px solid #696969;
}

table caption {
	clear: both;
	width: 100%;
	margin: 0;
	padding: 0;
	border-collapse: collapse;
	border-spacing: 0;
}

table tr th,
table tr td {
	margin: 0;
	padding: 10px 15px;
	vertical-align: middle;
	border-collapse: collapse;
	border-spacing: 0;
	border: 1px solid #696969;
}

table tr th {
	text-align: center;
	color: #FFF;
	font-weight: normal;
	background: #00608D;
}

table tbody tr th {
	width: 30%;
}

table tr td {
	text-align: left;
	background: #FFF;
}

@media screen and (max-width:768px) {
table {
	border: none;
	border-bottom: 1px solid #696969;
}
table tr th,
table tr td {
	width: 100%;
	padding: 7px;
	display: block;
}
table tbody tr th,
table tbody tr td {
	border-bottom: none;
}
table tbody tr th {
	width: 100%;
	text-align: left;
}
}

/* Form
----------------------------------------------- */
input,
textarea {
	font-size: 100%;
}

input[type="text"],
input[type="email"],
input[type="tel"],
input[type="date"],
input[type="number"],
textarea {
	margin: 0;
	padding: 5px 5px 7px;
	color: #000;
	font-size: 16px;
	font-family: 'Noto Sans JP', sans-serif;
	border: none;
	background: #FFF;
	box-sizing: border-box;
	border-radius: 0;
	background: #E7E6E6;
	-webkit-appearance: none;
	-webkit-tap-highlight-color: rgba(0,0,0,0);
}

input[type="text"],
input[type="email"],
input[type="tel"] {
	width: 100%;
}

input[type="date"] {
	vertical-align: top;
}

input[type="checkbox"] {
	margin: 4px 3px 0 0;
}

input[type="text"]:focus,
input[type="email"]:focus,
input[type="tel"]:focus,
input[type="date"]:focus,
input[type="number"]:focus,
textarea:focus {
	outline: 0;
	font-size: 16px;
	border: none;
	background: #ECF1F4;
}

input[type="submit"],
input[type="button"],
button {
	cursor: pointer;
	font-family: 'Noto Sans JP', sans-serif;
	border-radius: 0;
	border: none;
	-webkit-appearance: none;
}

input:-webkit-autofill {
	-webkit-box-shadow: 0 0 0px 1000px rgba(255, 255, 255, 1) inset;
	background: transparent!important;
}

select {
	width: 100%;
	padding: 5px 5px 7px;
	vertical-align: top;
	color: #000;
	font-size: 16px;
	font-family: 'Noto Sans JP', sans-serif;
	border: none;
	background: #E7E6E6;
	box-sizing: border-box;
}

select:focus {
	outline: 0;
	border: none;
	background: #ECF1F4;
}

textarea {
	width: 100%;
	padding: 5px 5px 7px;
	box-sizing: border-box;
}

/* Font
----------------------------------------------- */
em {
	color: #F00;
	font-weight: normal;
	font-style: normal;
}

.required {
	color: #F00;
}

#contact table th .required {
	color: #F00;
	text-shadow:0 0 3px #FFF,0 0 3px #FFF,0 0 3px #FFF,0 0 3px #FFF,0 0 3px #FFF,0 0 3px #FFF,0 0 3px #FFF,0 0 3px #FFF,0 0 3px #FFF,0 0 3px #FFF,0 0 3px #FFF,0 0 3px #FFF,0 0 3px #FFF,0 0 3px #FFF,0 0 3px #FFF,0 0 3px #FFF;
}

/* Other
----------------------------------------------- */
.alignL {
	text-align: left;
}

.alignR {
	text-align: right;
}

.alignC {
	text-align: center;
}

/*------------------------------------------------------------------------------
　Layout
-------------------------------------------------------------------------------*/

/* Header
----------------------------------------------- */
#header {
	clear: both;
	width: 96.8%;
	max-width: 1860px;
	height: 85px;
	margin: 0 auto;
	padding: 0;
	position: sticky;
	top: 25px;
	left: 0;
	z-index: 9999;
	border-radius: 15px;
	background: #FFF;
	box-shadow: 3px 3px 7px #B1B1B1;
}

#header:after {
	clear: both;
	display: block;
	content: "";
}

#header .headerInner {
	clear: both;
	width: 100%;
	height: 85px;
	margin: 0;
	padding: 0 25px;
	position: relative;
	text-align: left;
}

#header .headerInner:after {
	clear: both;
	display: block;
	content: "";
}

#header .headerLogo {
	float: left;
	margin: 0;
	padding: 0;
}

#header .headerLogo h1 {
	clear: both;
	margin: 9px 0 0;
	padding: 0;
}

#header .headerLogo a {
	display: block;
}

#header .headerLogo img {
	width: 292px;
}

#header .headerLogo a:hover img {
	opacity: 1;
}

@media screen and (max-width:1600px) {
#header {
	width: calc(100% - 30px);
	max-width: 100%;
	margin-right: 15px;
	margin-left: 15px;
}
}

@media screen and (max-width:1000px) {
#header,
#header .headerInner {
	height: 70px;
}
#header .headerInner {
	padding: 0 20px;
}
#header .headerLogo {
	float: none;
	margin: 0 auto;
	position: absolute;
	top: 50%;
	left: 50%;
	z-index: 10;
	transform: translate(-50%, -50%);
}
#header .headerLogo h1 {
	margin-top: 0;
}
#header .headerLogo img {
	width: 210px;
}
}

@media screen and (max-width:568px) {
#header {
	top: 15px;
}
}

/* Navigation
----------------------------------------------- */
#navigation {
	float: right;
	margin: 0;
	padding: 0;
}

@media screen and (max-width:1000px) {
#navigation {
	clear: both;
	float: none;
	width: 100%;
}
}

/* Container
----------------------------------------------- */
#container {
	clear: both;
	width: 100%;
	margin: 26px 0 0;
	padding: 0;
	overflow: hidden;
}

.home #container {
	margin-top: 51px;
}

@media screen and (max-width:568px) {
#container {
	margin-top: 16px;
}
.home #container {
	margin-top: 31px;
}
}

/* Contents
----------------------------------------------- */
#contents {
	clear: both;
	width: 100%;
	margin: 0;
	padding: 0;
	overflow: hidden;
}

#contents .innerBlock {
	clear: both;
	width: 100%;
	max-width: 1200px;
	margin: 0 auto;
	padding: 0 0 70px;
	overflow: hidden;
}

.home #contents .innerBlock {
	max-width: 1600px;
}

.movie-container .movie-innerbox .movie-intro .pageLink,
#contents .pageLink {
	clear: both;
	width: 100%;
	margin: 0;
	padding: 0;
	text-align: center;
}

.movie-container .movie-innerbox .movie-intro .pageLink a,
#contents .pageLink a {
	width: 100%;
	max-width: 300px;
	height: 60px;
	margin: 0 auto;
	padding: 11px 25px 0;
	display: block;
	position: relative;
	z-index: 1;
	overflow: hidden;
	color: #FFF;
	font-size: 20px;
	text-decoration: none;
	border-radius: 8px;
	background: #00608D;
	transition: all .3s cubic-bezier(0.45, 0, 0.55, 1);
}

.movie-container .movie-innerbox .movie-intro .pageLink a {
	max-width: 400px;
	margin: 0 auto;
	padding-top: 13px;
	font-size: 18px;
	background: rgba(64, 92, 102, 0.9);
}

#snsTop .pageLink a {
	max-width: 475px;
	height: 85px;
	padding-top: 24px;
	font-size: 24px;
}

#snsTop .box:nth-of-type(odd) .pageLink a {
	background: #000;
}

.movie-container .movie-innerbox .movie-intro .pageLink a:hover,
#contents .pageLink a:hover,
#snsTop .box:nth-of-type(odd) .pageLink a:hover {
	cursor: pointer;
	color: #000;
	background: #FDD001;
}

.movie-container .movie-innerbox .movie-intro .pageLink a:hover {
	background: rgba(255, 210, 0, 0.9);
}

#contents .pageLink a::after {
	width: 100%;
	height: 120px;
	position: absolute;
	top: 0;
	left: 0;
	z-index: -1;
	content: '';
	background: #FDD001;
	transform: skewY(-10deg) scale(1, 0);
	transform-origin: left top;
	transition: .4s;
}

.movie-container .movie-innerbox .movie-intro .pageLink a::after {
	background: rgba(255, 210, 0, 0.9);
}

#snsTop .pageLink a::after {
	height: 170px;
}

#contents .pageLink a:hover::after {
	transform: skewY(-10deg) scale(1, 1);
}

.movie-container .movie-innerbox .movie-intro .pageLink i,
#contents .pageLink i {
	margin: 6px 10px 0 0;
	font-size: 24px;
	line-height: 1;
}

.movie-container .movie-innerbox .movie-intro .pageLink i {
	float: right;
	margin: 6px 0 0 10px;
	font-size: 22px;
}

#snsTop .box .pageLink i {
	font-size: 28px;
}

#snsTop .box:nth-of-type(odd) .pageLink i {
	margin-top: 5px;
}

#snsTop .box:nth-of-type(even) .pageLink i {
	margin-top: 5px;
}

.error404 #contents .pageLink i {
	float: right;
	margin-top: 6px;
	margin-right: 0;
	font-size: 24px;
}

@media screen and (max-width:1600px) {
.home #contents .innerBlock {
	max-width: 100%;
	padding-right: 15px;
	padding-left: 15px;
}
}

@media screen and (max-width:1200px) {
#contents .innerBlock {
	padding-right: 15px;
	padding-left: 15px;
}
}

@media screen and (max-width:768px) {
#contents .innerBlock {
	padding-bottom: 40px;
}
.movie-container .movie-innerbox .movie-intro .pageLink a,
#contents .pageLink a {
	height: 50px;
	padding: 7px 15px 0;
	font-size: 18px;
}
.movie-container .movie-innerbox .movie-intro .pageLink a {
	max-width: 320px;
	padding-top: 10px;
	font-size: 16px;
}
#snsTop .pageLink a {
	max-width: 320px;
	height: 60px;
	padding-top: 13px;
	font-size: 22px;
}
.movie-container .movie-innerbox .movie-intro .pageLink a::after,
#contents .pageLink a::after {
	height: 100px;
}
#snsTop .pageLink a::after {
	height: 120px;
}
.movie-container .movie-innerbox .movie-intro .pageLink i {
	margin-top: 5px;
	font-size: 20px;
}
#snsTop .box:nth-of-type(odd) .pageLink i {
	margin-top: 4px;
}
#snsTop .box:nth-of-type(even) .pageLink i {
	margin-top: 4px;
}
.error404 #contents .pageLink i {
	margin-top: 6px;
}
}

@media screen and (max-width:568px) {
.movie-container .movie-innerbox .movie-intro .pageLink a {
	max-width: 230px;
	height: 42px;
	padding-top: 6px;
}
#snsTop .pageLink a {
	padding-top: 15px;
	font-size: 20px;
}
#snsTop .box .pageLink i {
	font-size: 26px;
}
#snsTop .box:nth-of-type(odd) .pageLink i {
	margin-top: 2px;
}
#snsTop .box:nth-of-type(even) .pageLink i {
	margin-top: 1px;
}
}

/* Breadcrumbs
------------------------------------------------------------- */
.breadcrumbs {
	clear: both;
	width: 100%;
	max-width: 1200px;
	margin: 0 auto;
	padding: 15px 0 20px;
	overflow: hidden;
	font-size: 12px;
}

.breadcrumbs a {
	color: #00608D;
	text-decoration: underline;
}

.breadcrumbs a:hover {
	text-decoration: none;
}

@media screen and (max-width:1200px) {
.breadcrumbs {
	padding-right: 15px;
	padding-left: 15px;
}
}

@media screen and (max-width:768px) {
.breadcrumbs {
	padding: 10px 15px 25px;
}
}

/* PageTop
----------------------------------------------- */
#pagetop {
	clear: both;
	width: 100%;
	height: 47px;
	margin: 15px 0 20px;
	padding: 0;
	position: relative;
	overflow: hidden;
}

#pagetop a {
	width: 47px;
	height: 47px;
	margin: 0;
	padding: 9px 0 0;
	display: block;
	position: absolute;
	top: 0;
	right: 5%;
	text-align: center;
	border-radius: 50%;
	background: #4D4D4D;
}

#pagetop i {
	color: #FFF;
	font-size: 30px;
}

@media screen and (max-width:768px) {
#pagetop {
	margin: 10px 0 15px;
}
}

/* Footer
----------------------------------------------- */
#footer {
	clear: both;
	width: 100%;
	margin: 0;
	padding: 0;
	color: #E7E6E6;
	overflow: hidden;
	background: #4D4D4D;
}

#footer a,
#footer a:visited,
#footer a:active,
#footer a:focus {
	color: #E7E6E6;
	text-decoration: none;
}

#footer a:hover {
	color: #E7E6E6;
	text-decoration: underline;
}

#footer a[href^="tel:"] {
	color: #E7E6E6;
	text-decoration: none;
}

#footer .footerInner {
	clear: both;
	width: 100%;
	max-width: 1200px;
	margin: 0 auto;
	padding: 30px 0;
	overflow: hidden;
	text-align: left;
	display: flex;
	flex-wrap: wrap;
	align-items: flex-end;
}

#footer .footerInfo {
	width: 100%;
	margin: 0 0 30px;
	padding: 0;
}

#footer .footerInfo p {
	clear: both;
	margin: 0;
	padding: 0;
	font-size: 18px;
	line-height: 1.5;
}

#footer .footerInfo p.name {
	margin-bottom: 10px;
	padding-top: 0;
	font-size: 28px;
	line-height: 1;
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-start;
	align-items: flex-end;
}

#footer .footerInfo p.name span.en {
	font-size: 36px;
	line-height: 1;
}

#footer .footerInfo p.name span.jp {
	font-size: 16px;
	line-height: 1;
}

#footer .footerMeta {
	width: 100%;
	margin: 0;
	padding: 0;
}

#footer .footerMeta ul {
	clear: both;
	margin: 0;
	padding: 0;
	overflow: hidden;
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-end;
}

#footer .footerMeta ul li {
	clear: both;
	margin: 0;
	padding: 0 7px;
	font-size: 14px;
	line-height: 1.2;
}

#footer .footerMeta ul li:first-child {
	border-right: 1px solid #E7E6E6;
}

#footer .footerMeta ul li a {
	color: #E7E6E6;
}

#footer .footerMeta ul li a:hover {
	color: #E7E6E6;
	text-decoration: underline;
}

@media screen and (max-width:1200px) {
#footer .footerInner {
	padding-right: 15px;
	padding-left: 15px;
}
}

@media screen and (max-width:768px) {
#footer a[href^="tel:"] {
	text-decoration: underline;
}
#footer a:hover[href^="tel:"] {
	text-decoration: none;
}
#footer .footerInner {
	padding-top: 20px;
	padding-bottom: 15px;
}
#footer .footerInfo {
	margin-bottom: 30px;
	text-align: center;
}
#footer .footerInfo p {
	font-size: 16px;
}
#footer .footerInfo p.name {
	font-size: 24px;
	justify-content: center;
}
#footer .footerInfo p.name span.en {
	font-size: 32px;
}
#footer .footerInfo p.name span.jp {
	font-size: 14px;
}
#footer .footerMeta {
	width: 100%;
}
#footer .footerMeta ul {
	justify-content: center;
}
#footer .footerMeta ul li {
	font-size: 12px;
}
}

@media screen and (max-width:568px) {
#footer .footerInfo {
	margin-bottom: 25px;
}
#footer .footerInfo p {
	font-size: 14px;
}
#footer .footerInfo p.name {
	font-size: 20px;
}
#footer .footerInfo p.name span.en {
	font-size: 28px;
}
#footer .footerInfo p.name span.jp {
	font-size: 12px;
}
}

/*------------------------------------------------------------------------------
　PostList
-------------------------------------------------------------------------------*/

.postList,
#newsTop .newsList {
	clear: both;
	width: 100%;
	margin: 0;
	padding: 0;
	overflow: hidden;
}

.postList {
	border-top: 3px solid #00608D;
	border-bottom: 3px solid #00608D;
}

#newsTop .newsList {
	width: 75%;
	font-size: 18px;
}

.postList dl,
#newsTop .newsList dl {
	clear: both;
	width: 100%;
	margin: 0;
	padding: 0;
	overflow: hidden;
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-start;
}

.postList dl dt.postDate,
#newsTop .newsList dl dt.postDate {
	clear: left;
	width: 115px;
	margin: 0 0 20px;
	padding: 20px 0 0 15px;
}

#newsTop .newsList dl dt.postDate {
	font-weight: bold;
}

.postList dl dd.postTitle,
#newsTop .newsList dl dd.postTitle {
	width: calc(100% - 115px);
	margin: 0 0 20px;
	padding: 20px 15px 0 20px;
}

.postList dl dt.postDate,
.postList dl dd.postTitle {
	background: url(assets/images/share/line_dotted.png) repeat-x left top;
}

.postList dl>dt.postDate:first-of-type,
.postList dl>dd.postTitle:first-of-type {
	background: none;
}

.postList dl dd.postTitle a,
#newsTop .newsList dl dd.postTitle a {
	width: 100%;
	display: block;
}

.postList dl dd.postTitle a:hover,
#newsTop .newsList dl dd.postTitle a:hover {
	color: #00608D;
}

.postList dl dd.postTitle a span,
#newsTop .newsList dl dd.postTitle a span {
	padding-right: 15px;
}

.postList dl dd.postTitle a i,
#newsTop .newsList dl dd.postTitle a i {
	float: right;
	font-size: 20px;
}

.postList dl dd.postTitle a i {
	margin-top: 5px;
	color: #00608D;
}

#newsTop .newsList dl dd.postTitle a i {
	margin-top: 8px;
	color: #000;
}

@media screen and (max-width:768px) {
#newsTop .newsList {
	font-size: 16px;
}
.postList dl dt.postDate,
#newsTop .newsList dl dt.postDate {
	clear: both;
	width: 100%;
	margin-bottom: 0;
	padding: 15px 10px 0 10px;
}
.postList dl dd.postTitle,
#newsTop .newsList dl dd.postTitle {
	clear: both;
	width: 100%;
	margin-bottom: 15px;
	padding: 3px 10px 0 10px;
	background: none;
}
.postList dl dd.postTitle a span,
#newsTop .newsList dl dd.postTitle a span {
	padding-right: 10px;
}
.postList dl dd.postTitle a i,
#newsTop .newsList dl dd.postTitle a i {
	margin-top: 3px;
	font-size: 18px;
}
#newsTop .newsList dl dd.postTitle a i {
	margin-top: 6px;
}
}

@media screen and (max-width:568px) {
#newsTop .newsList {
	width: 100%;
}
#newsTop .newsList dl dt.postDate {
	padding-top: 10px;
}
}

/* Pagenation
----------------------------------------------- */
.wp-pagenavi {
	clear: both;
	margin: 0 -6px 0;
	padding: 40px 0 0;
	overflow: hidden;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
}

.wp-pagenavi span.current,
.wp-pagenavi a {
	width: 40px;
	height: 40px;
	margin: 0 6px;
	padding: 8px 0 0 0;
	display: inline-block;
	text-align: center;
	color: #00608D;
	font-weight: normal;
	line-height: 1.2;
	text-decoration: none;
	border-radius: 50%;
	border: 2px solid #00608D;
	background: #FFF;
}

.wp-pagenavi span.current,
.wp-pagenavi a:hover {
	color: #FFF;
	background: #00608D;
}

.wp-pagenavi a.previouspostslink,
.wp-pagenavi a.nextpostslink {
	padding-top: 10px;
}

@media screen and (max-width:768px) {
.wp-pagenavi {
	margin-right: -5px;
	margin-left: -5px;
	padding: 30px 0 0;
}
.wp-pagenavi span.current,
.wp-pagenavi a {
	margin: 0 5px;
	padding-top: 10px;
}
.wp-pagenavi a.previouspostslink,
.wp-pagenavi a.nextpostslink {
	padding-top: 12px;
}
}

/*------------------------------------------------------------------------------
　PostDetail
-------------------------------------------------------------------------------*/

.post {
	width: 100%;
	margin: 0;
	padding: 0;
	overflow: hidden;
}

.post .postTitle {
	margin: 0 0 10px;
	padding: 0;
}

.post .postTitle h2 {
	margin: 0;
	padding: 0 15px 20px;
	text-align: center;
	font-size: 36px;
	font-weight: bold;
	line-height: 1.4;
	border-bottom: 2px solid #00608D;
}

.post .postDate {
	clear: both;
	float: right;
	margin: 0;
	padding: 0 5px 20px;
	color: #00608D;
}

.post .postContent {
	width: 100%;
	margin: 0;
	padding: 0 0 60px;
	overflow: hidden;
}

.post .postContent h1 {
	clear: both;
	margin: 0 0 25px;
	padding: 0;
	text-align: left;
	color: #2C5F7B;
	font-size: 28px;
	font-weight: bold;
	line-height: 1.4;
}

.post .postContent h2 {
	clear: both;
	margin: 0 0 30px;
	padding: 15px 15px 14px;
	text-align: left;
	color: #FFF;
	font-size: 24px;
	font-weight: bold;
	line-height: 1.4;
	background: #00608D;
}

.post .postContent h3 {
	clear: both;
	margin: 0 0 30px;
	padding: 15px 15px 14px;
	text-align: left;
	color: #00608D;
	font-size: 22px;
	font-weight: bold;
	line-height: 1.4;
	border-left: 10px solid #FED700;
}

.post .postContent h4 {
	clear: both;
	margin: 0 0 25px;
	padding: 0 10px 10px;
	text-align: left;
	color: #00608D;
	font-size: 18px;
	font-weight: normal;
	line-height: 1.4;
	border-bottom: double #F42727;
}

.post .postContent h5 {
	clear: both;
	margin: 0 0 20px;
	padding: 12px 10px;
	text-align: left;
	color: #00608D;
	font-size: 18px;
	font-weight: normal;
	line-height: 1.4;
	border-top: 2px solid #FED700;
	border-bottom: 2px solid #FED700;
}

.post .postContent h6 {
	clear: both;
	margin: 0 0 15px;
	padding: 0;
	text-align: left;
	color: #00608D;
	font-size: 16px;
	font-weight: bold;
	line-height: 1.4;
}

.post .postContent p {
	margin: 0 0 20px 0;
	padding: 0;
}

.post .postContent p:last-child {
	margin-bottom: 0;
}

.post .postContent a {
	color: #00608D;
	text-decoration: underline;
}

.post .postContent a:hover {
	text-decoration: none;
}

.post .postContent table {
	margin-bottom: 30px;
}

.post .postContent ul {
	clear: both;
	margin: 0 0 20px;
	padding: 0;
	overflow: hidden;
}

.post .postContent ul li {
	clear: both;
	margin: 0 0 5px;
	padding: 0 0 0 30px;
	position: relative;
	font-size: 22px;
}

.post .postContent ul li:last-child {
	margin-bottom: 0;
}

.post .postContent ul li:before {
	width: 22px;
	height: 22px;
	display: inline-block;
	position: absolute;
	top: 10px;
	left: 0;
	content: "";
	border-radius: 50%;
	background-color: #FED700;
}

.post .postContent ol {
	clear: both;
	margin: 0 0 25px;
	padding: 0 0 0 42px;
	overflow: hidden;
}

.post .postContent ol li {
	clear: both;
	margin: 0 0 5px;
	padding: 0;
	font-size: 22px;
	text-indent: -38px;
	list-style-position: outside;
	counter-increment: cnt;
}

.post .postContent ol li:before {
	display: marker;
	content: counter(cnt) "．";
	color: #F42727;
}

.post .postContent ol li:last-child {
	margin-bottom: 0;
}

.post .postContent .bnrFile {
	clear: both;
	width: 100%;
	margin: 0;
	padding: 0;
	text-align: center;
}

.post .postContent .bnrFile a {
	width: 100%;
	max-width: 980px;
	height: 80px;
	margin: 0 auto;
	padding: 13px 20px 0;
	display: block;
	position: relative;
	z-index: 1;
	overflow: hidden;
	color: #FFF;
	font-size: 30px;
	text-decoration: none;
	border-radius: 8px;
	background: #00608D;
	transition: all .3s cubic-bezier(0.45, 0, 0.55, 1);
}

.post .postContent .bnrFile a:hover {
	cursor: pointer;
	color: #000;
	background-color: #FDD001;
}

.post .postContent .bnrFile a::after {
	width: 100%;
	height: 160px;
	position: absolute;
	top: 0;
	left: 0;
	z-index: -1;
	content: '';
	background: #FDD001;
	transform: skewY(-10deg) scale(1, 0);
	transform-origin: left top;
	transition: .4s;
}

.post .postContent .bnrFile a:hover::after {
	transform: skewY(-10deg) scale(1, 1);
}

.post .postContent .bnrFile i {
	float: right;
	margin: 10px 10px 0 0;
	font-size: 34px;
	line-height: 1;
}

.post .postContent .movie {
	width: 100%;
	max-width: 860px;
	margin: 0 auto 50px;
	padding: 0;
	overflow: hidden;
	aspect-ratio: 16 / 9;
}

.post .postContent .movie iframe {
	width: 100%;
	height: 100%;
}

.post .postContent .gallery {
	width: 100%;
	margin-bottom: 30px;
	overflow: hidden;
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-start;
}

.post .postContent .gallery br {
	display: none;
}

.post .postContent .gallery-item {
	margin: 0 1.5% 15px 0;
}

.post .postContent .gallery-icon {
	text-align: center;
}

.post .postContent .gallery-icon img {
	width: 100%;
	height: auto;
	margin-bottom: 3px;
	border: 1px solid #CCC;
}

.post .postContent .gallery-caption {
	margin: 0;
	text-align: center;
	font-size: 14px;
}

.post .postContent .gallery-columns-1 .gallery-item {
	width: 100%;
	margin: 0;
}

.post .postContent .gallery-columns-2 .gallery-item {
	width: 48.5%!important;
}

.post .postContent .gallery-columns-2 .gallery-item:nth-of-type(2n) {
	margin-right: 0;
}

.post .postContent .gallery-columns-3 .gallery-item {
	width: 31.83333%!important;
}

.post .postContent .gallery-columns-3 .gallery-item:nth-of-type(3n) {
	margin-right: 0;
}

.post .postContent .gallery-columns-4 .gallery-item {
	width: 23.5%!important;
}

.post .postContent .gallery-columns-4 .gallery-item:nth-of-type(4n) {
	margin-right: 0;
}

.post .postContent .gallery-columns-5 .gallery-item {
	width: 18.5%!important;
}

.post .postContent .gallery-columns-5 .gallery-item:nth-of-type(5n) {
	margin-right: 0;
}

@media screen and (max-width:768px) {
.post .postTitle {
	margin-bottom: 8px;
}
.post .postTitle h2 {
	padding-bottom: 15px;
	font-size: 28px;
}
.post .postDate {
	padding-bottom: 15px;
}
.post .postContent {
	padding-bottom: 30px;
}
.post .postContent h1 {
	margin-bottom: 20px;
	font-size: 22px;
}
.post .postContent h2 {
	margin-bottom: 20px;
	padding: 10px 10px 9px 12px;
	font-size: 20px;
}
.post .postContent h3 {
	margin-bottom: 15px;
	padding: 10px 10px 9px 12px;
	font-size: 20px;
}
.post .postContent h4 {
	margin-bottom: 20px;
	padding: 0 5px 10px;
	font-size: 16px;
}
.post .postContent h5 {
	margin-bottom: 20px;
	padding: 11px 5px;
	font-size: 16px;
}
.post .postContent h6 {
	margin-bottom: 12px;
	font-size: 14px;
}
.post .postContent p {
	margin-bottom: 15px;
}
.post .postContent table {
	margin-bottom: 25px;
}
.post .postContent table tbody tr th,
.post .postContent table tbody tr td {
	width: 100%!important;
}
.post .postContent ul {
	margin-bottom: 15px;
}
.post .postContent ul li {
	padding-left: 25px;
	font-size: 18px;
}
.post .postContent ul li:before {
	width: 18px;
	height: 18px;
	top: 8px;
}
.post .postContent ol {
	margin-bottom: 20px;
}
.post .postContent ol li {
	font-size: 18px;
}
.post .postContent .bnrFile a {
	height: 60px;
	padding: 8px 15px 0;
	font-size: 24px;
}
.post .postContent .bnrFile a::after {
	height: 120px;
}
.post .postContent .bnrFile i {
	margin-top: 9px;
	font-size: 28px;
}
.post .postContent .movie {
	margin-bottom: 30px;
}
.post .postContent .gallery {
	margin-bottom: 15px;
}
.post .postContent .gallery-caption {
	font-size: 13px;
}
.post .postContent .gallery-columns-3 .gallery-item,
.post .postContent .gallery-columns-4 .gallery-item {
	width: 48.5%!important;
}
.post .postContent .gallery-columns-3 .gallery-item:nth-of-type(3n) {
	margin-right: 1.5%;
}
.post .postContent .gallery-columns-4 .gallery-item:nth-of-type(4n) {
	margin-right: 1.5%;
}
.post .postContent .gallery-columns-3 .gallery-item:nth-of-type(2n),
.post .postContent .gallery-columns-3 .gallery-item:nth-of-type(2n) {
	margin-right: 0;
}
.post .postContent .gallery-columns-5 .gallery-item {
	width: 31.83333%!important;
}
.post .postContent .gallery-columns-5 .gallery-item:nth-of-type(5n) {
	margin-right: 1.5%;
}
.post .postContent .gallery-columns-5 .gallery-item:nth-of-type(3n) {
	margin-right: 0;
}
}

@media screen and (max-width:568px) {
.post .postContent .bnrFile a {
	height: 50px;
	padding: 7px 10px 0;
	font-size: 20px;
}
.post .postContent .bnrFile a::after {
	height: 100px;
}
.post .postContent .bnrFile i {
	margin-top: 6px;
	font-size: 24px;
}
}

/* Pagenation
----------------------------------------------- */
.postNavi {
	clear: both;
	margin: 0 -10px;
	padding: 40px 0 0;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	border-top: 2px solid #00608D;
}

.postNavi .navPrev,
.postNavi .navList,
.postNavi .navNext {
	margin: 0 10px;
	padding: 0;
}

.postNavi a {
	width: 200px;
	height: 50px;
	margin: 0;
	padding: 13px 20px 10px;
	display: block;
	text-align: center;
	color: #00608D;
	font-weight: normal;
	line-height: 1.2;
	text-decoration: none;
	border-radius: 8px;
	border: 2px solid #00608D;
	background: #FFF;
}

.postNavi a:hover {
	color: #FFF;
	background: #00608D;
}

.postNavi .navPrev i {
	float: left;
	margin-top: 1px;
	margin-right: 10px;
	vertical-align: 0;
}

.postNavi .navNext i {
	float: right;
	margin-top: 1px;
	margin-left: 10px;
	vertical-align: 0;
}

@media screen and (max-width:768px) {
.postNavi {
	margin: 0 -5px;
	padding: 30px 0 0;
}
.postNavi .navPrev,
.postNavi .navList,
.postNavi .navNext {
	margin: 0 5px;
}
.postNavi .navList {
	width: calc(100% - 10px);
	margin-bottom: 15px;
	order: 1;
}
.postNavi .navPrev,
.postNavi .navNext {
	width: 48.5%;
}
.postNavi .navPrev {
	order: 2;
}
.postNavi .navNext {
	order: 3;
}
.postNavi a {
	padding: 9px 15px 10px;
}
.postNavi a {
	width: 100%;
	height: 40px;
}
.postNavi .navPrev i {
	margin-top: 2px;
}
.postNavi .navNext i {
	margin-top: 2px;
}
}

/*------------------------------------------------------------------------------
　Page
-------------------------------------------------------------------------------*/

#pageBox {
	clear: both;
	width: 100%;
	margin: 0;
	padding: 0;
	overflow: hidden;
} 

#pageBox .innerBlock a {
	color: #00608D;
	text-decoration: underline;
}

#pageBox .innerBlock a:hover {
	text-decoration: none;
}

#pageBox .innerBlock p {
	margin-bottom: 15px;
}

#pageBox .innerBlock p:last-child {
	margin-bottom: 0;
}

#pageBox .innerBlock .innerBox {
	clear: both;
	width: 100%;
	margin: 0 0 45px;
	padding: 0;
	overflow: hidden;
}

#pageBox .innerBlock .innerBox:last-of-type {
	margin-bottom: 0;
}

@media screen and (max-width:1200px) {
#pageBox .innerBlock {
	padding-right: 15px;
	padding-left: 15px;
}
}

@media screen and (min-width:768px) {
#pageBox .innerBlock a[href^="tel:"] {
	color: #000;
	text-decoration: none;
}
#pageBox .innerBlock a[href^="tel:"]:hover {
	text-decoration: none;
}
}

@media screen and (max-width:768px) {
#pageBox .innerBlock p {
	margin-bottom: 10px;
}
#pageBox .innerBlock a[href^="tel:"] {
	color: #00608D;
}
#pageBox .innerBlock .innerBox {
	margin-bottom: 25px;
}
}

/*------------------------------------------------------------------------------
　TopPage
-------------------------------------------------------------------------------*/

/* Movie
----------------------------------------------- */
.movie-container {
	clear: both;
	width: 100%;
	max-width: 1600px;
	margin: 0 auto 50px;
	padding: 0;
	overflow: hidden;
	position: relative;
	border-radius: 15px;
}

.movie-container .movie-innerbox {
	clear: both;
	width: 100%;
	margin: 0;
	padding: 0;
	position: relative;
	overflow: hidden;
}

.movie-container .movie-innerbox .movie-intro {
	position: absolute;
	top: 50%;
	right: 20px;
	z-index: 100;
	transform: translateY(-50%);
}

.movie-container .movie-innerbox .movie-box {
	width: 100%;
	margin: 0;
	aspect-ratio: 16 / 9;
}

.movie-container .movie-innerbox .movie-box video {
	width: 100%;
	height: 100%;
	margin: 0;
	padding: 0;
	display: block;
}

@media screen and (max-width:1600px) {
.movie-container {
	width: calc(100% - 30px);
	max-width: 100%;
	margin-right: 15px;
	margin-left: 15px;
}
}

@media screen and (max-width:768px) {
.movie-container {
	margin-bottom: 20px;
}
}

@media screen and (max-width:568px) {
.movie-container .movie-innerbox .movie-intro {
	width: 90%;
	position: absolute;
	top: 60%;
	right: 0;
	left: 50%;
	z-index: 100;
	transform: translate(-50%, -60%);
}
}

@media screen and (max-width:568px) {
.movie-container .movie-innerbox .movie-box {
	aspect-ratio: 24 / 25;
}
}

/* About
----------------------------------------------- */
#aboutTop {
	clear: both;
	width: 100%;
	margin: 0;
	padding: 0;
	overflow: hidden;
}

#aboutTop .innerBlock {
	padding-bottom: 50px;
}

#aboutTop .aboutInner {
	clear: both;
	width: 100%;
	max-width: 1200px;
	margin: 0 auto;
	padding: 15px 0 15px 30px;
	overflow: hidden;
	border-left: 3px solid #4D4D4D;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: center;
}

#aboutTop .aboutInner .innerBox {
	width: 75%;
	padding-left: 20px;
}

@media screen and (max-width:768px) {
#aboutTop .innerBlock {
	padding-bottom: 30px;
}
#aboutTop .aboutInner {
	padding: 0;
	border-left: none;
}
#aboutTop .aboutInner .innerBox {
	width: 100%;
	padding-left: 0;
}
}

/* Navi
----------------------------------------------- */
#naviTop .naviList {
	clear: both;
	width: 100%;
	margin: 0 0 70px;
	padding: 0;
	overflow: hidden;
	border-top: 2px solid #4D4D4D;
	border-bottom: 2px solid #4D4D4D;
	background: #FFF;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}

#naviTop .naviList .naviBox {
	width: 50%;
	margin: 0;
	padding: 30px;
	text-align: right;
}

#naviTop .naviList .naviBox a:hover {
	text-decoration: none;
}

#naviTop .naviList .naviBox:nth-of-type(odd) {
	border-right: 1px solid #4D4D4D;
}

#naviTop .naviList .naviBox:nth-of-type(even) {
	border-left: 1px solid #4D4D4D;
}

#naviTop .naviList .naviBox .photoBox {
	clear: both;
	width: 100%;
	margin: 0 0 10px;
	padding: 0;
	position: relative;
	overflow: hidden;
	border-radius: 8px;
}

#naviTop .naviList .naviBox .photoBox h3 {
	margin-bottom: 0;
	padding: 5px 20px 10px;
	position: absolute;
	bottom: 0;
	left: 0;
	z-index: 10;
	text-align: right;
	color: #E7E6E6;
	font-size: 72px;
	line-height: 1.1;
	letter-spacing: 0.08em;
	border-radius: 0 0 8px 8px;
	background-color: rgba(0, 96, 141, 0.8);
	text-shadow: 3px 3px 8px rgba(0, 0, 0, 0.6);
}

#naviTop .naviList .naviBox a .photoBox h3,
#naviTop .naviList .naviBox a:hover .photoBox h3 {
	width: 100%;
	display: block;
	color: #E7E6E6;
	text-decoration: none;
}

#naviTop .naviList .naviBox a:hover h3 {
	background-color: rgba(253, 208, 1, 0.8);
}

#naviTop .naviList .naviBox a:hover p {
	text-decoration: underline;
}

#naviTop .naviList .naviBox p i {
	margin-top: 7px;
	margin-left: 15px;
}

@media screen and (max-width:1000px) {
#naviTop .naviList .naviBox {
	padding: 25px;
}
#naviTop .naviList .naviBox .photoBox h3 {
	padding: 0 15px 6px;
	font-size: 62px;
	letter-spacing: 0.02em;
}
}

@media screen and (max-width:768px) {
#naviTop .naviList {
	margin-bottom: 40px;
}
#naviTop .naviList .naviBox {
	width: 100%;
	padding: 25px 20px;
}
#naviTop .naviList .naviBox:nth-of-type(odd) {
	border-right: none;
}
#naviTop .naviList .naviBox:nth-of-type(even) {
	border-left: none;
}
#naviTop .naviList .naviBox .photoBox {
	margin-bottom: 8px;
}
#naviTop .naviList .naviBox .photoBox h3 {
	padding-bottom: 5px;
	font-size: 56px;
}
#naviTop .naviList .naviBox p i {
	margin-top: 6px;
}
}

@media screen and (max-width:568px) {
#naviTop .naviList .naviBox {
	padding: 20px 15px;
}
#naviTop .naviList .naviBox .photoBox h3 {
	padding: 0 10px 5px;
	font-size: 52px;
	letter-spacing: 0;
}
}

/* News
----------------------------------------------- */
#newsTop {
	clear: both;
	width: 100%;
	margin: 0;
	padding: 0;
	overflow: hidden;
}

#newsTop .newsInner {
	padding: 15px 0;
	border-top: 2px solid #4D4D4D;
	border-bottom: 2px solid #4D4D4D;
}

#newsTop .newsInner .newsBlock {
	max-width: 1200px;
	margin: 0 auto;
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-start;
	align-items: center;
}

@media screen and (max-width:568px) {
#newsTop .newsInner {
	padding: 15px 0 0;
}
}

/* SNS
----------------------------------------------- */
#snsTop {
	clear: both;
	width: 100%;
	margin: 0;
	padding: 0;
	overflow: hidden;
}

#snsTop .innerBlock {
	max-width: 1000px;
	padding-bottom: 20px;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
}

#snsTop .innerBlock .boxL,
#snsTop .innerBlock .boxR {
	width: 48%;
	margin: 0;
	padding: 0;
}

#snsTop .innerBlock .boxL {
	max-width: 500px;
	margin-right: 4%;
	text-align: center;
}

#snsTop .innerBlock .boxR {
	max-width: 475px;
}

#snsTop .innerBlock .boxL .box,
#snsTop .innerBlock .boxR .box {
	clear: both;
	width: 100%;
	margin: 0;
	padding: 0 0 45px;
	overflow: hidden;
}

#snsTop .innerBlock .boxR .box:last-of-type {
	padding-bottom: 0;
}

#snsTop .innerBlock .boxR .box p {
	margin-bottom: 15px;
	text-align: center;
	line-height: 1.4;
}

@media screen and (max-width:768px) {
#snsTop .innerBlock .boxL,
#snsTop .innerBlock .boxR {
	width: 100%;
	max-width: 100%;
}
#snsTop .innerBlock .boxL {
	margin-bottom: 40px;
	margin-right: 0;
}
#snsTop .innerBlock .boxL .box,
#snsTop .innerBlock .boxR .box {
	padding-bottom: 25px;
}
#snsTop .innerBlock .boxR .box p {
	margin-bottom: 10px;
}
}

@media screen and (max-width:568px) {
#snsTop .innerBlock .boxL {
	margin-bottom: 30px;
}
}

/*------------------------------------------------------------------------------
　Company
-------------------------------------------------------------------------------*/

#company #message,
#company #overview,
#company #history {
	clear: both;
	width: 100%;
	margin: 0;
	padding: 0;
	overflow: hidden;
}

#company #message img {
	margin-bottom: 20px;
}

#company #message p {
	margin-bottom: 0;
	text-align: center;
	font-size: 18px;
}

#company #overview table {
	margin-bottom: 0;
}

#company #history dl.historyList {
	clear: both;
	width: 100%;
	margin: 0;
	padding: 0;
	background: #FFF;
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-start;
}

#company #history dl.historyList dt,
#company #history dl.historyList dd {
	margin: 0;
	padding: 14px 15px;
}

#company #history dl.historyList dt {
	width: 350px;
	text-align: center;
	font-weight: bold;
	border-bottom: 4px solid #00608D;
}

#company #history dl.historyList dd {
	width: calc(100% - 350px);
	border-bottom: 4px solid #696969;
}

@media screen and (max-width:768px) {
#company #message img {
	margin-bottom: 15px;
}
#company #message p {
	text-align: left;
	font-size: 16px;
}
#company #history dl.historyList dt,
#company #history dl.historyList dd {
	padding: 12px 10px;
}
#company #history dl.historyList dt {
	width: 35%;
}
#company #history dl.historyList dd {
	width: 65%;
}
}

/*------------------------------------------------------------------------------
　Business
-------------------------------------------------------------------------------*/

#business #service p {
	margin-bottom: 40px;
	font-size: 18px;
}

#business #service .serviceList {
	clear: both;
	width: 100%;
	margin: 0;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-start;
}

#business #service .serviceList .innerBox {
	min-height: 230px;
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-start;
	background: #FFF;
}

#business #service .serviceList .innerBox .serviceNum {
	width: 230px;
	margin: 0;
	padding: 0;
	position: relative;
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-start;
	align-items: flex-start;
}

#business #service .serviceList .innerBox .serviceNum::after {
	width: 230px;
	height: 230px;
	margin: 0;
	padding: 0;
	display: block;
	content: "";
	background: linear-gradient(135deg, #00608D 0%, #00608D 50%, #FFF 50%, #FFF 100%);
}

#business #service .serviceList .innerBox .serviceNum p {
	margin-bottom: 0;
	padding: 0;
	position: absolute;
	top: 30px;
	left: 30px;
	text-align: center;
	color: #FFF;
	font-size: 24px;
	line-height: 1.3;
}

#business #service .serviceList .innerBox .serviceText {
	width: calc(100% - 230px);
	padding: 15px;
}

#business #service .serviceList .innerBox .serviceText p {
	margin-bottom: 0;
	font-size: 16px;
}

@media screen and (max-width:768px) {
#business #service p {
	margin-bottom: 25px;
	font-size: 16px;
}
#business #service .serviceList .innerBox {
	min-height: 180px;
}
#business #service .serviceList .innerBox .serviceNum {
	width: 180px;
}
#business #service .serviceList .innerBox .serviceNum::after {
	width: 180px;
	height: 180px;
}
#business #service .serviceList .innerBox .serviceNum p {
	top: 19px;
	left: 20px;
	font-size: 22px;
	line-height: 1.2;
}
#business #service .serviceList .innerBox .serviceText {
	width: calc(100% - 180px);
}
#business #service .serviceList .innerBox .serviceText p {
	font-size: 14px;
}
}

@media screen and (max-width:568px) {
#business #service p {
	font-size: 14px;
}
#business #service .serviceList .innerBox .serviceNum {
	width: 110px;
}
#business #service .serviceList .innerBox .serviceNum::after {
	width: 110px;
	height: 100%;
	background: #00608D;
}
#business #service .serviceList .innerBox .serviceNum p {
	top: 14px;
	left: 12px;
	font-size: 22px;
	line-height: 1.2;
}
#business #service .serviceList .innerBox .serviceText {
	width: calc(100% - 110px);
}
#business #service .serviceList .innerBox .serviceText p {
	font-size: 13px;
}
}

@media screen and (max-width:388px) {
#business #service .serviceList .innerBox .serviceNum {
	width: 100%;
}
#business #service .serviceList .innerBox .serviceNum::after {
	width: 100%;
	height: 70px;
}
#business #service .serviceList .innerBox .serviceNum p {
	top: 8px;
	left: 50%;
	transform: translateX(-50%);
}
#business #service .serviceList .innerBox .serviceText {
	width: 100%;
}
}

/*------------------------------------------------------------------------------
　Privacy Policy
-------------------------------------------------------------------------------*/

#policy #pageBox .innerBlock p.leadText {
	margin-bottom: 45px;
}

#policy #pageBox .innerBlock .innerBox p {
	clear: both;
	margin-bottom: 0;
}

@media screen and (max-width:768px) {
#policy #pageBox .innerBlock p.leadText {
	margin-bottom: 25px;
}
}

/*------------------------------------------------------------------------------
　Contact
-------------------------------------------------------------------------------*/

section#contactBlock:first-of-type .innerBlock {
	padding-bottom: 70px;
}

#contact .p-country-name {
	display: none;
}

#contact .contactBox {
	clear: both;
	width: 100%;
	margin: 0 0 40px;
	padding: 0;
	overflow: hidden;
}

#contact .mw_wp_form_complete .contactBox {
	margin-bottom: 0;
}

#contact .contactBox p {
	text-align: center;
}

#contact table {
	margin-bottom: 40px;
}

#contact .mwform-zip-field,
#contact .mwform-tel-field {
	vertical-align: middle;
}

#contact .mw_wp_form .horizontal-item + .horizontal-item {
	margin-left: 10px!important;
}

.mw_wp_form .error {
	margin-top: 5px;
	display: block;
	color: #F00!important;
	font-size: 14px!important;
}

#contact .contactButton {
	clear: both;
	width: 100%;
	max-width: 615px;
	margin: 0 auto;
	padding: 0;
	text-align: center;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}

#contact .contactButton .btnBack,
#contact .contactButton .btnNext {
	width: 48%;
	max-width: 300px;
	height: 60px;
	margin: 0 auto;
	padding: 0 30px 0;
	display: block;
	color: #FFF;
	font-weight: normal;
	border-radius: 8px;
	transition: all .3s;
}

#contact .mw_wp_form_confirm .contactButton .btnNext {
	margin-right: 0;
	margin-left: 0;
}

#contact .contactButton .btnBack {
	margin-right: 4%;
	margin-left: 0;
	border: none;
	background: #787878;
}

#contact .contactButton .btnBack:hover {
	border: none;
	background: #A0A0A0;
}

#contact .contactButton .btnNext {
	border: none;
	background: #00608D;
}

#contact .contactButton .btnNext:hover {
	color: #000;
	border: none;
	background: #FDD001;
}

#contact .contactBox .contactInfo {
	clear: both;
	width: 100%;
	margin: 0;
	padding: 30px 0 0 0;
	overflow: hidden;
}

#contact .contactBox .contactInfo p {
	margin-bottom: 0;
	text-align: right;
}

#contact .contactBox .contactInfo .name {
	margin-bottom: 5px;
	font-size: 18px;
	font-weight: bold;
}

@media screen and (max-width:1200px) {
section#contactBlock:first-of-type .innerBlock {
	padding-right: 15px;
	padding-left: 15px;
}
#contact input[type="text"].formLong,
#contact input[type="email"].formLong,
#contact textarea {
	width: 100%!important;
}
}

@media screen and (max-width:768px) {
section#contactBlock:first-of-type .innerBlock {
	padding-bottom: 40px;
}
#contact .contactBox {
	margin-bottom: 25px;
}
#contact .contactBox p {
	text-align: left;
}
#contact table {
	margin-bottom: 20px;
}
#contact .contactButton .btnBack,
#contact .contactButton .btnNext {
	height: 50px;
	padding: 6px 15px;
}
#contact .contactBox .contactInfo {
	padding-top: 20px;
}
#contact .contactBox .contactInfo .name {
	font-size: 16px;
}
}

@media screen and (max-width:468px) {
#contact .mwform-tel-field input[type="text"] {
	width: 30%;
	display: inline-block;
}
#contact .contactButton .btnBack,
#contact .contactButton .btnNext {
	width: 100%;
	margin: 0 auto;
}
#contact .contactButton .btnBack {
	margin: 0 0 15px;
}
}

/*------------------------------------------------------------------------------
　404
-------------------------------------------------------------------------------*/

.error404 #pageBox .innerBlock p {
	margin-bottom: 40px;
	text-align: center;
}

.error404 #contents .pageLink a {
	color: #FFF;
	text-decoration: none;
}

.error404 #contents .pageLink a:hover {
	color: #000;
}

@media screen and (max-width:768px) {
.error404 #pageBox .innerBlock p {
	margin-bottom: 30px;
	text-align: left;
}
}