/*
	Theme Name: saneishoji
	Description: 三栄商事株式会社 WordPress Theme
	Author: H.Shiina
	Version: 0.1
*/


/* -------------------------------------------------------　

	Main CSS

---------------------------------------------------------- */

html {
	height: 100%;
}

body {
	font-family: "Hiragino Kaku Gothic ProN", "メイリオ", sans-serif;
	font-size: 18px;
	line-height: 1.5em;
	padding: 0;
	text-align: left;
	background: #fff;
	overflow-x: hidden;
	color: #000000;
	background-color: #fff;
	height: 100%;
}

.font-caption-min {
	font-size: 14px;
}

.font-caption-min2 {
	font-size: 12px;
}

.font-caption {
	font-size: 16px;
}

.font-normal {
	font-size: 18px;
}

.font-large {
	font-size: 21px;
}

.font-midashi-s {
	font-size: 24px;
}

.font-midashi-m {
	font-size: 26px;
}

.font-midashi-l {
	font-size: 32px;
}

.font-title {
	font-size: 37px;
}

.font-title-l {
	font-size: 46px;
}

.font-title-m {
	font-size: 46px;
}

.font-gothic {
	font-family: "Hiragino Kaku Gothic ProN", "メイリオ", sans-serif;
}

.font-mincho {
	font-family: "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "ＭＳ Ｐ明朝", "MS PMincho", serif;
}

.font-en1 {
	font-family: 'Playfair Display', serif;
	letter-spacing: 0.1em;
}

.font-shimanami {
	font-family: "しまなみ", serif;
}

.fontbold {
	font-weight: bold;
}

.fontnormal {
	font-weight: normal;
}

.blueCaptionLight {
	color: #52c1ff;
}

.blueCaption {
	color: #0082cb;
}

.blueCaptionDark {
	color: #005280;
}

.grayCaption {
	color: #424242;
}

.grayCaptionDark {
	color: #141414;
}

.pinkCaption {
	color: #d95375;
}

.whiteCaption {
	color: #ffffff;
}

.yellowCaption {
	color: #fcff00;
}

.brownCaption {
	color: #594941;
}

.bglightGray {
	background: #f6f6f6;
}

.bglightGray2 {
	background: #f9f9f9;
}

.bgDarkGray {
	color: #ffffff;
	background: #424242;
}

.bgBlue {
	color: #ffffff;
	background: #0082cb;
}

.bgWhite {
	background: #ffffff;
}

.bgPink {
	color: #ffffff;
	background: #d95375;
}

.bgBrown {
	color: #ffffff;
	background: #a4917b;
}


/* PC・SP 表示切り替え */

.pconly {
	display: inline-block !important;
}

.sponly {
	display: none !important;
}

.blockpconly {
	display: block !important;
}

.blocksponly {
	display: none !important;
}


/* スペースを入れたいとき */

span.blnk {
	display: inline-block;
	width: 0.5rem;
}


/* リンク設定 */

a:link {
	color: #004eff;
	text-decoration: none;
}

a:visited {
	color: #8400ff;
	text-decoration: none;
}

a:hover {
	color: #004eff;
	text-decoration: underline;
}

a:active {
	color: #004eff;
	text-decoration: none;
}


/* ブロックリンク */

.blocklink {
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	overflow: hidden;
}


/* ページ内リンク設置用 */

section.linkanchor {
	display: block;
	padding-top: 100px;
	margin-top: -100px;
}


/* = ▼ 全体共通のレイアウトCSS
---------------------------------------------------------- */

.headerWrapper {
	width: 100%;
}

.headerInner {
	width: 1200px;
	margin: 0 auto;
	position: relative;
}

.contentWrapper {
	width: 100%;
}

.contentInner {
	width: 1200px;
	margin: 0 auto;
	position: relative;
}

@media screen and (max-width: 1200px) {
	.contentInner {
		width: 100%;
	}
}


/* ----------------------------------------------------------
	header
---------------------------------------------------------- */


/* = ▼ グローバルナビ
---------------------------------------------------------- */

#headerNaviWrapper {
	z-index: 9999;
	position: absolute;
	background: transparent;
}

#headerNavi {
	background: #ffffff;
	float: right;
	z-index: 10000;
	display: block;
	width: 1160px;
	position: absolute;
	right: 0;
	top: 40px;
	animation-name: fade-mainnavi;
	animation-duration: 5s;
	-webkit-filter: drop-shadow(1px 3px 5px rgba(169, 169, 169, 0.3));
	-moz-filter: drop-shadow(1px 3px 5px rgba(169, 169, 169, 0.3));
	-ms-filter: drop-shadow(1px 3px 5px rgba(169, 169, 169, 0.3));
	filter: drop-shadow(1px 3px 5px rgba(169, 169, 169, 0.3));
}

