@charset "utf-8";
/* CSS Document */
/*==================================================
  COMMON
==================================================*/
:root {
  --color-main: #1d2088;
  --gutter: 80px;
  --gutter-wide: 120px;
}
@media only screen and (max-width: 767px) {
:root {
	--gutter: 4%;
	--gutter-wide: 8%;
}
}

* {
    margin: 0;
    padding: 0;
}
html {
    font-family: 'Noto Sans JP', sans-serif;
    font-size: 14px;
    line-height: 1.6;
    background: #fff;
	min-width:320px;
}
html a {
    display: inline-block;
    text-decoration: none;
}
main {
    display: block;
	word-break: break-word;
	position:relative;
	min-height:400px;
}

a:hover,
a:active {
    text-decoration: none;
    filter: alpha(opacity=70);
    -webkit-transition: all .3s;
    transition: all .3s;
    -moz-opacity: 0.7;
    opacity: 0.7;
}

/*==================================================
  HEADER
==================================================*/
header {
    background: #fff;
    position: relative;
}

header .head__inBox{
	display: flex;
	justify-content: space-between;
}

/* H1 */
header h1{
    font-size: 0.8em;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
	height: 20px;
	transition: .3s;
}

/* logo */
header .head__inBox__logo{
	padding: 10px 0;
	max-width: 50%;
}
header .head__inBox__logo img{
	width: 100%;
	height: auto;
}

/* Tel / Time */
header .head__inBox__contact{
	display: flex;
	align-items: center;
	padding-bottom: 2em;
	white-space: nowrap;
	margin-left: 10px;
}
header .head__inBox__contact__tel{
	margin-top: 0.5em;
}
header .head__inBox__contact__tel .phone{
    font-size: 3.33vw;
	font-weight: bolder;
    line-height: 1.2;
}
header .head__inBox__contact__tel .time {
	font-size: 1.5vw;
    line-height: 1.5;
}

/* Button */
header .head__inBox__contact__btn{
	display:flex;
	margin: 0 0 0 10px;
}
header .head__inBox__contact__btn__item{
	width: 130px;
}
header .head__inBox__contact__btn__item.item01{
	margin-right: 15px;
}
header .head__inBox__contact__btn__item.item02{
	margin-right: 5px;
}

header .head__inBox__contact__btn__item .fukidashi{
	display: block;
	text-align:center;
	font-size: 0.8em;
	font-weight: bolder;
}
header .head__inBox__contact__btn__item.item01 .fukidashi{
	color: var(--color-main);
}
header .head__inBox__contact__btn__item .fukidashi::before{
	content:"/";
	display:inline-block;
	transform: scale(-1, 1) translateX(3px);
}
header .head__inBox__contact__btn__item .fukidashi::after{
	content:"/";
	display:inline-block;
	transform: translateX(3px);
}
header .head__inBox__contact__btn__item a{
	display:block;
	text-align:center;
	padding: 1em 1%;
	margin-top:4px;
	font-size:13px;
}

/* Gnavi */
header .head__gnavi{
	border-top: 1px solid #000;
	border-bottom: 1px solid #000;
	background: #fff;
}

header .head__gnavi__menuList .head__gnavi__item{
	width: 20%;
}
header .head__gnavi__menuList .gnavi_link a{
	font-size:14px;
	display: block;
	text-align: center;
	padding: 10px 0;
	font-weight:bold;
}
header .head__gnavi__menuList .gnavi_drawer {
    list-style: none;
    padding:0;
    position: relative;
}

header .head__gnavi__menuList .gnavi_drawer dl div {
    position: absolute;
    top: 42px;
    width: 100%;
    display:block;
    z-index: 999;
}
header .head__gnavi__menuList .gnavi_drawer dl dd{
	vertical-align:middle;
	overflow: hidden;
	width: 100%;
	height: 0;
	transition: .3s;
}
header .head__gnavi__menuList .gnavi_drawer dl dd a {
    color:#fff;
    height:100%;
    padding:0 10px;
    text-decoration: none;
    display:flex;
	align-items: center;
	justify-content: center;
}

