@charset "UTF-8";

/* ＰＣ用共通ＣＳＳ */

.sp_only{ display: none; }
#gmap_ct iframe {
    width: 100%;
}
img {width: 100%}

/*--------------------------------------------------
ローディング
**************************************************
--------------------------------------------------*/
#loding {
	display: none;
	position: fixed;
	width: 100%;
	height: 100%;
	top: 0px;
	left: 0px;
	background: #fff;
	z-index: 100000000;
}
.loader{
    position: absolute;
    width:130px;
    height:60px;
    left:50%;
    top:50%;
    transform: translate(-50%, -50%);
}
.circle{
    position: absolute;
    width:20px;
    height:20px;
    border-radius: 50%;
    left:15%;
    transform-origin: 50%;
    animation: circle .5s alternate infinite ease;
}
.circle.green{
  background-color: #a1ea86;
}
.circle.orenge{
  background-color: #f7ad19;
}
.circle.yellow{
  background-color: #fcef7c;
}
@keyframes circle{
    0%{
        top:60px;
        height:5px;
        border-radius: 50px 50px 25px 25px;
        transform: scaleX(1.7);
    }
    40%{
        height:20px;
        border-radius: 50%;
        transform: scaleX(1);
    }
    100%{
        top:0%;
    }
}
.circle:nth-child(2){
    left:40%;
    animation-delay: .2s;
}
.circle:nth-child(3){
    left:auto;
    right:15%;
    animation-delay: .3s;
}
.shadow{
    position: absolute;
    width:20px;
    height:4px;
    top:62px;
    left:15%;
    border-radius: 50%;
    background-color: rgba(0,0,0,.2);
    transform-origin: 50%;
    z-index: -1;
    filter: blur(1px);
    animation: shadow .5s alternate infinite ease;
}

@keyframes shadow{
    0%{
        transform: scaleX(1.5);
    }
    40%{
        transform: scaleX(1);
        opacity: .7;
    }
    100%{
        transform: scaleX(.2);
        opacity: .4;
    }
}
.shadow:nth-child(4){
    left: 40%;
    animation-delay: .2s
}
.shadow:nth-child(5){
    left:auto;
    right:15%;
    animation-delay: .3s;
}
.loader span{
    position: absolute;
    top:75px;
    font-family: 'Lato';
    font-size: 16px;
    letter-spacing: 0.3em;
    color: #aaaaaa;
    left:17%;
}



/*--------------------------------------------------
**************************************************
ヘッダー
**************************************************
--------------------------------------------------*/

header{
  position: fixed;
  top: 0px;
  width: 100%;
  height: 100px;
  z-index: 1000;
  box-sizing: border-box;
}
#header_common {
  position: relative;
  display: block;
  max-width: 1200px;
  width: 100%;
  height: 100%;
  margin: 0 auto;
  transition: 3s;
}
#header_common::before {
  position: absolute;
  content: "";
  width: 600px;
  height: 250px;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgb(255 255 255 / 95%);
  border-radius: 50%; 
  margin: 0 auto;
  z-index: -1;
  transition: transform 0.4s 0s;
}
#header_common.is-open::before{
  transform: scale(2);
  transition: transform 0.4s;
  background: rgb(255 255 255 / 100%);
}
@media all and (-ms-high-contrast: none) {
	#header_common::before {
		background: rgb(255 255 255 / 95%);
  		behavior: url(../border-radius.htc);
	}
  }