@media screen and (min-width: 1200px) {

	/* （画面幅1200px超のとき） */
	#headerNavi {
		margin-left: calc((100vw - 1160px)/2);
		width: calc(1160px + ((100vw - 1160px)/2));
	}
}


/* メニューUL */

nav#headerNavi ul {
	*zoom: 1;
	list-style-type: none;
	margin: 0;
	padding: 0;
	height: 80px;
	display: flex;
	flex-wrap: wrap;
	background: #000000;
}

nav#headerNavi ul li {
	position: relative;
	display: inline-block;
	text-align: center;
	vertical-align: middle;
	box-sizing: border-box;
}

nav#headerNavi ul li.menu-item {
	padding: 0 8px;
}

nav#headerNavi ul li.item1 {
	padding-left: 60px;
}

@media screen and (max-width: 1300px) {
	nav#headerNavi ul li.item1 {
		padding-left: 40px;
	}
}

@media screen and (max-width: 1260px) {
	nav#headerNavi ul li.item1 {
		padding-left: 24px;
	}
}

nav#headerNavi ul li a,
nav#headerNavi ul li p {
	display: table-cell;
	vertical-align: middle;
	height: 80px;
	font-weight: bold;
	color: #ffffff;
}

nav#headerNavi ul li a:hover {
	color: #ffffff;
	text-decoration: none;
}

nav#headerNavi ul li a:visited {
	color: #ffffff;
	text-decoration: none;
}

nav#headerNavi ul li a:active {
	color: #ffffff;
	text-decoration: none;
}

nav#headerNavi ul li span.subtitle {
	display: block;
	font-size: 9px;
	color: #0082cb;
	padding: 0 4px;
	line-height: 1.3rem;
	font-weight: 600;
}

nav#headerNavi ul li:hover span.subtitle {
	background: #0082cb;
	color: #000000;
}

nav#headerNavi ul li .current span.subtitle {
	background: #0082cb;
	color: #000000;
}


/* PC/スマホ切り替え */

nav#headerNavi ul li.hide-sp {
	display: inline-block;
}

nav#headerNavi ul li.hide-pc {
	display: none;
}

nav#headerNavi ul li a.hide-sp,
nav#headerNavi ul li p.hide-sp {
	display: table-cell;
}

nav#headerNavi ul li a.hide-pc,
nav#headerNavi ul li p.hide-pc {
	display: none;
}


/* ロゴ */

nav#headerNavi ul li.logoBox {
	background: #fff;
	padding-left: 24px;
	padding-right: 32px;
}

nav#headerNavi ul li.logoBox img {
	height: 30px;
	width: auto;
	margin-top: 8px;
}

@media screen and (max-width: 1260px) {
	nav#headerNavi ul li.logoBox {
		padding-left: 16px;
		padding-right: 24px;
	}
}

@media screen and (max-width: 1200px) {
	nav#headerNavi ul li.logoBox {
		display: none;
	}

	nav#headerNavi ul {
		justify-content: space-between;
	}
}


/* fixed */

.headerNaviFixed {
	position: fixed !important;
	width: 100% !important;
	right: 0 !important;
	top: 0 !important;
	padding-left: calc((100vw - 1200px)/2) !important;
}


/*@media screen and (min-width: 1200px) { */


/* （画面幅1200px超のとき） */


/*	.headerNaviFixed {
		margin-left: calc((100vw - 1200px)/2) !important;
    	width: calc(1200px + ((100vw - 1200px)/2)) !important;
	}
} */


/* サブメニュー */

nav#headerNavi ul li ul.sub-menu {
	list-style: none;
	position: absolute;
	margin: 0;
	padding: 0;
	width: 200%;
	left: -50%;
	height: 0;
}

nav#headerNavi ul li ul.sub-menu1 {
	z-index: 10002;
}

nav#headerNavi ul li ul.sub-menu2 {
	z-index: 10001;
}

nav#headerNavi ul li ul.sub-menu li {
	width: 100%;
	color: #ffffff;
	background: #0082cb;
	text-align: center;
}

nav#headerNavi ul li ul.sub-menu li a {
	display: table-cell;
	text-align: center;
	vertical-align: middle;
	width: 200px;
	/* 実際のwidthより広い幅を指定 */
	height: 80px;
	font-weight: bold;
}


/* dropdown のアニメーション */

nav#headerNavi ul li ul.sub-menu li {
	overflow: hidden;
	height: 0;
	transition: .5s;
}

nav#headerNavi ul li:hover ul.sub-menu li {
	overflow: visible;
	height: 80px;
}

nav#headerNavi ul li:hover ul.sub-menu:before {
	content: "";
	position: absolute;
	top: -21px;
	left: 50%;
	margin-left: -15px;
	border: 6px solid transparent;
	border-bottom: 15px solid #0082cb;
}