header .head__gnavi__menuList .gnavi_drawer:hover dl dd{
    overflow: visible;
    height: 40px;
    background:rgba(0,0,0,.8);
    border-bottom: 1px solid #111111;
}
header .head__gnavi__menuList .gnavi_drawer dl dd a:hover{
	
}

/* Fixed */
header.fixed {
    display: block;
    box-shadow: 0 -1px 4px rgba(0, 0, 0, 0.5);
    position: fixed;
    left: 0;
    top: 0;
    z-index: 200;
    margin: auto;
    width: 100%;
	max-height: 125px;
	transition: .3s;
}
header.fixed + main {
    padding-top: 125px;
}

header.fixed h1{
	height:0;
}
header.fixed .head__inBox__logo{
	/* width: 218px; */
}
header.fixed .head__inBox__contact{
	padding-bottom: 1em;
}
header.fixed .head__inBox__contact__btn .fukidashi{
	display:none;
}
header.fixed .head__inBox__contact__btn__item a{
	padding: 0.5em;
}

@media screen and (min-width: 1024px) {
header .head__inBox__contact__tel .phone{
    font-size: 2.5em;
	font-weight: bolder;
    line-height: 1.2;
}
header .head__inBox__contact__tel .time {
	font-size:1.2em;
    line-height: 1.5;
}
}
/*==================================================
  MAIN
==================================================*/
#ancPagetop {
    display: inline;
}

/*************** メインタイトル ****************/
.ttlWrap{
	background:url(/share/img/common/ttlWrap_bg.png) center;
	background-size:cover;
}
h2.mainTtl {
    font-size: 2.5em;
    font-weight: bold;
    text-align: center;
    height: 180px;
    display: flex;
	flex-direction: column;
    justify-content: center;
    align-items: center;
}
.mainTtl__eng{
	display:block;
	text-align:center;
	font-size:0.7em;
	line-height:1.0;
}

/*************** パンくず ****************/
.breadWrap{
	background:#eee;
	width:100%;
}

main > .breadWrap{
	position:absolute;
	top:180px;
}

#bread {
    font-size: 0.9em;
    padding: 10px 0;
}
#bread a {
    padding: 0 5px 0 0;
    display: inline-block;
    text-decoration: underline;
}
#bread a:hover {
    text-decoration: none;
}
#bread .List span:last-of-type span[property="name"] {
    display: inline-block;
    padding: 0;
    margin-top: -3px;
    vertical-align: middle;
    max-width: 500px; /* 500px超えた文字は「...」表示 */
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

/*************** 一覧 ****************/
.archivePage .itemList{
	padding-top: calc( 3% + 40px );
}

/*************** 投稿 ****************/
.singlePage .contentWrap{
	padding-top: calc( 3% + 40px );
}

/*************** 投稿タイトル ****************/
.singlePage .ttlBox{
	border-bottom:1px solid #111;
	margin-bottom:2%;
}
.singlePage .ttlBox h3{
	padding-bottom: 2%;
	font-size:1.6em;
	font-weight:bold;
}
.singlePage .ttlBox .date{
	font-size:1.2em;
	font-weight:bold;
}

/*************** 投稿content内css ****************/
.singlePage .contentBox {
    padding: 0 20px;
    margin-bottom: 50px;
}
.singlePage .contentBox img {
	width:inherit;
    max-width: 100%;
    height: auto;
}
.singlePage .contentBox a {
    display: inline;
}
.singlePage .contentBox p {
    margin-bottom: 10px;
}
.singlePage .contentBox .aligncenter {
    margin: auto;
    display: table;
}
.singlePage .contentBox .alignright {
    margin-left: auto;
    display: table;
}
.singlePage .contentBox table td,
.singlePage .contentBox table th {
    padding: 10px;
    border: 1px solid #ccc;
}

/*************** アクセスマップ ****************/
.mapBox {
    margin: 5% 0;
}
.mapBox iframe {
    width: 100%;
}

/*************** 一覧ページャー ****************/
.archivePager {
    display: flex;
    justify-content: center;
    align-items: center;
    margin: auto;
}
.archivePager .wp-pagenavi {
    margin-top: 50px !important;
    display: flex;
    justify-content: center;
    align-items: center;
    margin: auto;
}
.archivePager .wp-pagenavi span {
    display: table;
}