/* 管理メニューを下部に固定表示 */
#wpadminbar{
	top: auto!important;
	bottom: 0px;
}
header #logo{
	display: block;
  width: 200px;
	font-size: 12px;
	color: #333333;
	line-height: 14px;
	padding: 0px 0 0px 0;
	text-align: center;
  margin: 0 auto;
	box-sizing: border-box;
	transition: opacity 0.3s;
	z-index: 1200;
}
header #logo .logo_img {
  width: 80px;
  height: auto;
  margin: 0 auto;
}
header #logo:hover{
	text-decoration: none;
	opacity: 0.8;
}
header #logo:hover img{
	opacity: 1;
}
header #logo .logo_wrap .logo_title {
  margin-top: 10px;
}
#header_top_nav {
  position: relative;
  display: block;
  width: 100%;
  height: auto;
  transition: 3s;
}
.menu-header-container {
  display: none;
}
ul.nav_list{
  position: relative;
  display: flex;
  max-width: 700px;
  width: 100%;
  z-index: 99999;
  margin: 20px auto 0 auto;
}
ul.nav_list > li{
  position: relative;
  display: block;
  text-align: center;
  margin: auto;
}
ul.nav_list > li:nth-child(1) a::after{ background: rgb(233 253 226 / 99%); }
ul.nav_list > li:nth-child(2) a::after{ background: rgb(209 248 247 / 97%); }
ul.nav_list > li:nth-child(3) a::after{ background: rgb(254 234 227 / 99%); }
ul.nav_list > li:nth-child(4) a::after{ background: rgb(255 244 222 / 100%); }
ul.nav_list > li:nth-child(5) a::after{ background: rgb(254 251 222 / 99%); }
ul.nav_list > li > a {
  position: relative;
  display: inline-block;
  color: #333;
  font-size: 18px;
  letter-spacing: 0.1em;
  box-sizing: border-box;
  text-align: center;
  text-decoration: none;
  transition: 3s;
}
ul.nav_list > li > a:after{
  content: '';
  position: absolute;
  width: calc(100% + 20px);
  height: 10px;
  left: -10px;
  bottom: 0;
  z-index: -1;
  margin: 0 auto;
}
ul.nav_list > li > a:hover{
  opacity: 0.8;
}
ul.nav_list > li > ul.sub_navi{
	background: #d53138;
	display: none;
}

ul.nav_list > li > ul.sub_navi > li{
	background: #d53138;
	border-bottom: 1px solid #e54047;
}

ul.nav_list > li > ul.sub_navi > li:last-child{
	border-bottom: none;
}

ul.nav_list > li > ul.sub_navi > li >a{
	display: block;
	width: 100%;
	height: 40px;
	line-height: 40px;
	padding-left: 20px;
	color: #fff;
	box-sizing: border-box;
}

/* ハンバーガーアイコン */

.icon-animation {
  position: relative;
  display: block;
	width: 26px;
	height: 40px;
  cursor: pointer;
  margin: 0 auto;
  z-index: 999999;
}
.icon-animation:hover {

}

.icon-animation span {
  position: absolute;
  display: block;
	width: 24px;
	height: 1px;
  top: 50%;
	background: #333;
}

#hamburger_icon span {
	-webkit-transition: all 0.3s;
		transition: all 0.3s;
	-webkit-transform: rotate(0deg);
	-ms-transform: rotate(0deg);
		transform: rotate(0deg);
}

#hamburger_icon .top {
	-webkit-transform: translateY(-8px);
	    -ms-transform: translateY(-8px);
		transform: translateY(-8px);
}

#hamburger_icon .bottom {
	-webkit-transform: translateY(8px);
	    -ms-transform: translateY(8px);
		transform: translateY(8px);
}

#hamburger_icon.is-open .middle {
	background: rgba(255, 255, 255, 0);
}

#hamburger_icon.is-open .top {
	-webkit-transform: rotate(-45deg) translateY(0px);
	    -ms-transform: rotate(-45deg) translateY(0px);
		transform: rotate(-45deg) translateY(0px);
}

#hamburger_icon.is-open .bottom {
	-webkit-transform: rotate(45deg) translateY(0px);
	    -ms-transform: rotate(45deg) translateY(0px);
		transform: rotate(45deg) translateY(0px);
}


/*--------------------------------------------------
**************************************************
フッター
**************************************************
--------------------------------------------------*/

footer {
	display: block;
	width: 100%;
  	background: #ffffff;
}