nav#headerNavi ul li ul.sub-menu li:hover a {
	text-decoration: : underline;
}


/* スマホ：開いた状態のメニュー */

nav#headerNavi ul li ul.sub-open {
	position: relative;
	height: initial;
	width: 100%;
	left: 0;
}

nav#headerNavi ul li ul.sub-open li a {
	width: 100%;
}


/* ヘッダ Xアイコン PC 2024年10月10日 */

@media screen and (min-width: 769px) {
	body nav#headerNavi ul li.logoBox {
		width: 475px;
		display: flex;
		align-items: center;
	}

	body nav#headerNavi ul li.logoBox .logoBox__logo {
		display: block;
		margin-right: 50px;
		height: auto;
	}

	body nav#headerNavi ul li.logoBox .logoBox__logo img {
		margin-top: 0;
	}

	body nav#headerNavi ul.menu .logoBox__x {
		display: block;
		width: 40px;
		height: 40px;
	}

	body nav#headerNavi ul.menu .logoBox__x img {
		width: 100%;
		height: auto;
		margin-top: 0;
	}
}




/* ウインドウサイズ 1200pxから、 コーポレートロゴがマークのみになる */

@media screen and (max-width: 1200px) {
	body nav#headerNavi ul li.logoBox {
		width: auto;
		justify-content: center;
	}

	body nav#headerNavi ul li.logoBox .logoBox__logo {
		display: block;
		margin-right: 20px;
		height: auto;
	}
}


/* ヘッダ Xアイコン SP 2024年10月10日 */

@media screen and (max-width: 768px) {
	body #headerNaviWrapper {
		display: flex;
		align-items: center;
	}

	body #headerNaviWrapper .sp-toplogo {
		/* 2024年10月10日 Sugawara： コーポレートロゴのpos:absoluiteを解除 */
		position: relative;
		top: 0;
		transform: none;
		margin-right: 15px;
	}

	body #headerNaviWrapper .sp-toplogo__x {
		/* width: 40px; */
		width: 30px;
		height: 30px;
		margin-left: auto;
		margin-right: 70px;
		/*
		SPの、Xロゴのサイズ：
		本当は40pxだが（PSD上では40pxとなっている）、
		PSDでヘッダの高さが75pxのところ、ブラウザには50pxと設定されている。
		PSDのデザインにサイズ感を寄せるために、Xロゴを30pxとした。 */
	}
}

@media screen and (min-width: 769px) {
	body #headerNaviWrapper .sp-toplogo__x {
		display: none;
	}
}


/* ----------------------------------------------------------
	footer
---------------------------------------------------------- */

#toTop {
	display: inline-block;
	width: 24px;
	height: 24px;
	margin: 0 10px;
	border-top: 2px solid #0082cb;
	border-left: 2px solid #0082cb;
	transform: rotate(45deg);
	position: fixed;
	bottom: 56px;
	right: 24px;
	opacity: 0;
	transition: 2.5s;
}


/* = ▼ footerContact
 ------------------------------ */

#footerContactWrapper {
	margin: 30px 0;
}

#footerContactBk {
	background-repeat: no-repeat;
	background-size: cover;
	background-position: left bottom;
	width: 100%;
	height: 300px;
	background-image: url("../../images/footer/contact-bg.png");
	float: right;
	display: block;
}

#footerContactBk-brown {
	background-repeat: no-repeat;
	background-size: cover;
	background-position: left bottom;
	width: 100%;
	height: 300px;
	background-image: url("../../images/footer/contact-bg-brown.png");
	float: right;
	display: block;
}

#footerContactBk-pink {
	background-repeat: no-repeat;
	background-size: cover;
	background-position: left bottom;
	width: 100%;
	height: 300px;
	background-image: url("../../images/footer/contact-bg-pink.png");
	float: right;
	display: block;
}

@media screen and (min-width: 1200px) {

	/* （画面幅1200px超のとき） */
	#footerContactBk {
		margin-left: calc((100vw - 1200px)/2);
		width: calc(1200px + ((100vw - 1200px)/2));
	}

	#footerContactBk-brown {
		margin-left: calc((100vw - 1200px)/2);
		width: calc(1200px + ((100vw - 1200px)/2));
	}

	#footerContactBk-pink {
		margin-left: calc((100vw - 1200px)/2);
		width: calc(1200px + ((100vw - 1200px)/2));
	}
}


/* H2 */

#footerContactBox h2 span {
	display: block;
	line-height: 1.7rem;
	margin-top: 16px;
}

#footerContactBox .flexBox .tbox {
	width: 560px;
}

#footerContactBox .flexBox .tbox h2 {
	display: table-cell;
	height: 300px;
	vertical-align: middle;
	text-align: center;
	width: 560px;
}