/*************** 詳細ページャー ****************/
.singlePager{
	margin-top:5%;
	padding:0.5em;
	background:#eee;
}
.singlePager .pagerList{
    display: flex;
    justify-content: center;
    align-items: center;
	font-size: 0.9em;
}
.singlePager li.archive:before,
.singlePager li.archive:after{
	content:"｜";
}
.singlePager li.prev{
	min-width:5em;
	text-align:right;
}
.singlePager li.prev :before {
    content: "\ff1C \a0";
    font-size: 0.6em;
}
.singlePager li.next{
	min-width:5em;
	text-align:left;
}
.singlePager li.next :after {
    content: "\a0 \FF1E";
    font-size: 0.6em;
}

/*************** 準備中 ****************/
.preparationBox {
    margin-top: 80px;
}
.preparationBox h3 {
    font-size: 1.2em;
    font-weight: bold;
    text-align: center;
    line-height: 1.8;
}
.preparationBox p {
    text-align: center;
    margin-top: 5px;
}

/*==================================================
  FOOTER
==================================================*/
footer .foot__wrapper{
	border-top:5px solid #111;
	margin-top:5%;
	padding:3% 0 1%;
}

footer .foot__inBox__sitemap {
    display: flex;
    justify-content: space-around;
}
footer .foot__inBox__sitemap ul{
	margin-right:2%;
}
footer .foot__inBox__sitemap li {
    font-size: 12px;
    line-height: 2;
    padding-left: 1em;
    background: url(/share/img/common/arrow_black.png) no-repeat left 9px;
    background-size: 4px auto;
}
footer .foot__inBox__sitemap li dl dd{
	margin-left:-1em;
}
footer .foot__inBox__sitemap li dd::before{
	content:"┗";
	color:#CCC;
	margin-right: 0.5em;
}

footer .foot__inBox__company{
	display:flex;
	align-items: center;
	justify-content: center;
	margin:3% 0;
	padding:3% 0;
	border-top:1px solid #CCC;
	border-bottom:1px solid #CCC;
}
footer .foot__inBox__company .logo img {
    max-height: 80px;
    width: auto;
}
footer .foot__inBox__company .data{
	margin: 0 5%;
}
footer .foot__inBox__site ul{
	display:flex;
	justify-content: center;
	margin-bottom:5%;
}
footer .foot__inBox__site ul li{
	width:240px;
	margin-right:5px;
}
footer .foot__inBox__site ul li img{
	width:100%;
	height:auto;
}

footer .foot__inBox__bnr{
	display:flex;
	justify-content: space-between;
	align-items: flex-end;
}
footer .foot__inBox__bnr__item{
	margin:0 1% 20px;
	text-align:right;
}
footer .foot__inBox__bnr__item img{
	max-width:100%;
	height: auto;
}

@media screen and (min-width: 1024px) {
footer .foot__inBox{
	display:flex;
	justify-content: space-between;
}
footer .foot__inBox__left{
	width:58%;
}
footer .foot__inBox__right{
	width:40%;
	max-width:470px;
}
footer .foot__inBox__company{
	justify-content: flex-start;
}
footer .foot__inBox__bnr{
	margin-top:-5%;
	display: block;
}
}

/*************** footFix ****************/
footer .footFix {
    z-index: 100;
	position: fixed;
	bottom: 10px;
	right:10px;
	width:60px;
	height:60px;
	display: none;
}
footer .footFix.footFix_upper{
	bottom:80px;
}

footer .footFix .ancPagetop a{
	display:flex;
	align-items: center;
	justify-content: center;
	width:60px;
	height:60px;
	padding-top:10px;
	font-weight:bold;
	background:#fff;
	border:2px solid var(--color-main);
	color:var(--color-main);
	position:relative;
}
footer .footFix .ancPagetop a::before{
	content:"";
	width: 12px;
	height: 12px;
	display:block;
	border-top:2px solid var(--color-main);
	border-right:2px solid var(--color-main);
	position:absolute;
	top:10px;
	left:50%;
	transform: rotate(-45deg) translateX(-50%);
}