footer #footer_logo_div{
	padding: 60px 40px 20px 40px;
  	text-align: center;
	box-sizing: border-box;
}
footer #footer_logo{
	display: inline-block;
	width: 200px;
	font-size: 12px;
	color: #333333;
	line-height: 20px;
	text-align: center;
	box-sizing: border-box;
	transition: opacity 0.3s;
	margin: 0 auto;
	z-index: 1200;
}
footer #footer_logo:hover{
	text-decoration: none;
	opacity: 0.8;
}
footer #footer_logo_div #footer_logo .footer_log_wrap {
	display: flex;
	align-items: center;
	justify-content: center;
	color: #333333;
}
footer #footer_logo_div #footer_logo .footer_log_wrap .logo_img {
  width: 120px;
  margin-bottom: 10px;
}
footer #footer_logo_div #footer_logo .logo_text {
	margin-left: 20px;
}
footer #footer_logo_div #footer_logo .footer_log_wrap h1 {
	font-size: 25px;
	margin-bottom: 10px;
}
footer #footer_logo_div #footer_logo .logo_text .title_text {
	font-size: 10px;
	line-height: 13px;
	opacity: 0.8;
}
.footer_contact {
    max-width: 600px;
    width: 100%;
    height: auto;
    background: #f3f3ed;
	text-align: center;
    border-radius: 20px;
	font-size: 16px;
	letter-spacing: 0.1em;
	line-height: 28px;
    padding: 20px;
    margin: 0 auto 30px auto;
}
.footer_inner {
	width: 100%;
    margin: 0 auto;
    padding: 10px 20px 20px 20px;
	box-sizing: border-box;
}
.menu-footer-container {
    max-width: 1000px;
    margin: 0 auto;
}
footer ul.inner_cont{
	display: flex;
	flex-wrap: wrap;
}

@media screen and (max-width: 999px) {
	footer ul.inner_cont li a {
    font-size: 1.5vw;
	}
}

/* @media screen and (min-width: 1000px) {
	footer #footer_logo_div,
	footer ul.inner_cont{
		width: 1000px;
		margin: 0 auto;
	}
} */



footer ul.inner_cont li{
	display: inline-block;
	width: calc(100% / 3);
	line-height: 28px;
	text-align: center;
	margin-bottom: 10px;
}

footer ul.inner_cont li a{
	font-size: 15px;
	letter-spacing: 0.2em;
	color: #333333;
}

footer ul.inner_cont li a:hover{
	text-decoration: none;
	opacity: 0.7;
}

#copyright {
	display: block;
	width: 100%;
	height: 50px;
	margin: 0;
	padding: 0;
	line-height: 50px;
	text-align: center;
	font-size:14px;
	color: #333333;
}

#pageup{
	bottom: 20px;
	right: 20px;
	position: fixed;
	z-index: 10000;
}

#pageup img{
	width: 90px;
}


/*--------------------------------------------------
**************************************************
パンくず
**************************************************
--------------------------------------------------*/

#breadcrumb {
	display: none;
	width: 100%;
	max-width: 1000px;
	margin: 20px auto;
	padding: 0 20px;
	font-size: 13px;
	letter-spacing: 0.1em;
	line-height: 18px;
	box-sizing: border-box;
}
#breadcrumb a { color: #2E90A4; }

/*--------------------------------------------------
**************************************************
ページナビ共通
**************************************************
--------------------------------------------------*/
.wp-pagenavi{
	margin-bottom: 80px;
}

.wp-pagenavi a, .wp-pagenavi span{
	padding: 5px 16px!important;
	border: none!important;
	color: #fff;
}

.wp-pagenavi a, .wp-pagenavi span.pages{
	background: #bbb;
}

.wp-pagenavi a{
	background: #bbb;
}

.wp-pagenavi span.current{
	background: #6d6d6d;
}

/*--------------------------------------------------
**************************************************
全ページ共通レイアウト
**************************************************
--------------------------------------------------*/

/* メインコンテンツ */
#container{
	position: relative;
	display: none;
	width: 100%;
	overflow-x: hidden;
}