#footerContactBox .flexBox .content {
	width: 640px;
	padding-left: 20px;
}

#footerContactBox .flexBox .content ul {
	display: table-cell;
	height: 300px;
	vertical-align: middle;
}

#footerContactBox .flexBox .content li {
	padding-bottom: 16px;
}

#footerContactBox .flexBox .content li.margin {
	padding-bottom: 40px;
}

#footerContactBox .flexBox .content li span {
	display: inline-block;
}

#footerContactBox .flexBox .content li span.label {
	width: 250px;
}

#footerContactBox .flexBox .content li span.telno {
	padding-left: 8px;
}

#footerContactBox .flexBox .content li span.button {
	border: 1px solid #fff;
	width: 560px;
	padding-top: 24px;
	padding-bottom: 24px;
	text-align: right;
}

#footerContactBox .flexBox .content li span.button img {
	padding-left: 8px;
}

#footerContactBox .flexBox .content li span.button span {
	margin-right: -40px;
}

#footerContactBox .flexBox .content a {
	color: #fff;
	text-decoration: none;
}

#footerContactBox .flexBox .content a:link {
	color: #fff;
	text-decoration: none;
}

#footerContactBox .flexBox .content a:visited {
	color: #fff;
	text-decoration: none;
}

#footerContactBox .flexBox .content a:hover {
	color: #fff;
	text-decoration: none;
}

#footerContactBox .flexBox .content a:active {
	color: #fff;
	text-decoration: none;
}

@media screen and (max-width: 1200px) {
	#footerContactBox .flexBox .tbox {
		width: 40%;
	}

	#footerContactBox .flexBox .content {
		width: 60%;
	}
}


/* = ▼ footer
 ------------------------------ */

#footerWrapper {
	position: relative;
	padding-top: 30px;
	padding-bottom: 56px;
	text-align: center;
}


/* footerBannerBox */

#footerBannerBox {
	margin-top: 30px;
	margin-bottom: 30px;
	padding-right: 60px;
	padding-left: 60px;
}

#footerBannerBox ul {
	padding: 0;
	display: flex;
	justify-content: space-between;
}

#footerBannerBox ul li {
	display: inline-block;
	position: relative;
	width: 19%;
	height: 120px;
}

#footerBannerBox ul li img {
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	margin: auto;
}

@media screen and (max-width: 1200px) {
	#footerBannerBox {
		padding-right: 8px;
		padding-left: 8px;
	}
}


/* Logo */

#footerLogo img {
	width: 170px;
	height: auto;
	margin-top: 30px;
}


/* footerNavi */

#footerNavi {
	margin-top: 30px;
	margin-bottom: 30px;
}

#footerNavi ul {
	*zoom: 1;
	margin-bottom: 30px;
	padding: 0;
}

#footerNavi ul li {
	display: inline-block;
	text-align: center;
	padding: 0 8px;
	position: relative;
}

#footerNavi ul.links a {
	color: #000000;
	text-decoration: none;
}

#footerNavi ul.links a:link {
	color: #000000;
	text-decoration: none;
}

#footerNavi ul.links a:visited {
	color: #000000;
	text-decoration: none;
}


/* ISO */

ul#footerISO {
	margin: 30px 60px;
}

ul#footerISO li {
	display: inline-block;
	text-align: left;
	vertical-align: top;
}

ul#footerISO li:nth-of-type(1) {
	width: 100px;
}

ul#footerISO li:nth-of-type(1) img {
	width: 94px;
	height: auto;
}

ul#footerISO li:nth-of-type(2) {
	width: 480px;
	padding-left: 8px;
}

ul#footerISO li:nth-of-type(3) {
	width: 70px;
	text-align: center;
}

ul#footerISO li:nth-of-type(3) img {
	width: 52px;
	height: auto;
}

ul#footerISO li:nth-of-type(4) {}

@media screen and (max-width: 1200px) {
	ul#footerISO li:nth-of-type(2) {
		width: 40%;
	}

	ul#footerISO li:nth-of-type(4) {
		width: 30%;
	}
}


/* フッタ Xアイコン */
#footerNavi ul {
	margin-bottom: 0;
}

.ft-nav__x {
	display: block;
	width: 40px;
	max-width: 99%;
	margin: 0 auto;
	margin-top: 10px;
	margin-bottom: 14px;
}

@media screen and (min-width: 769px) {
	.ft-nav__x {
		display: block;
		width: 40px;
		max-width: 99%;
		margin: 0 auto;
		margin-top: 25px;
		margin-bottom: 26px;
	}
}

/* = ▼ copyright
 ------------------------------ */

#copyright {
	text-align: center;
	font-size: 11px;
	letter-spacing: 0.1rem;
}