/*************** 画面横追従バナー ****************/
.fixBnr {
    position: fixed;
    bottom:80px;
    right: 0;
}
.fixBnr__inner {
	width:223px;
	height:236px;
}
.fixBnr__inner img {
    width: 100%;
    height: auto;
}

/*///////////////////////////////////////////////////////////

スマートフォン版（～767px）

///////////////////////////////////////////////////////////*/
@media only screen and (max-width: 767px) {
    /*==================================================
      スマートフォン版 MAIN
    ==================================================*/
	main{
		padding-top:80px;
		min-height:50vh;
		position:inherit;
	}
    .btnSend a {
        margin: 5% auto 0;
    }
    h2.mainTtl {
        font-size:1.6em;
		height:100px;
		margin:0;
		padding:0;
    }
	.mainTtl__eng{
		font-size:0.5em;
	}
	
    h3.formTitle {
        margin: 5% 2% 0;
    }
	
/*************** 投稿タイトル ****************/
	.singlePage .ttlBox h3{
	font-size:1.4em;
	}

    /*************** パンくず ****************/
	main > .breadWrap{
		top:180px;
	}
	
    #bread {
        padding: 5px;
		white-space: nowrap;
		overflow: hidden;
		overflow-x: scroll;
		-webkit-overflow-scrolling:auto;
    }
    #bread .List span:last-of-type span[property="name"] {
        max-width: 140px; /* 140px超えた文字は「...」表示 */
    }
    /*************** preparationBox ****************/
    .preparationBox {
        margin: 15% 5% 0;
        /*padding-bottom: 5%;*/
    }
    .preparationBox .btnSend a {
        margin-top: 3%;
    }
    /*************** 一覧ページャー ****************/
    .archive_pager .wp-pagenavi {
        margin-top: 5% !important;
    }
    /*************** 投稿content内css ****************/
    .singlePage .contentBox {
        padding: 0 2%;
        margin-bottom: 5%;
    }
    /*==================================================
      スマホ版 HEADER
    ==================================================*/
    header {
		position: fixed;
		top:0;
		left:0;
		width:100%;
        height: 80px;
		padding: 0;
		z-index:1000;
    }
	header h1{
		font-size: 9px;
		padding:2px;
		background:#eee;
		text-align:center;
		height:20px;
	}
	
	header .head__inBox{
		align-items: center;
		height: 60px;
	}
	header .head__inBox__logo{
		padding-left: 10px;
		/* height:60px; */
		/* width:auto; */
	}
	header .head__inBox__logo a{
		display:block;
		height: auto;
	}
	header .head__inBox__logo img{
		height: auto;
		width: 100%;
	}
	
    header .head__smpBtn {
        z-index: 300;
		padding: 16px 10px;
    }
    header .head__smpBtn span {
        position: relative;
        display: block;
        height: 2px;
        width: 30px;
        background: #5c6b80;
        -webkit-transition: ease .3s;
        transition: ease .3s;
    }
    header .head__smpBtn span:nth-child(1) {
        top: 0;
    }
    header .head__smpBtn span:nth-child(2) {
        margin: 8px 0;
    }
    header .head__smpBtn span:nth-child(3) {
        top: 0;
    }
    header .head__smpBtn.active span:nth-child(1) {
        top: 10px;
        -webkit-transform: rotate(45deg);
        transform: rotate(45deg);
    }
    header .head__smpBtn.active span:nth-child(2) {
        -webkit-transform: translateY(-50%);
        transform: translateY(-50%);
        opacity: 0;
    }
    header .head__smpBtn.active span:nth-child(3) {
        top: -10px;
        -webkit-transform: rotate(-45deg);
        transform: rotate(-45deg);
    }

    header .head__smpMenu__wrap {
        position: relative;
        z-index: 300;
    }

    header .head__smpMenu__wrap{
        display: none;
    }
    header .head__smpMenu__wrap.active {
		background:rgba(255,255,255,0.95);
        overflow-y: scroll; /*縦方向の超過分はスクロールする*/
        height: calc(100vh - 150px); /*.drawerの高さ＋.snsの高さ合計px*/
        transform: translateZ(0); /*retinaディスプレイでoverflow-yが効かなくなるのを回避する*/
    }
	
	header .head__smpMenu__btn{
		background: #f6f6f6;
		padding-bottom:0.5em;
	}
	header .head__smpMenu__btn__item{
		width:80%;
		padding:0.5em;
		margin:0 auto;
		text-align:center;
	}
	header .head__smpMenu__btn__item a{
		width:100%;
		padding:1em 0;
		text-align:center;
		font-size:3vw;
	}
	
	header .head__smpMenu__menuList{
		display: flex;
		flex-wrap: wrap;
	}
	header .head__smpMenu__item{
		width:50%;
		border-bottom:1px solid #eee;
		border-right:1px solid #eee;
		font-size:3vw;
	}
	header .head__smpMenu__item:nth-of-type(even){
		border-right:none;
	}
    header .head__smpMenu__item  a {
        background: url(/share/img/common/arrow_black.png) no-repeat left 0.75em center;
        background-size: auto 10px;
        display: block;
		padding:1em 1em 1em 2em;;
    }
	header .head__smpMenu__item.col01 {
		width: 100%;
	}
    header .head__smpMenu__menuList li.parent ul li {
        border: none;
        border-top: 1px dotted #ccc;
    }
    header .head__smpMenu__menuList li.parent ul li:first-child {
        margin-top: 10px;
    }
    header .head__smpMenu__menuList li.parent ul li:last-child {
        padding-bottom: 0;
    }
	
	/*fixed*/
	header.fixed{
		height: 60px;
	}
	header.fixed h1{
		padding: 0;
		height: 0;
	}
    header.fixed .head__smpMenu__wrap.active {
        height: calc(100vh - 130px); /*.drawerの高さ＋.snsの高さ合計px*/
    }
    /*==================================================
      スマホ版 FOOTER
    ==================================================*/
	footer .foot__wrapper.bottom_mgn{
		margin-bottom:70px;
	}
	
	footer .foot__inBox__spMenu{
		margin-bottom: 3%;
	}
	footer .foot__inBox__spMenu ul{
		display:flex;
		justify-content: center;
	}
	footer .foot__inBox__spMenu ul li:nth-of-type(2){
		padding:0 1em;
		margin:0 1em;
		border-left: 1px solid #CCC;
		border-right:1px solid #CCC;
		text-align:center;
	}
	footer .foot__inBox__spMenu ul li:nth-of-type(3){
		text-align:left;
	}
	
	footer .foot__inBox__company{
		border:none;
		flex-direction: column;
	}
	footer .foot__inBox__company .logo{
		margin-bottom:3%;
	}
	footer .foot__inBox__company .data{
		text-align:center;
	}

	footer .foot__inBox__site ul li{
		width:48%;
		margin:0 1% 3%;
	}

	footer .foot__inBox__bnr{
		flex-direction: column;
		align-items:center;
		
	}
	footer .foot__inBox__bnr__item:nth-of-type(2){
		margin-left:5%;
	}
	
    /*************** footFix ****************/
    footer .footFix {
		bottom: 80px;
	}

    /*************** bottomFix ****************/
    footer .bottomFix {
        position: fixed;
        background: #fff;
        bottom: 0;
        width: 100%;
        z-index: 200;
    }
    footer .bottomFix__inBox {
        display: flex;
        justify-content: center;
        align-items: center;
    }
	footer .bottomFix__inBox__item{
		width:50%;
		position:relative;
		background:var(--color-main);
	}
	footer .bottomFix__inBox__item.item02{
		background:#eb5e00;
	}
	footer .bottomFix__inBox__item a{
		display:block;
		text-align:center;
		padding:10px;
	}
	footer .bottomFix__inBox__item img{
		height:100%;
		max-height:50px;
		max-width:100%;
		object-fit: contain;
	}
	footer .bottomFix__inBox__item a::after{
		content:"";
		display:block;
		width:100%;
		height:50%;
		background:rgba(255,255,255,.1);
		position:absolute;
		top:0;
		left:0;
	}
} /* スマホ版ここまで --------------------------------------- */