section{
	overflow: hidden;
}

#wrapper {
	height: auto;
	margin-top: 30px;
	margin-bottom: 100px;
	padding: 0px;
	box-sizing: border-box;
}
.last_bg {
  position: relative;
  width: 100%;
  height: 120px;
  padding-top: 30px;
}
.last_bg::before{
  position: absolute;
  content: "";
  width: 100%;
  height: 45px;
  left: 0;
  right: 0;
  bottom: 0;
  background: #ceedfc;
}

/* ▽ 挨拶文コンテンツ ▽ */

#page_contents .cont_inner .main_cont .cont_div.cont_message{
	margin-bottom: 60px;;
}

#page_contents .cont_inner .main_cont .cont_div.cont_message h4{
	display: block;
	width: calc(100% - 350px);
	font-size: 16px;
	border-left: 3px solid #999;
	background: #f3f3f3;
	margin-bottom: 30px;
	padding: 10px 20px;
	box-sizing: border-box;
}

#page_contents .cont_inner .main_cont .cont_div.cont_message .profile{
	display: block;
	width: calc(100% - 350px);
	font-size: 14px;
	line-height: 28px;
	margin-bottom: 20px;
	padding: 20px 0;
	border-top: 1px dashed #ccc;
	border-bottom: 1px dashed #ccc;
}

#page_contents .cont_inner .main_cont .cont_div.cont_message .image{
	width: 320px;
}

/* △ 挨拶文コンテンツ △ */
#page_contents .cont_inner .main_cont .cont_div p {
  display: flex;
}
#page_contents .cont_inner .main_cont .cont_div .image{
	display: block;
	width: 100%;
	margin-right: 30px;
}

#page_contents .main_cont .cont_div ul{
	margin: 0 0 20px 1em;
}
#page_contents .main_cont .company_table table{
	width: 100%;
	border: 1px solid #ddd;
}

#page_contents .main_cont .company_table table tr{
	border-bottom: 1px solid #ddd;
}

#page_contents .main_cont .company_table table th{
	vertical-align: middle;
	font-weight: normal;
	width: 150px;
	padding: 10px 10px;
	background: #f3f3f3;
}

#page_contents .main_cont .company_table table td{
	vertical-align: middle;
	padding: 10px 10px;
}

/*--------------------------------------------------
**************************************************
カスタム投稿タイプ
**************************************************
--------------------------------------------------*/

#list_title{
	width: 100%;
	height: 357px;
}

#list_title h2{
	font-weight: normal;
	letter-spacing: 0.2em;
	padding-top: 110px;
}

#list_title h2 .catch_jp{
	display: block;
	margin-bottom: 2px;
	font-size: 18px;
	font-family: "ヒラギノ明朝 ProN W6", "HiraMinProN-W6", "HG明朝E", "ＭＳ Ｐ明朝", "MS PMincho", "MS 明朝", serif;
	text-align: center;
}

#list_title h2 .catch_icon{
	display: block;
	text-align: center;
	margin-bottom: 6px;
}

#list_title h2 .catch_en{
	display: block;
	font-size: 24px;
	text-align: center;
}

#detail_title{
	width: 100%;
	height: 357px;
}

#detail_title h2{
	font-weight: normal;
	letter-spacing: 0.2em;
	padding-top: 110px;
}

#detail_title h2 .catch_jp{
	display: block;
	margin-bottom: 2px;
	font-size: 18px;
	font-family: "ヒラギノ明朝 ProN W6", "HiraMinProN-W6", "HG明朝E", "ＭＳ Ｐ明朝", "MS PMincho", "MS 明朝", serif;
	text-align: center;
}

#detail_title h2 .catch_icon{
	display: block;
	text-align: center;
	margin-bottom: 6px;
}

#detail_title h2 .catch_en{
	display: block;
	font-size: 24px;
	text-align: center;
}


/*--------------------------------------------------
**************************************************
サイドバー・サブコンテンツ
**************************************************
--------------------------------------------------*/

#side{
}
