html {
	overflow-y: scroll;
}

body {
	line-height: 1;
	overflow: hidden;
	-webkit-text-size-adjust: 100%;
}

h1 {
	font-size: 140%;
	margin-bottom: 30px;
}

h1.site-title {
	margin-bottom: 0;
	font-size: 100%;
}

article,aside,details,figcaption,figure,
footer,header,hgroup,menu,nav,section {
	display: block;
}

nav ul {
	list-style: none;
}

blockquote,
q {
	quotes: none;

}

blockquote:before,
blockquote:after,
q:before,
q:after {
	content: '';
	content: none;
}
	
a {
	font-size: 100%;
	color: #235d39;
	margin: 0;
	padding: 0;
	text-decoration: none;
	vertical-align: baseline;
	background: transparent;
	-webkit-transition: 0.4s ease-in-out;
	-moz-transition: 0.4s ease-in-out;
	-o-transition: 0.4s ease-in-out;
	transition: 0.4s ease-in-out
}

a:hover {
	color:#f00;
}

ins {
	text-decoration: none;
	color: #000;
	background-color: #ff9;
}

mark {
	font-weight: bold;
	font-style: italic;
	color: #000;
	background-color: #ff9;
}

del {
	text-decoration: line-through;
}

abbr[title],
dfn[title] {
	cursor: help;
	border-bottom: 1px dotted;
}

table {
	border-spacing: 0;
	border-collapse: collapse;
}

hr {
	display: block;
	height: 1px;
	margin: 1em 0;
	padding: 0;
	border: 0;
	border-top: 1px solid #ccc;
}

.form_midashi {
	font-family: '新ゴ R', 'Lato', 'Noto Sans JP', 'ヒラギノ角ゴ ProN', 'Hiragino Kaku Gothic ProN', 'メイリオ', Meiryo, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
	font-size: 1.1rem;
}

input[type=submit], input[type=button] {
	-webkit-appearance: none;
	box-sizing: border-box;
	margin: 0;
	font-family: '中ゴシックBBB' 'メイリオ', 'Meiryo', 'ヒラギノ角ゴ Pro', 'Hiragino Kaku Gothic Pro', 'Noto Sans Japanese', Osaka, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
	font-weight: bold;
	font-size: 1rem;
	width: 160px;
	height: 70px;
	border: none;
	border-radius: 0;
	margin: 0;
	background-color: #235d39;
	color: #fff;
	cursor: pointer;
}

input[type=text], input[type=email], input[type=date], input[type=tel], textarea {
	-webkit-appearance: none;
	box-sizing: border-box;
	border-radius: 0;
	font-family: 'Lato', 'Noto Sans JP', 'ヒラギノ角ゴ ProN', 'Hiragino Kaku Gothic ProN', 'メイリオ', Meiryo, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;	border: 2px solid #999;
	margin: 5px 0;
	padding: 8px;
	font-size: 1.2rem;
	width: 100%;
}

input[type=checkbox] {
	-webkit-appearance: none;
	opacity:0;
	appearance: none;
	position: absolute;
}

input[type="checkbox"] + span::before {
	display: inline-block;
	position: relative;
	top: 4px;
	content: '';
	width: 1rem;
	height: 1rem;
	border: 2px solid #235d39;
	border-radius: 0;
	margin-right: .5rem;
}

input.wpcf7c-conf-hidden + span::before {
	display: inline-block;
	position: relative;
	top: 4px;
	background-color: #e8f0fe;
	content: '';
	width: 1rem;
	height: 1rem;
	border: 2px solid #333;
	border-radius: 0;
	margin-right: .5rem;
}

input[type="checkbox"]:checked + span::before {
	background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpolyline fill='none' stroke='%23000' stroke-width='3' points='2,7.3 7.3,12.7 18,2 '/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: 0 2px;
}

input.wpcf7c-conf-hidden + span::before, input.wpcf7c-conf + span::before {
	display: none;
}

span.wpcf7-list-item {
	margin: 0 !important;
}

.radio-block span.wpcf7-list-item {
    display: block;
}

.form_wrap {
	width: 70%;
	margin: 0 auto;
}

.framing {
	position: relative;
	max-width: 100%;
	margin-bottom: 2rem;
	overflow: hidden;
}

#top_bar,#bottom_bar {
	font-size: 1px;
	line-height: 1em;
	height: 12px;
	background-color: #ff0000;
}

/* サイト全体の基準 */
	
html {
	font-size: 16px;
}

body {
	font-family: '新ゴ R', 'Lato', 'Noto Sans JP', 'ヒラギノ角ゴ ProN', 'Hiragino Kaku Gothic ProN', 'メイリオ', Meiryo, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
	line-height: 1.6;
	margin: 0;
	padding: 0;
	color: #333;
	background-color: #eae9d9;
}

.normal_gothic {
	font-family: '中ゴシックBBB';
	line-height: 1.3;
	font-size: 0.93rem;
}

h1, h2, h3, h4, h5, h6 {
	font-weight: bold;
	color: #000;
}
	
img {
	max-width: 100%;
	height: auto;
	margin-bottom: 0!important;
}

.centering {
	margin: 0 auto
}

.no-break {
	display: inline-block
}

.hidden {
	visibility: hidden;
}

.red {
	color: #ff0000!important;
}

.blue {
	color: #0000cc!important;
}

.stealth {
	color: transparent;
	user-select: none;
}

.txt0_7 {
	font-size: 0.7rem!important;
}

.txt0_8 {
	font-size: 0.8rem!important;
}

.txt1_1 {
	font-size: 1.1rem!important;
}

.txt1_2 {
	font-size: 1.2rem!important;
}

.txt1_3 {
	font-size: 1.3rem!important;
}

.txt1_4 {
	font-size: 1.4rem!important;
}

.txt1_5 {
	font-size: 1.5rem!important;
}

h5.form_label {
	margin-left: 2%!important;
	margin-top: 20px!important;
}

.wpcf7-list-item-label {
	font-size: 15px;
	font-family: Shin Go Regular;
}

.contact_item{
	border-bottom: dashed 1px #cccccc;
	padding: 0 2% 20px;
}

.search_general {
	position: relative;
	width: 220px;
	height: 26px;
	margin: 0 43%;
}

.p_general {
	margin: 30px 0;
}

.pc_appear {
	display: inline;
}

.pc_appear_b {
	display: block;
}

.mobile_appear, .mobile_appear_b {
	display: none;
}

.widget_d {
	display: block;
	line-height: 1;
	box-shadow: 1px 1px 3px #333;
}

.widget_m {
	display: none;
}

a.important_link {
	color: #cc0000;
	-webkit-transition: 0.2s ease-in-out;
	-moz-transition: 0.2s ease-in-out;
	-o-transition: 0.2s ease-in-out;
	transition: 0.2s ease-in-out
}

a.important_link:hover {
	opacity: .6;
	text-decoration: underline;
}

div.page_pre {
	float: left;
	width: 120px;
	text-align: center;
	margin: 0 0 0 5%;
	padding: 10px;
	border-radius: 5px;
	box-sizing: border-box;
	color: #ffffff;
	background-color: #333;
	-webkit-transition: 0.2s ease-in-out;
	-moz-transition: 0.2s ease-in-out;
	-o-transition: 0.2s ease-in-out;
	transition: 0.2s ease-in-out
}

div.page_next {
	float: right;
	width: 120px;
	text-align: center;
	margin: 0 5% 0 0;
	padding: 10px;
	border-radius: 5px;
	box-sizing: border-box;
	color: #ffffff;
	background-color: #333;
	-webkit-transition: 0.2s ease-in-out;
	-moz-transition: 0.2s ease-in-out;
	-o-transition: 0.2s ease-in-out;
	transition: 0.2s ease-in-out
}

div.page_pre:hover {
	color: #fff;
	background-color: #a1e192;
}

div.page_next:hover {
	color: #fff;
	background-color: #a1e192;
}

div.rc-anchor-alert {
	visibility: hidden;
}

/* 各コンテンツフレームサイズ指定 */

.header-inner, .footer-inner {
	box-sizing: border-box;
	max-width: 1200px;
	margin-right: auto;
	margin-left: auto;
	padding: 1.5rem 1% 1.5rem;
}

.container {
	box-sizing: border-box;
	max-width: 1200px;
	margin: 50px auto 0;
	padding: 1.25rem;
}

.container_top {
	box-sizing: border-box;
	max-width: 1200px;
	margin: 50px auto 0;
	padding: 70vh 1.25rem 1.25rem;
}

.footer-inner {
	box-sizing: border-box;
	margin-right: auto;
	margin-left: auto;
	padding: 1.5rem 1%;
}

/* 各コンテンツフレーム基本配置 */

header {
}

.container:after {
	display: block;
	clear: both;
	content: '';
}

.contents {
	width: 100%;
	max-width: 1040px;
	margin: 0 auto 40px;
	padding: 1%;
	box-sizing: border-box;
}

.sidebar {
	display: none;
}

.sidebar-inner {
	margin-top: 81px;
}

footer {
	overflow: hidden;
}

.linespace_50 {
	height: 50px;
}

.linespace_40 {
	height: 40px;
}

.linespace_30 {
	height: 30px;
}

.linespace_20 {
	height: 20px;
}

.linespace_10 {
	height: 10px;
}

.redstrong {
	font-weight: bold;
	color: #ff0000;
}

.underline {
	text-decoration: underline;
}

.align_right {
	text-align: right;
}

.align_center {
	text-align: center;
}

img.photo_shadow {
	box-shadow: 2px 2px 4px #000;
}

.clearfix {
	content: "";
	display: block;
	clear: both
}

.toumei {
	color: rgba(255,255,255,0);
}

.grecaptcha-badge {
	visibility: hidden;
}

/* キャプションセンタリング */

figcaption#caption-attachment-1149,
figcaption#caption-attachment-1152,
figcaption#caption-attachment-1165,
figcaption#caption-attachment-1167,
figcaption#caption-attachment-1176,
figcaption#caption-attachment-1177,
figcaption#caption-attachment-1183,
figcaption#caption-attachment-1184,
figcaption#caption-attachment-1185,
figcaption#caption-attachment-1236,
figcaption#caption-attachment-1269,
figcaption#caption-attachment-2274,
figcaption#caption-attachment-2275,
figcaption#caption-attachment-2532 {
	text-align: center;
}

/* サイトタイトル */

.header-inner {
	position: relative;
	z-index: 98;
}

.site-title-wrap {
	float: left;
	text-align: left;
	margin-left: 20px;
}

.site-title a {
	font-weight: bold;
	line-height: 1;
	display: inline-block;
	text-decoration: none;
}

.site-title a img {
	display: inline-block;
	width: 300px;
	height: auto;
}


/* トップページフェードイン */

.fade-in-bg {
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    background: white;
    z-index: 2147484; /* 一番上に配置 */
    opacity: 1;
    animation: fade-out 2s ease-in forwards;
}

/* フェードアウトアニメーション */
@keyframes fade-out {
    0% {
        opacity: 1;
    }
    100% {
        opacity: 0;
        visibility: hidden; /* 完全に消す */
    }
}

/* トップページヘッダー画像 */

.video-background {
    position: fixed; /* スクロールしても動かない */
    top: 0;
    left: 0;
    width: 100vw; /* 画面の幅いっぱい */
    height: 100vh; /* 画面の高さいっぱい */
    overflow: hidden;
    z-index: -1; /* 背景に配置 */
}

.video-background video {
    width: 100vw;
    height: 100vh;
    object-fit: cover; /* 画面いっぱいに広げる */
}

.video-fallback {
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    background: url('https://satoden-sendai.com/wp/wp-content/themes/satoden_2025/img/top_bg_fallback.jpg') center center / cover no-repeat;
    z-index: -2;
  }

/* 各ページヘッダー画像 */

.post-thumbnail {
	position: relative;
	width: 100%;
	height: 60vh;
	margin-top: -100px;
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
	opacity: 0;
	transition: opacity 0.7s ease-in-out;
}

/* ページ読み込み後にフェードイン */
.post-thumbnail.loaded {
    opacity: 1;
}

.title-container {
    position: absolute;
    width: 100%;
    left: 50%;
    bottom: 20%;
    transform: translate(-50%, -50%);
    display: flex;
    justify-content: center;
    align-items: center;
}

/* 6文字未満 */
.title-large {
	font-size: 3rem;
}

/* 6～9文字 */
.title-medium {
	font-size: 3rem;
}

/* 10文字以上 */
.title-small {
	font-size: 3rem;
}

.title-animation {
    position: absolute;
    font-family: Ryumin Bold KL;
    color: #fff;
    opacity: 0.3;
    white-space: nowrap;
}

/* 左向きの潰れ */
.title-left {
    transform: skewX(-90deg) scaleX(1) scaleY(1);
    animation: titleAppearLeft 1.5s cubic-bezier(0.95, 0.05, 0.795, 0.035) forwards;
}

/* 右向きの潰れ */
.title-right {
    transform: skewX(90deg) scaleX(1) scaleY(1);
    animation: titleAppearRight 1.5s cubic-bezier(0.95, 0.05, 0.795, 0.035) forwards;
}

/* センターの潰れ */
.title-center {
    transform: scaleX(10) scaleY(0.1);
    animation: titleAppearCenter 1.5s ease-in forwards;
}

/* 左潰れのアニメーション */
@keyframes titleAppearLeft {
    0% {
        transform: skewX(-90deg);
	opacity: 0.6;
    }
    100% {
        transform: skewX(0);
	opacity: 1;
    }
}

/* 右潰れのアニメーション */
@keyframes titleAppearRight {
    0% {
        transform: skewX(90deg);
	opacity: 0.3;
    }
    100% {
        transform: skewX(0);
	opacity: 1;
    }
}

/* 中央潰れのアニメーション */
@keyframes titleAppearCenter {
    0% {
        transform: scaleX(10) scaleY(0);
	opacity: 0;
    }
    100% {
        transform: scaleX(1) scaleY(1);
	opacity: 1;
	text-shadow:
       2px  2px 1px #000000,
      -2px 2px 1px #000000,
       2px -2px 1px #000000,
      -2px -2px 1px #000000,
       2px  0px 1px #000000,
       0px 2px 1px #000000,
      -2px  0px 1px #000000,
       0px -2px 1px #000000;
    }
}

.line-animation {
    position: absolute;
    left: 0;
    bottom: -10px; /* タイトルの下に配置 */
    background-color: #20ff5c; /* 線の色 */
    width: 0;
    height: 2px;
    content: "";
    animation: drawLine 4s ease-in-out forwards;
}

@keyframes drawLine {
    0% {
        width: 0;
        transform: translateX(0);
        background-color: #002200;    }
    30% {
        width: 0%;
        transform: translateX(0);
        background-color: #005500;    }
    50% {
        width: 100%;
        transform: translateX(0);
        background-color: #20ff5c;
        opacity: 0.5;
    }
    55% {
        width: 100%;
        transform: translateX(0);
        background-color: #ccffdd;
        opacity: 1;
    }
    70% {
        width: 100%;
        transform: translateX(0);
        background-color: #005500;
        opacity: 0.8;
    }
    100% {
        width: 100%;
        transform: translateX(210%); /* 右に通り過ぎる */
        background-color: #000000;
        opacity: 0;
    }
}

.block-animation {
    position: absolute;
    left: 50%;
    bottom: 13px;
    transform: translateX(-50%) scaleY(1);
    background-color: #fff; /* 色 */
    width: 100%;
    height: 1px;
    content: "";
    animation: expandBlock 0.9s ease-in forwards;
}

@keyframes expandBlock {
    0% {
        width: 100%;
        transform: translateX(-50%) scaleY(1);
        opacity: 1;
    }
    60% {
        width: 100%;
        transform: translateX(-50%) scaleY(3);
        opacity: 1;
    }
    80% {
        width: 100%;
        transform: translateX(-50%) scaleY(16);
        opacity: 0.2;
    }
    100% {
        width: 0%;
        transform: translateX(-50%) scaleY(30);
        opacity: 0;
    }
}

/* サイト内検索フォーム */

.searchform-wrap {
	display: none;
	float: right;
	position:relative;
	width: 370px;
	height: 130px;
}

#kanban{
	position: absolute;
	width: 100%;
	height: auto;
	right: 0;
	bottom: 27px;
}

#form{
	position: absolute;
	width: 368px;
	right: 0;
	bottom: 0;
}

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

#s-box {
	-webkit-appearance: none;
	float: left;
	display: table-cell;
	vertical-align: middle;
	border: solid 2px #336633;
	box-sizing: border-box;
	padding-left: 5px;
	width: 310px;
	height: 26px;
	border-radius: 0;
}

#s-btn-area {
	-webkit-appearance: none;
	float: right;
	box-sizing: border-box;
	font-family: 'メイリオ', 'Meiryo', 'ヒラギノ角ゴ Pro', 'Hiragino Kaku Gothic Pro', 'Noto Sans Japanese', Osaka, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
	font-weight: bold;
	width: 54px;
	height: 26px;
	border: none;
	background-color: #336633;
	color: #fff;
}

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

/* ヘッダーメニュー */

#mobile-nav-button, #mobile-nav-button-on {
	display: none;
}

.header-nav-wrap {
	z-index: 214748;
	position: absolute;
	width: 100%;
	background-color: transparent;
	border-bottom: 2px solid #ffffff;
}

.fixed {
	position: fixed;
	top: 0;
}

.header-nav {
	font-size: 0;
	text-align: center;
}

#header-nav-wrap {
    background: transparent;
    transition: all 0.3s ease-in-out; /* なめらかに変化 */
}

/* 固定時のスタイル */
#header-nav-wrap.fixed {
	background: rgba(255, 255, 255, 0.75);
	border-bottom: 1px solid #555;
}

.nav-inner {
	max-width: 1200px;
	margin-right: auto;
	margin-left: auto;
}

.header-nav li {
	font-size: 0.9rem;
	display: inline-block;
	text-align: left;
}

.header-nav li a {
	cursor: pointer;
	font-weight: bold;
	display: block;
	text-decoration: none;
	border-radius: 100px;
	color: #fff;
	text-shadow: 0.1em 0.1em 0.1em #000, -0.1em 0.1em 0.1em #000, 0.1em 0.1em 0.1em #000, -0.1em 0.1em 0.1em #000, 0.1em 0px 0.1em #000, 0px 0.1em 0.1em #000, -0.1em 0px 0.1em #000, 0px -0.1em 0.1em #000;
	padding: 14px 20px;
}

.edging-black {
	text-shadow: 0.1em 0.1em 0.1em #000, -0.1em 0.1em 0.1em #000, 0.1em 0.1em 0.1em #000, -0.1em 0.1em 0.1em #000, 0.1em 0px 0.1em #000, 0px 0.1em 0.1em #000, -0.1em 0px 0.1em #000, 0px -0.1em 0.1em #000;
}

#void {
	height: 48px;
}

/* サブメニュー */

li.menu-item-has-children {
	position: relative;
	display: inline-block;
}
 
.sub-menu {
	display: flex;
	flex-direction: column;
	align-items: stretch;
	visibility: hidden;
	opacity: 0;
	position: absolute;
	min-width: 110px;
	max-width: 250px;
	top: 40px;
	z-index: 500;
	background-color: #336633;
	box-shadow: 2px 2px 2px #000;
	-webkit-transition: all .3s ease;
	transition: all .3s ease;
}
 
li.menu-item-has-children ul li {
	flex: 1;
	white-space: nowrap;
}

/*li.menu-item-has-children:hover ul {
	visibility: visible;
	opacity: 1;
	top: 52px;
}*/

.active {
	visibility: visible;
	opacity: 1;
	top: 45px;
}

li.menu-item-has-children > a::after {
	content: '▼';
	display: inline-block;
	margin-left: 3px;
}

/* メニューリンク色 */
 
.menu li.current-menu-parent > a {
	color: #fff;
	background: #448844;
}

.menu li.current-category-ancestor a {
	color: #fff;
	background: #448844;
}

.menu li.current-post-ancestor a {
	color: #fff;
	background: #448844;
}

.menu li.current-menu-item a {
	color: #d0ff80;
}

.menu li a {
}
 
.menu li a:hover {
	background: rgba(100, 255, 120, 0.5);
}
 
.menu li ul li a {
	background: #336633;
}
 
.menu li ul li a:hover {
	background: rgba(100, 255, 120, 0.5);
}
 
.menu li:hover > a {
	background: rgba(100, 255, 120, 0.5);
}

/* トップページ画像オーバーレイ用絶対位置／相対位置 */

.catch_abs {
	margin: auto;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-570px, 0px);
	width: 500px;
	text-align: left;
	padding: 0 3%;
}

.catch_bold {
	margin: auto;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-570px, -113px);
	width: 500px;
	text-align: left;
	padding: 0 3%;
}

.fadein {
	opacity: 0;
	animation: fadein 2s ease forwards;
}

@keyframes fadein {
	100% {  opacity: 1;}
}
 
/*以下遅延の指定*/

.delay_1 {animation-delay: 2s;}
.delay_2 {animation-delay: 3s;}
.delay_3 {animation-delay: 4s;}
.delay_4 {animation-delay: 5s;}

.scroll_btn {
	display: none;
}

/*パンくずリスト*/

.bread ol {
	margin: 0 0 55px;
	padding: 0;
	list-style: none;
}

.bread li {
	display: inline-block;
}

.bread li a {
	font-size: .9em;
	padding: 5px;
	text-decoration: none;
	color: #333;
}

.bread li a[href]:hover {
	color: #f00;
}

.bread li:after {
	font-size: .7em;
	content: '≫';
	color: #888;
}

.bread li:last-child:after {
	content: none;
}

.bread i {
	font-size: 1em;
}

.bread span {
	display: inline-block;
	text-indent: -9999px;
}

/* トップページキャッチコピー枠 */

#catch_frame {
	height: 70vh;
	padding-top: 31vh;
	text-align: center;
	box-sizing: border-box;
}

#catch_frame h4 {
	font-family: 'Ryumin Bold KL';
	font-size: 3rem;
	color: #fff;
	line-height: 1.3em;
	margin-bottom: 1rem;
}

#catch_frame p {
	font-family: 'Ryumin Bold KL';
	font-size: 1rem;
	color: #fff;
}

.catchphrase {
    position: absolute;
    width: 90%;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    font-size: 2.5rem;
    color: white;
    text-align: center;
}

/* フェードインするspan */
.catchphrase h4 span {
    display: inline-block; /* インライン要素でもアニメーション適用可能にする */
    opacity: 0;
    animation: fade-in_zoom-out 1.2s ease-out forwards;
}

.catchphrase p {
    opacity: 0;
    animation: fade-in 1.1s ease-out forwards;
}

/* 各文字を時間差でフェードイン */
.catchphrase h4 span:nth-child(1) { animation-delay: 3.0s; }
.catchphrase h4 span:nth-child(2) { animation-delay: 3.2s; }
.catchphrase h4 span:nth-child(3) { animation-delay: 3.4s; }
.catchphrase h4 span:nth-child(4) { animation-delay: 3.6s; }
.catchphrase h4 span:nth-child(5) { animation-delay: 3.8s; }
.catchphrase h4 span:nth-child(6) { animation-delay: 4.0s; }
.catchphrase h4 span:nth-child(7) { animation-delay: 4.2s; }
.catchphrase h4 span:nth-child(8) { animation-delay: 4.4s; }
.catchphrase h4 span:nth-child(9) { animation-delay: 4.6s; }
.catchphrase h4 span:nth-child(10) { animation-delay: 4.8s; }
.catchphrase h4 span:nth-child(11) { animation-delay: 5.0s; }
.catchphrase h4 span:nth-child(12) { animation-delay: 6.2s; }
.catchphrase h4 span:nth-child(13) { animation-delay: 6.4s; }
.catchphrase h4 span:nth-child(14) { animation-delay: 6.6s; }
.catchphrase h4 span:nth-child(15) { animation-delay: 6.8s; }
.catchphrase h4 span:nth-child(16) { animation-delay: 7.0s; }
.catchphrase h4 span:nth-child(17) { animation-delay: 7.2s; }
.catchphrase h4 span:nth-child(18) { animation-delay: 7.4s; }
.catchphrase h4 span:nth-child(19) { animation-delay: 7.6s; }
.catchphrase h4 span:nth-child(20) { animation-delay: 7.8s; }
.catchphrase h4 span:nth-child(21) { animation-delay: 8.0s; }
.catchphrase h4 span:nth-child(22) { animation-delay: 8.2s; }
.catchphrase h4 span:nth-child(23) { animation-delay: 8.4s; }
.catchphrase p { animation-delay: 9.6s; }

/* フェードインアニメーション */
@keyframes fade-in_zoom-out {
    0% {
        opacity: 0;
        transform: translateY(20px) scale(1.5);
    }
    100% {
        opacity: 1;
        transform: translateY(0) scale(1);
    }
}

@keyframes fade-in {
    0% {
        opacity: 0;
    }
    100% {
        opacity: 1;
    }
}

/* トップページ新着情報 */

#news_wrap {
	box-sizing: border-box;
	padding: 9px 0 0;
	background-color: transparent;
	margin-bottom: 30px;
}

/* 新着情報枠タイトル文字横並び */

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

#news_title {
	margin-bottom: 30px;
	padding: 10px 10px;
	background-color: transparent;
	border-bottom: 3px solid #fff;
}

#news_title h2 {
	float: left;
	font-weight: bold;
	font-size: 1.4rem;
	line-height: 1em;
	padding: 0;
	text-shadow: 2px 2px 1px #000;
}

.article-content h2.place {
	position: relative;
	display: inline-block;
	height: 54px;
	margin: 3rem 0 1.5rem 30px;
	padding:0 2rem 0 3rem;
	color: #fff;
	background: #336633;
	border: none;
	box-sizing: border-box;
}

.article-content h2.place span {
	line-height: 1em;
	vertical-align: -20%;
}

.article-content h2.place:before {
	position: absolute;
	top: 0;
	left: -30px;
	content: '';
	border-width: 27px 30px 27px 0;
	border-style: solid;
	border-color: transparent #336633 transparent transparent;
	box-sizing: border-box;
}

.article-content h2.place:after {
	position: absolute;
	top: calc(50% - 7px);
	left: -10px;
	width: 14px;
	height: 14px;
	content: '';
	border-radius: 50%;
	background: #fff;
	box-sizing: border-box;
}

.article-content h3.cute {
	position:  relative;
	margin:  0;
	font-size:  24px;
	color: #1b456b;
	padding-top: 5px;
	padding-left: 15px;
	padding-bottom: 5px;
	border: none;
}

.article-content h3.cute:before {
	content: '';
	background-color: #dffae8;
	display: block;
	position: absolute;
	left: -12px;
	height: 94px;
	width: 94px;
	border-radius: 50%;
	top: -17px;
	z-index: -50;
}

.to_newslist {
	float: right;
	font-weight: bold;
	font-size: 13px;
}

#news_title h2 a,.to_newslist a {
	color: #fff;
}

#news_title h2 a:hover, .to_newslist a:hover {
	color: #f00;
}

#news_list_wrap {
	padding: 5px 0 10px;
	background-color: transparent;
}

.news_item:after {
	content: "";
	display: block;
	clear: both
}

.news_item {
	position: relative;
	padding: 10px 0;
	border-bottom: 2px dotted #fff;
	-webkit-transition: 0.2s ease-in-out;
	-moz-transition: 0.2s ease-in-out;
	-o-transition: 0.2s ease-in-out;
	transition: 0.2s ease-in-out
}

.news_item a {
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

.news_item:hover {
	background-color: rgb(115 161 132 / 50%);
}

.news_item_header {
	float: left;
	width: 140px;
	padding-left: 5px;
}

.news_item h3 {
	color: #fff;
	margin-left: 160px;
}

.news_day {
	font-size: 0.85rem;
	color: #fff;
}

.newmark {
	box-sizing: border-box;
	padding: 1px 4px;
	vertival-align: 9%;
	font-size: 12px;
	font-weight: bold;
	color: #fff;
	border-radius: 5px;
	background-color: #ff0000;
}


/* SNS */

.fa-hatena:before {
    font-family: Verdana;
    font-weight: bold;
    content: 'B!';
}

.share {
    margin: 8% 0
}

.share ul {
    margin: 0;
    padding: 0;
    list-style: none;
}

.share ul:after {
    display: block;
    clear: both;
    content: '';
}

.share li {
    float: left;
    width: 20%;
    margin: 0;
}

.share li a {
    font-size: 14px;
    display: block;
    padding: 10px;
    text-align: center;
    text-decoration: none;
    color: #fff;
}

.share li a:hover {
    opacity: .8;
}

.share li a:visited {
    color: #fff;
}

.tweet a {
    background-color: #000000;
}

.facebooklink a {
    background-color: #315096;
}

.line a {
    background-color: #00b900;
}

.pocket a{
    background-color: #EF4156;
}

.hatena a {
    background-color: #008fde;
}

/* 事業内容設備表 */

.equipments {
	border-collapse: collapse;
	width: 100%;
}

.equipments th, .equipments td {
	border: 1px solid #777 !important;
	padding: 4px !important;
	font-family: 中ゴシックBBB;
	line-height: 1.3em;
}

.equipments th {
	background-color: #333;
	color: #fff;
	font-family: 中ゴシックBBB;
	text-align: center;
}

.equipments thead tr {
	border-bottom: 3px double #555;
}

.equipments tr:nth-child(even) {
	background-color: #c6cfba;
}

.equipments td:nth-child(4) {
	text-align: center;
}

/* トップページブログ記事一覧表示 */

.top_titlebar {
	width: 100%;
	height: 38px;
	margin: 8% 0 2%;
	padding: 10px 20px;
	box-sizing: border-box;
	background-color: #a1e192;
}

.top_titlebar h2 {
	float: left;
	line-height: 1em;
	margin: 0;
	padding: 0;
	font-size: 18px;
	color: #fff;
	text-shadow: 2px 2px 1px #000;
}

div.top_rightlink {
	float: right;
	font-weight: bold;
	font-size: 13px;
}

div.top_rightlink a {
	color: #fff;
}

div.top_rightlink a:hover {
	color: #f00;
}

#blog_intro_wrap {
}

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

.blog_list_item {
	float: left;
	position: relative;
	width: 49%;
	height: 400px;
	padding: 10px;
	background-color: #fff;
	margin-bottom: 2%;
	box-sizing: border-box;
}

.blog_list_item:nth-child(odd) {
	margin-right: 2%;
}

.blog_list_item a {
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

div.blog_list_item :hover {
	background-color: rgba(100,255,21,0.8);
	opacity: 0.5;
}

.blog_list_img {
	position: relative;
}

.blog_list_img img {
	width: 100%;
	height: 280px;
	border: 1px solid #ccc;
	object-fit: cover;
}

.blog_list_item_cat {
	position: absolute;
	top: 0px;
	right: 0px;
	padding: .3rem .5rem;
	font-size: .8rem;
	color: #fff;
	background-color: #336633;
}

.blog_list_item_exp {
	padding: 0 3%;
}

.blog_list_item_exp h3 {
	font-size: 1.3rem;
}

.blog_list_day {
	font-size: 1.1rem;
	line-height: 2.3em;
	text-align: right;
}

.blog_list_exerpt {
	font-size: 12px;
	line-height: 1.5em;
}

/* facebookプラグイン */

.facebook-wrapper {
	max-width: 500px;
	margin: 0 auto;
	border-top: solid 10px #305095;
	border-bottom: solid 10px #305095;
	border-left: solid 30px #305095;
	border-right: solid 30px #305095;
	border-radius: 10px;
}
 
.facebook-wrapper > .fb-page {
	width: 100%;
}
 
.facebook-wrapper > .fb-page > span,
.facebook-wrapper iframe {
	width: 100% !important;
}

div#likebox_container {
	width: 100% !important;
	margin: 0 auto;
	text-align: center;
}

/* バナー大 */

.big_banner {
	position: relative;
	height: 175px;
	width: 100%;
	border: solid 1px #999;
	margin: 7% 0 0;
	font-size: 1.5rem;
	font-weight: bold;
	color: #ffffff;
	background-image:url(img/company_button_bg.jpg);
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center 41%;
	-webkit-transition: 0.2s ease-in-out;
	-moz-transition: 0.2s ease-in-out;
	-o-transition: 0.2s ease-in-out;
	transition: 0.2s ease-in-out;
	text-align: center;
	box-sizing: border-box;
}

.big_banner:hover {
	opacity: 0.8;
	transform: scale(1.05,1.05);
}

.big_banner span {
	position: relative;
	top: 4.2rem;
	text-shadow:
       2px  2px 1px #000000,
      -2px 2px 1px #000000,
       2px -2px 1px #000000,
      -2px -2px 1px #000000,
       2px  0px 1px #000000,
       0px 2px 1px #000000,
      -2px  0px 1px #000000,
       0px -2px 1px #000000;
}

.big_banner a {
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

/* サイドバー */

.sidebar-wrapper {
	margin-bottom: 30px;
}

body.home.blog div.sidebar-inner {
	margin-top: 0;
}

.sidebar-title {
	font-size: 1.1rem;
	box-sizing: border-box;
	margin: 0 0 1.2rem;
	padding: .8rem 1rem;
	color: #fff;
	background-color: #a1e192;
}

/* ウィジェット */

.widget_recent_entries ul,
.widget_meta ul,
.widget_recent_comments ul,
.widget_pages ul,
.widget_meta ul,
.widget_categories ul,
.widget_archive ul,
.widget_nav_menu ul,
.calendar_wrap,
.tagcloud {
	list-style: none;
}

.widget_recent_entries li,
.widget_meta li,
.widget_recent_comments li,
.widget_pages li,
.widget_meta li,
.widget_archive li,
.widget_nav_menu li {
	position: relative;
	margin-bottom: .5rem;
}

.widget_recent_entries a,
.widget_meta a,
.widget_recent_comments a,
.widget_pages a,
.widget_meta a,
.widget_categories a,
.widget_archive a,
.widget_nav_menu a {
	text-decoration: none;
	color: #333;
}

.sidebar-wrapper a:hover {
	opacity: .6;
}

/* カテゴリウィジェット */

.widget_categories li {
	display: block;
	margin-bottom: .2rem;
}

.widget_categories li a {
	font-size: .95rem;
	position: relative;
	display: block;
	padding: .9rem .6rem .9rem 2rem;
	color: #333;
}

.widget_categories li a::before {
	font-family: 'Font Awesome 5 Free';
	font-weight: 900;
	position: absolute;
	top: 53%;
	left: .6rem;
	content: '\f02b';
	transform: translateY(-50%);
	color: #333;
}

.widget_categories .children {
	margin-bottom: .5rem;
	padding: 0;
	padding-left: 1rem;
}

.widget_categories .children li {
	margin-bottom: 0;
}

.widget_categories .children li a {
	font-size: .9rem;
	background-color: transparent;
}

.widget_categories .children li a::before {
	position: absolute;
	top: 50%;
	left: .6rem;
	content: '∟';
	transform: translateY(-50%);
	color: #333;
}

/* カテゴリウィジェットとアーカイブウィジェットのドロップダウン表示 */

.widget_categories .screen-reader-text {
	display: none;
}

.widget_archive .screen-reader-text {
	position: relative;
	display: block;
	height: 0;
	text-indent: -9999999px;
}

.widget_categories form {
	position: relative;
}

.widget_categories form::after {
	position: absolute;
	top: 50%;
	right: 1rem;
	content: '▼';
	transform: translateY(-50%);
	pointer-events: none;
}

.widget_categories .postform,
.widget_archive select {
	font-size: .95rem;
	width: 100%;
	padding: 4px 10px;
	cursor: pointer;
	border: 1px solid #e0e3ef;
	border-radius: 0;
	background-color: #f4f5f9;
	-webkit-appearance: none;
	-moz-appearance: none;
}

.widget_archive label::after {
	position: absolute;
	top: .5rem;
	right: 1rem;
	content: '▼';
	text-indent: 0;
	pointer-events: none;
}

/* タグウィジェット */

.tagcloud a {
	font-size: .9rem !important;
	line-height: 1;
	position: relative;
	display: inline-block;
	margin-bottom: .5rem;
	padding: .2rem .5rem;
	text-decoration: none;
	color: #03162f;
	border: 1px solid #000;
	background-color: #fff;
}

/* メニューウィジェット */

.widget_nav_menu li a {
	font-size: 1rem;
	font-weight: bold;
	position: relative;
	padding-left: 1.3rem;
	color: #333;
}

.widget_nav_menu li a::before {
	font-family: 'Font Awesome 5 Free';
	font-weight: 900;
	position: absolute;
	top: 50%;
	left: 0;
	content: '\f105';
	transform: translateY(-50%);
	color: #03162f;
}

/* 最近の投稿 */
	
.widget_recent_entries li {
	padding-bottom: .5rem;
	border-bottom: 1px solid #ddd;
}

.widget_recent_entries li a:before {
	font-family: 'Font Awesome 5 Free';
	font-weight: bold;
	font-weight: 900;
	position: absolute;
	left: 5px;
	content: '\f303';
	color: #000;
}

.widget_recent_entries li a {
	display: block;
	margin-bottom: .3rem;
	padding-left: 1.6rem;
}

.widget_recent_entries .post-date {
	font-size: .8rem;
	display: block;
}

/* カレンダーウィジェット */

.calendar_wrap {
	padding: 1rem;
	border: 1px solid #ddd;
}

.calendar_wrap table {
	width: 100%;
}

.calendar_wrap tbody {
	text-align: center;
}

.calendar_wrap caption {
	font-weight: bold;
	margin-bottom: 1rem;
}

.calendar_wrap td {
	padding: .3rem 0;
}

.calendar_wrap tfoot td {
	padding-top: .7rem;
}

.calendar_wrap tfoot td:last-child {
	text-align: right;
}


/* コンテンツ一覧 */

.archive-top h1 {
	border-bottom: solid 1px #333;
	border-left: solid 7px #333;
	padding: 0 10px;
}

.article-list {
	position: relative;
	margin-bottom: 1rem;
	padding: 1rem;
	background-color: #fff;
	border: 1px solid #ccc;
	border-radius: 2px;
	-webkit-transition: 0.2s ease-in-out;
	-moz-transition: 0.2s ease-in-out;
	-o-transition: 0.2s ease-in-out;
	transition: 0.2s ease-in-out
}

.article-list:hover {
	background-color: #dbfcd3;
}

.article-list :after {
	display: block;
	clear: both;
	content: '';
}

.article-list a {
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

.article-list .img-wrap {
	position: relative;
	float: left;
	line-height: 1;
}

.article-list .img-wrap img {
	width: 150px;
	height: 125px;
	object-fit: cover;
}

.article-list .img-wrap .cat-data {
	font-size: .75rem;
	position: absolute;
	top: 0;
	right: 0;
	padding: .3rem .5rem;
	color: #fff;
	background-color: #235d39;
}

.article-list .text {
	margin-left: 170px;
}

.article-list .text h2 {
	font-size: 1.15rem;
	display: table;
}

.article-list .text .article-date,
.article-list .text .article-author {
	font-size: .75rem;
	font-weight: bold;
	display: inline-block;
	margin-bottom: .5rem;
	color: #888;
}

.article-list .text .article-date {
	margin-right: .5rem;
}

.article-list .text .article-author i {
	margin-right: .3rem;
}

.article-list .text p {
	font-size: .8125rem;
	line-height: 1.7;
}

/* コンテンツ */

.article-content {
	margin-bottom: 2rem;
}

.article-content .article-info {
	margin-bottom: .5rem;
}

.article-content .cat-data a {
	font-size: .8rem;
	margin-right: .5rem;
	padding: .1rem .5rem;
	border-radius: 2px;
	text-decoration: none;
	color: #fff;
	background-color: #235d39;
}

.article-content .article-info .article-date,
.article-content .article-info .article-author {
	font-size: .8rem;
	display: inline-block;
	margin-right: .5rem;
	color: #888;
}

.article-content .article-info .article-author i {
	margin-right: .3rem;
}

.article-content p,
.article-content b,
.article-content table,
.article-content ul,
.article-content ol {
	font-size: 1rem;
	font-family: Reimin Medium;
	line-height: 1.7;
	letter-spacing: 1px;
}

.article-content p,
.article-content img,
.article-content table,
.article-content ul,
.article-content ol {
	margin-bottom: 2rem;
}

.article-content h1 {
	font-size: 1.9rem;
	margin: 0 0 2rem;
	letter-spacing: 1px;
}

.article-content h2 {
	font-size: 1.7rem;
	margin: 2.5rem 0 1.8rem;
	padding: .4rem 0;
	letter-spacing: 1px;
	border-bottom: solid 5px #235d39;
}

.article-content h3 {
	font-size: 1.5rem;
	margin: 2.5rem 0 1.8rem;
	padding: 0 1rem;
	letter-spacing: 1px;
	border-left: solid 7px #415671;
	background: transparent;
}

.article-content h4 {
	font-size: 1.3rem;
	margin: 2rem 0 1rem;
	letter-spacing: 1px;
}

.article-content h5 {
	font-size: 1.1rem;
	margin: 0 0 .3rem;
	letter-spacing: 1px;
}

.article-content .article-img {
	margin-bottom: 2rem;
}

.article-content .article-img img {
	display: block;
	margin: 0 auto;
}

.article-content ul {
	margin-left: 2rem;
	list-style: disc;
}

.article-content ol {
	margin-left: 2rem;
	list-style: decimal;
}

.article-content table {
	border-collapse: collapse;
}

.article-content th,
.article-content td {
	padding: .6rem;
	vertical-align: middle;
	border: 1px solid #ddd;
}

.article-content figure {
	max-width: 100%;
}

.article-tag {
	text-align: right;
}

.article-tag ul {
	font-size: 0;
	margin-bottom: 0;
}

.article-tag ul li {
	font-size: .9rem;
	display: inline-block;
	margin-right: .5rem;
	vertical-align: middle;
}

.article-tag ul li:last-child {
	margin-right: 0;
}

.article-tag ul li a {
	padding: .2rem .5rem;
	text-decoration: none;
	color: #000;
	border: 1px solid #000;
}

.article-tag ul li a:hover {
	opacity: .6;
}

p.article_spacy {
	line-height: 1.8em;
}

/* テキストボタン */

div.textbtn {
	display: block;
	position: relative;
	border-radius: 10px;
	text-align: center;
	width:100%;
	margin: 40px auto 20px;
	padding: 1.2% 5%;
	color: #ffffff;
	font-family: Shin Go Bold, sans-serif;
	font-size: 1.2rem;
	line-height: 1.7em;
	background-color :#235d39;
	box-sizing: border-box;
	-webkit-transition: 0.2s ease-in-out;
	-moz-transition: 0.2s ease-in-out;
	-o-transition: 0.2s ease-in-out;
	transition: 0.2s ease-in-out;
}

div.textbtn:hover {
	background-color: #a1e192;
	transform: scale(1.04,1.04);
}

div.textbtn .linker {
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

/* ページネーション */

.pagination {
	margin: 2rem 0;
	text-align: center;
}

.pagination ul {
	font-size: 0;
}

.pagination ul li {
	font-size: 1rem;
	display: inline-block;
	margin-right: .5rem;
}

.pagination ul li:last-child {
	border: 0;
}

.pagination ul li a,
.pagination .current {
	display: block;
	padding: .5rem .8rem;
	border: 1px solid #333;
}

.pagination ul li .prev,
.pagination ul li .next {
	border: 1px solid #fff;
}

.pagination ul li a {
	text-decoration: none;
	color: #333;
}

.pagination ul li a:hover {
	background-color: #999;
	border: 1px solid #999;
	color: #dbfcd3;
}

.pagination .current {
	color: #fff;
	background-color: #333;
}

/* フッター */

footer {
	background-color: #235d39;
}

.footer-inner {
	color: #fff;
	margin: 0 auto;
	padding: 2rem 1% 1rem;
}

.footer-inner:after {
	content: "";
	display: block;
	clear: both
}

#f_rightside {
	float: right;
}

#contact_btn {
	text-align: center;
}

#contact_btn a {
	display: inline-block;
	background-color: #fff;
	padding: 12px 110px;
	font-family: '新ゴ B';
	font-size: 1.4rem;
	font-weight: bold;
	color: #336633;
}

#contact_btn a i {
	font-size: 28px;
	position: relative;
	top: 3px;
	margin-right: 5px;
}

#contact_btn a:hover {
	background-color: #a1e192;
	color: #fff;
}

#f_tel {
	margin: 0;
	text-align: center;
	line-height: 1.5;
	font-size: 1.3rem;	
}

.free_dial {
	font-size: 13px;
}

.f_tel_no a {
	font-size: 30px;
	color: #a1e192;
	position: relative;
	top: 1px;
}

.f_tel_d {
	font-size: 18px;
	font-family: '中ゴシックBBB';
	text-align: left;
}

.f_tel_d a {
	color: #fff;
}

/* フッターメニュー */

.footer-nav-wrap {
	margin-top: 28px;
}

#footer-nav ul {
	display: flex; /* 横並び */
	margin: 0;
	padding: 0;
	justify-content: center; /* リストを中央配置 */
	align-items: center; /* 縦方向の位置揃え（高さが違う場合も揃う） */
}

#footer-nav ul.menu li {
	float: left;
	box-sizing: border-box;
	line-height: 1em;
	border-left: 1px solid #fff;
}

#footer-nav ul.menu li:last-child {
	border-right: 1px solid #fff;
}

#footer-nav ul.menu li a {
	display: inline-block;
	padding: 0 10px;
	background-color: transparent;
	font-size: 13px;
	color: #fff;
}

#footer-nav ul.menu li a:hover {
	color:#f00;
}

/* フッターメニュー項目を横に並べる */

.footer-nav ul:after {
	content: "";
	display: block;
	clear: both
}

.m-menu-title {
	float: left;
}

.m-menu-credit {
	float: right;
	margin-right: 3px;
	margin-bottom: 0px;
	font-size: 22px;
}

	/* --- ここまで --- */

#credit {
	margin-left: 2%;
}

#f_cname {
	display: inline-block;
	margin-top: 6px;
	font-size: 1.6rem;
	font-weight: bold;
	line-height: 1em;
}

#kyoka {
	display: inline-block;
	font-weight: normal;
	font-size: 0.45rem;
	font-family: '中ゴシックBBB';
}

#f_status {
	margin-top : 8px;
	font-size: 13px;
}

#addressbox {
	
}

#f_address {
	margin-top: 5px;
	font-size: 15px;
	text-align: left;
}

.centerfitbox {
	display: flex;
	justify-content: center;
}

#recaptcha_description {
	margin: 2.5% 2%;
	font-size: 10px;
	font-family: '中ゴシックBBB';
	line-height: 1.3;
	max-width: 520px;
	width: 90%;
}

.cp_return {
	display: none;
}

#recaptcha_description a {
	color:#fff;
	font-weight:bold;
}

#recaptcha_description a:hover {
	color:#f00;
}

#copyright {
	width: 100%;
	margin-top: 8px;
	font-size: 12px;
	font-family: 'UD新ゴ コンデンス90 L';
	text-align: center;
}


/* 検索結果ページ */


article.kiji-list {
	position:relative;
	-webkit-transition: 0.2s ease-in-out;
	-moz-transition: 0.2s ease-in-out;
	-o-transition: 0.2s ease-in-out;
	transition: 0.2s ease-in-out
}

article.kiji-list:hover {
	background-color: #dbfcd3;
}

article.kiji-list .linker {
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

.kiji-list-content {
	box-sizing: border-box;
	padding: 10px 15px;
	border-radius: 2px;
	box-shadow: 1px 1px 3px #333;
	margin-bottom: 20px;
}

h1.search_result {
	font-size: 24px;
	padding: 3px;
	border-bottom: solid 2px #333;
	margin-bottom: 30px;
}

h2.kiji-title {
	font-size: 18px;
	margin-bottom: 7px;
}

.kiji-head {
	margin-bottom: 7px;
}

.kiji-date::before {
	font-family: 'Font Awesome 5 Free';
	font-weight: 900;
	position: relative;
	left: 5px;
	font-size: 14px;
	margin-right: 5px;
	content: '\f303';
	color: #333;
}

.kiji-date{
	font-size: 14px;
	color: #333;
}

.cat-description {
	font-size: 13px;
	padding: 1px 5px;
	margin-left: 5px;
	box-sizing: border-box;
	background-color: #333;
	border-radius: 2px;
	color: #fff;
}

.kiji-main {
	font-size: 15px;
	color: #333;
}

/* 404ページ */

#midashi_404 {
	margin-top: 20px;
	margin-bottom: 30px;
}

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

#sorry_img {
	float:left;
	box-sizing: border-box;
	width: 110px;
	padding: 5px 15px 5px 5px;
}

#sorry_txt {
	float:right;
	width: 100%;
	margin-top: 18px;
	margin-left: -110px;
	padding-left: 110px;
	box-sizing: border-box;
}

h1.not_found {
	text-align: center;
	font-size: 22px;
	background-color: #800000;
	padding: 2px 0px;
	color: #fff;
	margin-bottom: 10px;
}

h2.how_to_search {
	padding: 2px;
	border-radius: 20px;
	box-sizing: border-box;
	text-align: center;
	background-color: #336633;
	color: #fff;
}

span.red_letters {
	color: #cc0000;
}

/* sitemap.php */

.sitemap-top {
	margin: 2rem 0 0 0;
	padding: 0;
	border-bottom: 1px solid #000;
}

.sitemap-top a {
	display: block;
	width: 100%;
	padding: 1.5rem 0.75rem 1.5rem;
	text-decoration: none;
	color: #000;
}

.sitemap-top a:before {
	margin-right: .3rem;
	font-family: FontAwesome;
	font-size: 1.2rem;
	content: '\f015';
	color: #000;
}

.sitemap-tree {
	margin: 2rem 0 0;
}

.sitemap-tree ul {
	margin: 0;
	padding: 0;
	list-style-type: none;
	font-family: 'Lato', 'Noto Sans JP', 'ヒラギノ角ゴ ProN', 'Hiragino Kaku Gothic ProN', 'メイリオ', Meiryo, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
}

.sitemap-tree ul li {
	position: relative
}

.sitemap-tree ul.children li {
	padding-left: 2rem;
}

.sitemap-tree ul li a {
	display: block;
	width: 100%;
	text-decoration: none;
	color: #000;
	border-bottom: 1px solid #000;
	padding: 1.5rem 0.75rem 1.5rem;
	box-sizing: border-box;
}

.sitemap-tree ul li.cat-item a:before {
	margin-right: .3rem;
	font-family: FontAwesome;
	content: '\f07c';
	color: #000;
}

.page-sitemap-tree li a:before {
	margin-right: .5rem;
	font-family: FontAwesome;
	content: '\f016';
	color: #000;
}


/* 会社概要ページ */

h2.cubic {
	margin: 2.5rem 0 1.8rem;
	font-size: 1.85rem;
	font-family: '新ゴ R', 'Lato', 'Noto Sans JP', 'ヒラギノ角ゴ ProN', 'Hiragino Kaku Gothic ProN', 'メイリオ', Meiryo, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
	padding: 0;
	letter-spacing: 1px;
	border: none;
}

h2.cubic::before {
	content: "";
	display: inline-block;
	width: 55px;
	height: 55px;
	background: url(img/cube.gif) no-repeat;
	background-size: contain;
	margin-right: 7px;
	transform: translate(0,16px)
}

.chart_img_1 {
	max-width: 700px;
	margin: 0 auto;
}

.chart_img_2 {
	max-width: 840px;
	margin: 0 auto;
}


/* 商品紹介ページ */

p.p1_sub_catch {
	padding: 0 3% 0 3%; 
	font-size: 18px;
	font-weight: bold;
	color: #993333;
}

h2.p1_midashi {
	border-top: 5px double #cc6633;
	border-bottom: 5px double #cc6633;
	font-size: 24px;
	color: #663300;
	padding: 10px;
	text-align: center;
}

div.pl_box {
	padding: 20px;
	border-radius: 10px;
	background-color: #ffeedd;
}

div.painterlabo {
	margin-bottom: 10px;
	display: table;
}

div.painterlabo_photo {
	display: table-cell;
	width: 50%;
	background-image: url(../../../wp-content/uploads/2020/07/painterlabo.jpg);
	background-position-x: center;
	background-size: cover;
	background-repeat: no-repeat;
}

div.painterlabo_photo img {
	display: none;
	margin-bottom: 0;
	vertical-align: top;
}

div.painterlabo_exp {
	display: table-cell;
	width: 50%;
	padding-right: 10px;
	box-sizing: border-box;

}

div.painterlabo_exp2 {
	font-size: 13px;

}

h3.date_midashi3:before {
	color: #338833;
	content:"\025b6\00A0";
}

h3.date_midashi3 {
	border-left: none;
	border-bottom: solid 3px #333;
	padding-left: 0px;
}

	/* 横並び */

div.horizon_2:after {
	content: "";
	display: block;
	clear: both
}

div.obj_1 {
	float: left;
	width: 50%;
}

div.obj_2 {
	float: right;
	width: 50%;
}

div.obj_1b {
	float: left;
	width: 60%;
}

div.obj_2b {
	float: right;
	width: 40%;
}

	/* --- ここまで --- */

	/* 横並び */

div.date_clear {
	margin-bottom: 20px;
}

div.date_clear:after {
	content: "";
	display: block;
	clear: both
}

div.date_clear_exp {
	float: left;
	width: 70%;
	padding-right: 10px;
	box-sizing: border-box;
}

div.date_clear_photo {
	float: right;
	width: 30%;
}

	/* 横並び */

div.date_amasuji {
	margin-bottom: 20px;
}

div.date_amasuji:after {
	content: "";
	display: block;
	clear: both
}

div.date_amasuji_exp {
	float: left;
	width: 60%;
	padding-right: 10px;
	box-sizing: border-box;
}

div.date_amasuji_photo {
	float: right;
	width: 40%;
}

	/* --- ここまで --- */

div.date_graph_guide {
	width: 100%;
	text-align: right;
	padding-right: 5%;
	box-sizing: border-box;
}

div.date_graph_guide img {
	width: 25%;
	height: auto;
	margin-top: 20px;
	margin-bottom: 5px;
	vertical-align: top;
}

.balloon {
	position: relative;
	margin: 2em 0 2em 40px;
	padding: 15px;
	color: #ffffff;
	background: #1252b1;
	border-radius: 20px;
}

.balloon:before {
	content: "";
	position: absolute;
	left: -39px;
	width: 13px;
	height: 12px;
	bottom: 0;
	background: #1252b1;
	border-radius: 50%;
}

.balloon:after {
	content: "";
	position: absolute;
	left: -23px;
	width: 20px;
	height: 18px;
	bottom: 3px;
	background: #1252b1;
	border-radius: 50%;
}
.balloon p {
	max-width: 500px;
	font-size: 18px;
	margin: 0 auto; 
	padding: 0;
}

.gaina_dis_mincho {
	font-family: 'Noto Serif JP', serif;
	font-weight: bold;
}

.gaina_dis_mincho p{
	font-size: 22px;
	padding: 3% 5%;
	margin-bottom: 3%;
}

p.flame_txt {
	font-size: 18px;
	margin-bottom: 0;
}

h2.gaina_example {
	position: relative;
	padding: 0.3em 0.5em 0.3em 2em;
	line-height: 1.4;
	color: #fff;
	background: #415671;
	border: none;
}

h2.gaina_example:before {
	font-family: "Font Awesome 5 Free";
	content: "\f138";
	font-weight: 900;
	position: absolute;
	font-size: 1em;
	left: 0.75em;
	top: 0.3em;
	color: #fff;
}

h3.gaina_example_item {
	font-size: 24px;
	font-weight: bold;
	color: #333333;
	border: none;
	padding: 0 2%;
	margin: 0px 1% 5px;
}

/* .ex_right_columnと.ex_left_columnを横に並べる設定 */

.gaina_example_box {
	font-size: 15px;
	margin: 0;
}

.gaina_example_box:after {
	content: "";
	display: block;
	clear: both
}

.ex_right_column{
	float: right;
	width: 47%;
	margin-right: 0px;
	padding: 5px;
	-moz-box-sizing: border-box;
	-webkit-box-sizing: border-box;
	box-sizing: border-box
}

.ex_right_column > figure {
	margin: 6px
}

.ex_right_column > figure a, .ex_img_thumb a {
	-webkit-transition: 0.2s ease-in-out;
	-moz-transition: 0.2s ease-in-out;
	-o-transition: 0.2s ease-in-out;
	transition: 0.2s ease-in-out
}

.ex_right_column > figure a:hover, .ex_img_thumb a:hover {
	opacity: 0.6
}

.ex_left_column {
	float: right;
	padding: 10px 1.5% 5px 10px;
	margin: 0px;
	width: 53%;
	-moz-box-sizing: border-box;
	-webkit-box-sizing: border-box;
	box-sizing: border-box
}

.ex_left_column p {
	margin: 0px 4%
}

h4.std_b {
	margin: 0px 0px 5px;
	padding: 0px 4%;
	border-bottom: solid 2px #333;
	font-weight: normal;
	font-size: 15px;
	color: #333
}

.ex_right_column img{
	max-width: 100%;
	height: auto
}

dl.bukken {
	margin: 10px 4% 15px;
}

dl.bukken:after {
	content: "";
	display: block;
	clear: both
}

dl.bukken dt {
	float: left;
	margin: 0px;
	padding: 0px;
	width: 90px
}

dl.bukken dd {
	float: none;
	margin: 3px 0px 3px 90px;
	padding: 0px;
	width: auto
}

span.three_letters {
	letter-spacing: 0.5em;
}

.gaina_thermo_h {
	display: block;
	margin-top: 20px;
}

.gaina_thermo_v {
	display: none;
}

.def_line_w {
	width: 100%;
	overflow: hidden;
	border-top: dashed 1px #333;
}

.def_line_w dt {
	width: 25%;
	float: left;
	padding: 1.3rem 1%;
	-moz-box-sizing: border-box;
	-webkit-box-sizing: border-box;
	box-sizing: border-box
}

.def_line_w dd {
	padding: 1.3rem 1rem 1.3rem 20%;
	border-bottom: dashed 1px #333;
	-moz-box-sizing: border-box;
	-webkit-box-sizing: border-box;
	box-sizing: border-box
}


.article-content table.enkaku {
	border-collapse: collapse;
	width: 100%;
}

.article-content table.enkaku td {
	vertical-align: top !important;
	min-width: 145px;
	line-height: 1.6 !important;
	font-family: '新ゴ R', 'Lato', 'Noto Sans JP', 'ヒラギノ角ゴ ProN', 'Hiragino Kaku Gothic ProN', 'メイリオ', Meiryo, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
	padding: 1.3rem 1%;
	border-top: none !important;
	border-left: none !important;
	border-right: none !important;
	border-bottom: dashed 1px #333 !important;
}

.def_line_w_2 {
	width: 100%;
	overflow: hidden;
	border-top: dashed 1px #333;
}

.def_line_w_2 dt {
	width: 20%;
	float: left;
	padding: 1.3rem 1% 1.3rem;
	-moz-box-sizing: border-box;
	-webkit-box-sizing: border-box;
	box-sizing: border-box
}

.def_line_w_2 dd {
	padding: 1.3rem 1rem 1.3rem 20%;
	border-bottom: dashed 1px #333;
	-moz-box-sizing: border-box;
	-webkit-box-sizing: border-box;
	box-sizing: border-box
}

.def_line_w_2 dd :after{
	content: "";
	display: block;
	clear: both;
}

.contact_btn_page {
	text-align: center;
	margin-bottom: 30px;
}

.contact_btn_page a {
	display: inline-block;
	background-color: #336633;
	padding: 15px 5%;
	font-size: 20px;
	font-weight: bold;
	color: #fff;
}

.contact_btn_page a i {
	font-size: 28px;
	position: relative;
	top: 3px;
	margin-right: 5px;
}

.contact_btn_page a:hover {
	background-color: #dbfcd3;
}

.googlemap {
	position: relative;
	padding-bottom: 60vh;
	padding-top: 30px;
	height: 0;
	overflow: hidden;
}

.googlemap iframe, .googlemap object, .googlemap embed {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

.pp_list, .about_list_n {
	list-style-type:disc;
	margin:2%;
}

.sitemap_items {
	font-size: medium;
	text-indent: 0;
	background: url(../../plugins/ps-auto-sitemap/images/simple/line_horizontal_solid.gif) repeat-x 0 1.5em;
	padding: 0 0 20px 5px;
	margin: 0;
}

#sitemap_list li li {
	background: url(../../plugins/ps-auto-sitemap/images/simple/ico_list_square.gif) no-repeat 0 0.7em!important;
}

.list-block .wpcf7-list-item {
	 display: block;
}

.list-block .wpcf7-list-item {
	 display: block;
}

.list-inline .wpcf7-list-item {
	display: inline;
}

span.wpcf7-list-item {
	display: inline;
}

span.wpcf7-list-item::after {
	content: "　";
}

.wpcf7-not-valid-tip {
	font-size: 1em !important;
	color: #ff0000 !important;
	font-family: Shin Go Regular !important;;
}

.wpcf7c-conf, .wpcf7c-conf:focus {
	background-color: #aaaaaa!important;
	border: 2px solid #555555!important;
}

.wpcf7c-conf {
	margin-right: 6px!important;
}

.wpcf7-spinner {
	margin: 0!important;
}

h4.wpcf7c-elm-step2 {
	background-color: #ff8888;
	color: #fff;
	padding: 5px 20px;
}

h4.wpcf7c-elm-step3 {
	background-color: #72ef72;
	color: #fff;
	padding: 5px 20px;
}

form.wpcf7-form.invalid .wpcf7-response-output {
	margin: 0;
	background-color: #ff0000;
	border-color: #ff0000 !important;
	color: #ffffff;
	font-size: 1.2rem;
}

form.wpcf7-form.sent .wpcf7-response-output {
	background-color: #46b450;
	color: #ffffff;
}

h1.deco_1, h2.deco_1 {
	margin: 3rem 0 2rem;
	padding: 41px 4%;
	border: none;
	font-size: 1.9rem;
	background: #235d39;
	box-sizing: border-box;
	color: #ffffff;
}

h2.deco_2, h3.deco_2 {
	padding: 6px 3% 4px;
	font-family: Shin Go Bold;
	font-size: 1.5rem;
	color: #ffffff;
	background-color: #235d39;
	border-left: none;
	border-top: none;
	border-bottom: double 9px #eae9d9;
	background-repeat: no-repeat;
	background-size: contain;
	background-position: right bottom;
}

	/* 横並び */

div.const {
	display: flex;
	display: -webkit-box;
	display: -moz-box;
	display: -ms-flexbox;
	display: -webkit-flex;
	margin-bottom: 0px;
	justify-content: center;
	align-items: center;
	margin-bottom: 30px;
}

div.const:after {
	content: "";
	display: block;
	clear: both
}

div.photo_for_smapho {
	display: none;
}

div.const_left {
	float: left;
	width: 30%;
	padding: 0;
	box-sizing: border-box;
}

div.const_right {
	float: right;
	width: 70%;
	padding: 0 0 0 4%;
	box-sizing: border-box;
}

	/* --- ここまで --- */

h4.const_title {
	margin: 0 0 10px;
	border-bottom: solid 3px #006699;
	color: #006699;
	font-size: 18px;
	box-sizing: border-box;
}

figcaption {
	font-size:0.9rem;
}

h4.riku_merit {
	padding: 7px;
	background-color: #ddffdd;
}

.riku_merit_num {
	color: #fff;
	font-size:1.2rem;
	padding: 7px 8px 5px;
	background-color: #ff6600;
	border-radius: 5px;
	box-sizing: border-box;
	box-shadow: 1px 1px 2px #000;
}

	/* 横並び */

div.riku_left2 {
	float: left;
	width: 49.8%;
	padding: 0;
	border: 1px solid #297a9f;
	margin: 0;
	font-size: 1.2rem;
	color: #ffffff;
	background-color: #ccffcc;
	box-sizing: border-box;
}

div.riku_right2 {
	float: right;
	width: 49.8%;
	border: 1px solid #297a9f;
	margin: 0;
	font-size: 1.2rem;
	color: #ffffff;
	background-color: #ffffcc;
	box-sizing: border-box;
}

div.riku_left2 img, div.riku_right2 img {
	margin-bottom: 0;
	vertical-align: bottom;
}

	/* --- ここまで --- */

/* ステンレスペイント */

	/* 横並び */

div.stain_ach_para {
	display: flex;
	display: -webkit-box;
	display: -moz-box;
	display: -ms-flexbox;
	display: -webkit-flex;
	margin: 5% 0 0;
	justify-content: center;
	align-items: top;
	margin-bottom: 30px;
}

div.stain_ach_para:after {
	content: "";
	display: block;
	clear: both
}

div.stain_ach_para_left {
	float: left;
	width: 30%;
	padding: 0;
	box-sizing: border-box;
}

div.stain_ach_para_right {
	float: right;
	width: 70%;
	padding: 0 0 0 2.5%;
	box-sizing: border-box;
}

	/* --- ここまで --- */

h5.stain_ach_para_r_header {
	margin: 0;
	color: #333;
	font-size: 1.5rem;
	font-weight: normal;
	box-sizing: border-box;
}

	/* 横並び */

div.stain_cha_para {
	display: flex;
	display: -webkit-box;
	display: -moz-box;
	display: -ms-flexbox;
	display: -webkit-flex;
	margin: 5% 0 0;
	justify-content: center;
	align-items: top;
	margin-bottom: 30px;
}

div.stain_cha_para:after {
	content: "";
	display: block;
	clear: both
}

div.stain_cha_para_left {
	margin-left: 1%;
	padding: 0;
	font-size: 7rem;
	color: #04bdfa;
	line-height: 0.8em;
	box-sizing: border-box;
}

div.stain_cha_para_right {
	float: left;
	width: 100%;
	margin: 0 0 0 3%;
	box-sizing: border-box;
}

	/* --- ここまで --- */


h5.stain_cha_para_r_header {
	margin: 0;
	color: #333;
	font-size: 1.5rem;
	font-weight: normal;
	box-sizing: border-box;
}

h4.stain_ex {
	padding: 3px 10px;
	border-bottom: solid 2px #333;
}

h5.stain_ex {
	padding: 3px 10px;
	font-weight: normal;
	margin-bottom: 2%;
	text-align: center;
	background-color: #FFF8C6;
	box-shadow: 2px 2px 4px #000;
}

	/* 横並び */

div.stain_ex {
	position: relative;
	margin-bottom: 2%;
}

div.stain_ex:after {
	content: "";
	display: block;
	clear: both
}

div.stain_ex_left {
	float: left;
	width: 50%;
	padding: 0 1% 0 0;
	margin: 0;
	box-sizing: border-box;
}

div.stain_ex_right {
	float: right;
	width: 50%;
	padding: 0 0 0 1%;
	margin: 0;
	box-sizing: border-box;
}

div.stain_ex_left img, div.stain_ex_right img {
	margin-bottom: 0;
	box-shadow: 2px 2px 4px #000;
}

	/* --- ここまで --- */

div.stain_ex_left img, div.stain_ex_right img {
	margin-bottom: 0;
	box-shadow: 2px 2px 4px #000;
}

	/* 横並び */

div.stain_pd {
	margin: 7% 0;
}

div.stain_pd:after {
	content: "";
	display: block;
	clear: both
}

div.stain_pd_left, div.stain_pd_center {
	float: left;
	width: 32.6%;
	padding: 0;
	margin: 0 1.05% 0 0;
	box-sizing: border-box;
}

div.stain_pd_right {
	float: left;
	width: 32.6%;
	padding: 0;
	margin: 0;
	box-sizing: border-box;
}

	/* --- ここまで --- */

h4.stain_exp {
	margin: 0;
}

h5.stain_exp {
	padding: 30px 10px 5px;
	font-size: 0.85rem;
	font-weight: normal;
	margin: 30px 0 0;
	border-top: dashed 1px #333;
}

div.process_arrow_h {
	display: block;
	position: absolute;
	top: 38%;
	left: 47.2%;
	width: 6%;
	height: 6%;
}

div.process_arrow_v {
	display: none;
}

/* 事業内容ページ */

.working_photo {
	border: none;
	box-sizing: border-box;
	padding: 2rem 10%;
	text-align: center;
	background-color: #73a184;
	width: 100%;
	margin: 0 auto 3rem!important;
	position: relative;
}

.working_photo img {
	max-width: 100%;
	height: auto;
	display: block;
	margin: 0 auto 10px auto;
	border: solid 5px #fff;
	box-sizing: border-box;
}

/* 製品紹介ページ */

h3.product_label {
	padding: 0.1em 0.8em;
	border-left: solid 7px #235d39;
	border-bottom: solid 1px #235d39;
	font-size: 1.2rem;
}

.product_photo {
	border: none;
	box-sizing: border-box;
	padding: 2rem 1rem;
	text-align: center;
	background-color: #73a184;
	width: 100%;
	margin: 0 auto 3rem!important;
	position: relative;
}

.bottom-cut {
	padding-bottom: 1rem;
}

.narrow {
	margin-bottom: 1rem !important;
}

.product_photo img {
	width: 100%;
	max-width: 600px;
	height: auto;
	display: block;
	margin: 0 auto 10px auto;
}

.product_photo .caption {
	color: #fff;
	line-height: 2.2;
	font-family: '新ゴ R', 'Lato', 'Noto Sans JP', 'ヒラギノ角ゴ ProN', 'Hiragino Kaku Gothic ProN', 'メイリオ', Meiryo, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
	font-size: 1.1rem;
}

.product_photo .caption_2 {
	color: #fff;
	line-height: 2.2;
	font-family: '新ゴ R', 'Lato', 'Noto Sans JP', 'ヒラギノ角ゴ ProN', 'Hiragino Kaku Gothic ProN', 'メイリオ', Meiryo, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
	font-size: 0.8rem;
}

/* 社長挨拶 */

.img_right_prf {
	float: right;
	width: 24%;
	padding: 0 20px 0;
	margin-bottom: 0.5rem !important;
}

.president {
	position: relative;
	margin-right: 2%;
	text-align: right;
}

.president_title {
	display: inline-block;
	position: absolute;
	top: 9px;
	right: 193px;
	font-family: '中ゴシックBBB';
	font-size: 1.1rem;
}

.president_name {
	display: inline-block;
	width: 180px;
	margin-bottom: 0.5rem !important;
}

.box_catch {
	font-size: 1.2rem;
	font-family: '教科書ICA M';
	text-align: center;
	line-height: 1.8;
	color: #000;
	border: 14px solid #73a184;
	padding: 2rem 1rem;
	background-image: url('https://satoden-sendai.com/wp/wp-content/themes/satoden_2025/img/metal_texture.jpg');
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover;
}

.first-break {
	margin-bottom: 0.5em;
}

.img_left {
	float: left;
	width: 52%;
	padding: 0 20px 0 0;
}

.img_right {
	float: right;
	width: 60%;
	padding: 0 0 0 20px;
}

.img_right_2 {
	float: right;
	width: 70%;
}

.goto_staff {
	position: relative;
	height: 75px;
	width: 94%;
	border: solid 1px #999;
	border-radius: 10px;
	margin: 7% 3%;
	font-size: 1.5rem;
	font-weight: bold;
	color: #ffffff;
	background-image:url(img/staff_header_bg_b.jpg);
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center 20%;
	-webkit-transition: 0.2s ease-in-out;
	-moz-transition: 0.2s ease-in-out;
	-o-transition: 0.2s ease-in-out;
	transition: 0.2s ease-in-out;
	text-align: center;
	box-sizing: border-box;
}

.goto_staff:hover {
	opacity: 0.8;
	transform: scale(1.05,1.05);
}

.goto_staff span {
	position: relative;
	top: 1.25rem;
	text-shadow:
       2px  2px 1px #000000,
      -2px 2px 1px #000000,
       2px -2px 1px #000000,
      -2px -2px 1px #000000,
       2px  0px 1px #000000,
       0px 2px 1px #000000,
      -2px  0px 1px #000000,
       0px -2px 1px #000000;
}

.goto_staff a {
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

.txtboard {
	 position: relative;
	margin: 10% auto 0;
	 width: 90%;
 	color: #555555;
	border-radius: 10px;
	padding: 20px 3% 2%;
	background-color: #fff;
	border: 2px solid #8FBC8F;
	box-shadow: 2px 2px 1px #ccc;
}

h4.txtboard_title {
	position: absolute;
	padding: 0.5em;
	line-height: 1em;
	left: 20px;
	top: -2.7em;
	font-weight: bold;
	background-color: #fff;
	color: #8FBC8F;
}

.txtboard ul{
	margin-bottom: 15px;
}

/* アクセス */

.ac_title {
	padding-left :15px;
	display :table-cell;
	width :85px;"
}

.ac {
	padding: 0 0 2rem 8px;
	display:table-cell;
}

.ac span, .ac_title span {
	font-size: 1.2rem !important;
	font-family: '中ゴシックBBB';
	line-height: 1.3;
}

/* 施工例目録ページ */

.example_select {
	display: inline-block;
	position: relative;
	border-radius: 10px;
	font-size: 1.5rem;
	text-align: center;
	width:47.5%;
	margin: 3% 1%;
	padding: 3% 0;
	color: #ffffff;
	font-weight: bold;
	background-color: #448844;
	box-sizing: border-box;
	-webkit-transition: 0.2s ease-in-out;
	-moz-transition: 0.2s ease-in-out;
	-o-transition: 0.2s ease-in-out;
	transition: 0.2s ease-in-out
}

.example_select:hover {
	background-color: #448844;
	transform: scale(1.05,1.05);
}

.example_select_d {
	display: inline-block;
	position: relative;
	border-radius: 10px;
	font-size: 1.5rem;
	text-align: center;
	width:47.5%;
	margin: 3% 1%;
	padding: 3% 0;
	color: #ffffff;
	font-weight: bold;
	background-color: #a1e192;
	box-sizing: border-box;
	-webkit-transition: 0.2s ease-in-out;
	-moz-transition: 0.2s ease-in-out;
	-o-transition: 0.2s ease-in-out;
	transition: 0.2s ease-in-out
}

.example_select_d:hover {
	background-color: #a1e192;
	transform: scale(1.05,1.05);
}

.example_select .linker {
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

.example_select_d .linker {
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

/* 施工例各ページ */

h4.examples {
	padding: 3px 10px;
	color: #333;
	background-color: #c5e7f3;
}

	/* 横並び */

div.ex_photo {
	margin: 0;
}

div.ex_photo:after {
	content: "";
	display: block;
	clear: both
}

div.ex_photo_left {
	float: left;
	width: 45%;
	padding: 0 5% 0 0;
	margin: 0;
	box-sizing: border-box;
}

div.ex_photo img, div.ex_photo_left img {
	margin-bottom: 2%;
	vertical-align: bottom;
	box-shadow: 2px 2px 4px #000;
}

	/* --- ここまで --- */

/* スタッフ紹介ページ */

	/* 横並び */

.staff_header {
	margin-bottom: 10%;
	padding: 0 5%;
	background-image: url(img/staff_header_bg.jpg);
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center center;
}

.staff_header img {
	margin-bottom: 0;
	vertical-align: bottom;
}

.staff_header:after {
	content: "";
	display: block;
	clear: both
}

.staff_header_left {
	float: left;
	width: 60%;
	padding: 3% 2% 8% 4%;
	margin: 0;
	box-sizing: border-box;
}

.staff_header_right {
	float: left;
	width: 40%;
	padding: 0;
	margin: 0;
	box-sizing: border-box;
}

	/* --- ここまで --- */

.ex_photo img, div.ex_photo_left img {
	margin-bottom: 0;
	vertical-align: bottom;
}

.staff_header_right {
	overflow: hidden;
}

.staff_header_right a img {
	-webkit-transition: 0.2s ease-in-out;
	-moz-transition: 0.2s ease-in-out;
	-o-transition: 0.2s ease-in-out;
	transition: 0.2s ease-in-out;
}

.staff_header_right a img:hover {
	transform: scale(1.05,1.05);
}

.staff_thumb {
	position: relative;
	height: 110px;
	width: 94%;
	border: solid 1px #999;
	margin-bottom: 20px;
	margin: 3%;
	font-size: 1.7rem;
	background-repeat: no-repeat;
	background-size: contain;
	background-position: left center;
	-webkit-transition: 0.2s ease-in-out;
	-moz-transition: 0.2s ease-in-out;
	-o-transition: 0.2s ease-in-out;
	transition: 0.2s ease-in-out;
	text-align: center;
	padding-left: 12%;
	box-sizing: border-box;
}

.staff_thumb:hover {
	opacity: 0.8;
	transform: scale(1.05,1.05);
}

.staff_thumb_0 {
	position: relative;
	height: 185px;
	width: 94%;
	border: solid 1px #999;
	margin-bottom: 20px;
	margin: 3% 3% 0;
	font-size: 1.9rem;
	background-repeat: no-repeat;
	background-size: contain;
	background-position: left center;
	-webkit-transition: 0.2s ease-in-out;
	-moz-transition: 0.2s ease-in-out;
	-o-transition: 0.2s ease-in-out;
	transition: 0.2s ease-in-out;
	text-align: center;
	padding-left: 12%;
	box-sizing: border-box;
	cursor: pointer;
	cursor: hand;
}

.staff_thumb_0:hover {
	opacity: 0.8;
	transform: scale(1.05,1.05);
}

.staff_thumb a {
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

.staff_thumb_0 a {
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

.staff_thumb span {
	position: relative;
	top: 30px;
	text-shadow:
       2px  2px 1px #ffffff,
      -2px  2px 1px #ffffff,
       2px -2px 1px #ffffff,
      -2px -2px 1px #ffffff,
       2px  0px 1px #ffffff,
       0px  2px 1px #ffffff,
      -2px  0px 1px #ffffff,
       0px -2px 1px #ffffff;
}

.staff_thumb_0 span {
	position: relative;
	top: 7px;
	cursor: pointer;
	cursor: hand;
	text-shadow:
       2px  2px 1px #ffffff,
      -2px  2px 1px #ffffff,
       2px -2px 1px #ffffff,
      -2px -2px 1px #ffffff,
       2px  0px 1px #ffffff,
       0px  2px 1px #ffffff,
      -2px  0px 1px #ffffff,
       0px -2px 1px #ffffff;
}

.staff_thumb_0 span span {
	position: relative;
	top: 75px;
	cursor: pointer;
	cursor: hand;
	font-size: 1rem;
	text-shadow:
       2px  2px 1px #ffffff,
      -2px  2px 1px #ffffff,
       2px -2px 1px #ffffff,
      -2px -2px 1px #ffffff,
       2px  0px 1px #ffffff,
       0px  2px 1px #ffffff,
      -2px  0px 1px #ffffff,
       0px -2px 1px #ffffff;
}

.article_a_wrap {
	margin: 0 3%;
	height: 0px;
	overflow: hidden;
}

.article_a_wrap p {
	margin-left: 2.6%;
}

.staff_balloon_wrap {
	width: 100%;
	background-image: url(img/balloon_arrow.png);
	background-repeat: no-repeat;
	background-size: 6vw;
	background-position: right 41%;
}

.joumu_photo {
	text-align: right;
}

.joumu_photo img {
	width: 65%;
	height: auto;
	margin-bottom: 0;
	vertical-align: bottom;
}

.staff_balloon {
	position: relative;
	margin: 2em 10% 2em 0;
	padding: 25px 0;
	color: #ffffff;
	background: #6600e3;
	border-radius: 20px;
}

.staff_balloon p {
	max-width: 240px;
	margin: 0 auto;
	padding: 0;
	font-size: 1.2rem;
	line-height: 1.65em;
}

/* ナノコンポジットW */

.nano_model {
	margin: 0;
	padding:0 10% 5%;
}

.nano_prize {
	text-align: center;
}

h2.dummy {
	margin: 0;
	padding: 0;
	border: none;
}

/* 住環境ページ */

#eisei_header {
	position: relative;
	width: 100%;
}

h5.circle_midashi {
	display: inline-block;
	width: 115px;
	height: 80px;
	color: #fff;
	border-radius: 50%;
	background: #cc1111;
	text-align:center;
	line-height: 82px;
	transform: rotate( -10deg );
}

ul.method_box {
	padding: 3% 4%;
	margin: 0 0 5%;
	border: 9px solid #b18b55;
	border-radius: 3px;
	font-size: 1.2rem;
	list-style: none;
	box-shadow: 2px 2px 4px #666, 2px 2px 2px #111 inset;
	box-sizing: border-box;
}

ul.method_box li {
	margin-left: 1.5em;
}

ul.method_box li:before {
	font-family: FontAwesome;
	font-size: 1.5rem;
	content: '\f0a4';
	color: #ff2a00;
	position: relative;
	margin-right: 0.25em;
	margin-left: -1.25em;
}

.youtube {
	position: relative;
	width: 100%;
	padding-top: 56.25%;
}

.youtube iframe{
	position: absolute;
	top: 0;
	right: 0;
	width: 100% !important;
	height: 100% !important;
}

	/* 横並び */

div.jokin_lineup {
	display: flex;
	display: -webkit-box;
	display: -moz-box;
	display: -ms-flexbox;
	display: -webkit-flex;
	margin-bottom: 0px;
}

div.jokin_lineup:after {
	content: "";
	display: block;
	clear: both
}

div.jokin_lineup_left {
	float: left;
	width: 50%;
	padding: 0;
	margin: 0;
	box-sizing: border-box;
}

div.jokin_lineup_right {
	float: right;
	width: 50%;
	padding: 0;
	margin: 0;
	box-sizing: border-box;
}

div.jokin_lineup_left img, div.jokin_lineup_right img {
	margin-bottom: 5%;
	vertical-align: bottom;
}

	/* --- ここまで --- */

h4.clean_lead {
	padding: 0.5rem 2rem;
	color: #fff;
	border-radius: 100vh;
	background-image: -webkit-gradient(linear, right top, left top, from(#9be15d), to(#00e3ae));
	background-image: -webkit-linear-gradient(right, #9be15d 0%, #00e3ae 100%);
	background-image: linear-gradient(to left, #9be15d 0%, #00e3ae 100%);
}

	/* 横並び */

div.hsp_header {
	display: flex;
	display: -webkit-box;
	display: -moz-box;
	display: -ms-flexbox;
	display: -webkit-flex;
	position: relative;
	margin-bottom: 0px;
}

div.hsp_header a {
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

div.hsp_header:after {
	content: "";
	display: block;
	clear: both
}

div.hsp_header_left {
	width: 230px;
	padding: 0;
	margin: 0;
	box-sizing: border-box;
}

div.hsp_header_right {
	flex: 1;
	padding: 3% 0 0;
	margin: 0;
	box-sizing: border-box;
}

	/* --- ここまで --- */

h4.hsp_name {
	margin: 2% auto;
	text-align: center;
}

h4.hsp_name span {
	display: inline-block;
	font-family: 'Noto Serif JP', serif;
	font-size: 1.85rem;
	text-shadow: 2px 2px 1px #009bd9;
}

span.price {
	font-size: 2rem;
	font-weight: bold;
}

.q-box {
	position: relative;
	margin: 4em 0 3em;
	padding: 1.2em 1em 1em;
	border: solid 3px #62c1ce;
}

.q-box .box-title {
	position: absolute;
	display: inline-block;
	top: -27px;
	left: -3px;
	padding: 0 9px;
	height: 25px;
	line-height: 25px;
	font-size: 17px;
	background: #62c1ce;
	color: #ffffff;
	font-weight: bold;
	border-radius: 5px 5px 0 0;
}

.a-box {
	position: relative;
	margin: 2em 0 3em;
	padding: 1.2em 1em 1em;
	border: solid 3px #e3bd86;
}

.a-box .box-title {
	position: absolute;
	display: inline-block;
	top: -27px;
	left: -3px;
	padding: 0 9px;
	height: 25px;
	line-height: 25px;
	font-size: 17px;
	background: #e3bd86;
	color: #ffffff;
	font-weight: bold;
	border-radius: 5px 5px 0 0;
}

div.jokin {
	margin: 0 auto;
	max-width: 730px;
	padding: 0 3% 0 45px;
	box-sizing: border-box;
}

div.jokin p {
	font-size: 1.2rem;
	margin-bottom: 0.4rem;
	box-sizing: border-box;
}

div.q-box div.jokin p::before {
	font-family: 'Font Awesome 5 Free';
	font-weight: 900;
	position: relative;
	margin-left: -1em;
	top: 53%;
	left: -0.4em;
	content: '\f044';
	transform: translateY(-50%);
	color: #333;
}

div.a-box div.jokin p::before {
	font-family: 'Font Awesome 5 Free';
	font-weight: 900;
	position: relative;
	margin-left: -1em;
	top: 53%;
	left: -0.4em;
	content: '\f058';
	transform: translateY(-50%);
	color: #333;
}

	/* 横並び */

div.jokin_ex {
	display: flex;
	display: -webkit-box;
	display: -moz-box;
	display: -ms-flexbox;
	display: -webkit-flex;
	margin-bottom: 5%;
}

div.jokin_ex:after {
	content: "";
	display: block;
	clear: both
}

div.jokin_ex_left {
	float: left;
	width: 50%;
	padding: 0;
	margin: 0;
	box-sizing: border-box;
}

div.jokin_ex_right {
	float: right;
	width: 50%;
	padding: 0;
	margin: 0;
	box-sizing: border-box;
}

	/* --- ここまで --- */

div.jokin_ex_left img, div.jokin_ex_right img {
	vertical-align: bottom;
	margin-bottom: 3%;
}


/* 幅狭デスクトップ対応 */

@media(max-width: 1200px) {

	.site-title-wrap {
		margin-left: 4%;
	}

	.searchform-wrap {
		width: 100px;
		margin-right: 2%;
	}

	div.header-inner .searchform-wrap form#form {
		width: 300px;
	}

	div.header-inner #s-box {
		width: 242px;
	}

	#kanban{
		bottom: 30px;
	}

	.nav-inner {
		margin-left: 2%;
	}

	.header-nav li {
		font-size: 0.8rem;
	}

	.header-nav li a {
		padding-left: 13px;
		padding-right: 13px;
	}

	.sub-menu {
		visibility: hidden;
		opacity: 0;
		position: absolute;
		top: 37px;
		z-index: 500;
		box-shadow: 2px 2px 2px #000;
		-webkit-transition: all .3s ease;
		transition: all .3s ease;
	}

	.active {
		visibility: visible;
		opacity: 1;
		top: 42px;
	}

	#void {
		height: 45px;
	}

	.catch_bold {
		width: 100%;
		left: 8%;
		transform: translate(0, -113px);
	}

	.catch_bold img {
		max-width: 500px;
		height: auto;
	}

	.catch_abs {
		width: 100%;
		left: 8%;
		transform: translate(0, 0);
	}

	.catch_abs img {
		max-width: 500px;
		height: auto;
	}

	.footer-inner {
		margin: 0 2%;
		padding: 2rem 1% 1rem;
	}

	#f_tel {
		margin: 10px 0 15px;
	}

	#credit, #recaptcha_description {
		left: 3%;
	}

	#contact_btn a {
		padding: 22px calc(20px + (100vw - 800px) * 0.4);
	}

	#footer-nav ul.menu li a {
		font-size: 12px;
	}

	#recaptcha_description {
		max-width: 340px;
	}
	.cp_return {
		display: inline;
	}

	#sorry_img {
		width: 90px;
		padding: 5px 15px 5px 5px;
	}

	#sorry_txt {
		margin-left: -90px;
		padding-left: 90px;
		font-size: 14px;
	}

	h1.not_found {
		text-align: center;
		font-size: 18px;
	}

	.staff_balloon {
		padding: 3vw 0;
	}



	.staff_balloon p {
		font-size: 1.7vw;
		width: 20vw;
	}

}

/* タブレット対応 */

@media(max-width: 800px) {

	.container {
		padding: .8rem;
	}

	.contents,
	.sidebar {
		float: none;
		width: 100%;
		margin-right: 0;
	}

	.widget_d {
		display: none;
	}

	.widget_m {
		display: block;
		width: 100%;
		margin: 40px 0;
		line-height: 1;
		box-shadow: 1px 1px 3px #333;
	}

	#top_bar {
		height: 55px;
	}

	div#n2-ss-2 .n2-ss-slide-limiter {
		height: 60vh;
	}

	.header-inner {
		margin-top: 60px;
		padding-top: 0;
	}

	.title-small {
		font-size: calc(23px + (100vw - 320px) * 0.0667);
	}

	.framing {
		margin-bottom: 8%;
	}

	#catch_frame h4 {
		font-size: 2rem;
	}

	#catch_frame p {
		font-size: 0.9rem;
	}

	.catch_abs {
		width: 100%;
		left: 5%;
		transform: translate(0, 0);
	}

	.catch_bold {
		width: 100%;
		left: 5%;
		transform: translate(0, -113px);
	}

	div.header-inner .searchform-wrap form#form {
		width: 238px;
	}
	div.header-inner #s-box {
		width: 180px;
	}

	#kanban{
		bottom: 28px;
	}

	/* モバイルメニューボタン */

	#mobile-nav-button {
		display: block;
		cursor: pointer;
		position: fixed;
		top: 0;
		left: 0;
		font-size: 23px;
		font-weight: bold;
		color: #fff;
		box-sizing: border-box;
		width: 100%;
		background-color: #235d39;
		text-align: left;
		padding: 5px 15px;
		z-index: 100;
		-webkit-transition: all .3s ease;
		transition: all .3s ease;
	}

	#mobile-nav-button-on {
		cursor: pointer;
		position: fixed;
		top: 0;
		left: 0;
		font-size: 23px;
		font-weight: bold;
		color: #fff;
		box-sizing: border-box;
		width: 100%;
		background-color: #235d39;
		text-align: left;
		padding: 5px 15px;
		z-index: 200;
		-webkit-transition: all .3s ease;
		transition: all .3s ease;
	}
	
	/* モバイルボタン内タイトルとクレジットを横に並べる */

	#mobile-nav-button:after {
		content: "";
		display: block;
		clear: both
	}

	.m-menu-title {
		float: left;
	}

	.m-menu-credit {
		float: right;
		margin-right: 3px;
		margin-bottom: 0px;
		font-size: 22px;
	}

	/* --- ここまで --- */

	.m-menu-credit span {
		font-size: 0.6em;
		font-weight: bold;
		font-style: italic;
		vertical-align: bottom; 
	}

	.m-menu-credit a {
		color: #fff;
	}

	.header-nav-wrap{
		position: fixed;
		top: 47px;
		left: -84%;
		border: none;
		background-color: rgba( 30, 44, 30, 0.8 )!important;
		box-shadow: 2px 0 2px #000;
		width: 83% !important;
		height: 100%;
		-webkit-transition: all .3s ease;
		transition: all .3s ease;
	}

	.nav-inner {
		margin-top: 7%;
	}

	.header-nav li {
		font-size: 1.1rem;
		display: block;
	}

	.header-nav li a {
		font-weight: normal;
		font-size: 1.2em;
		display: block;
		color: #fff;
		background-color: transparent;
		border-radius: 0px;
		padding: 0.6em 15px;
	}

	.sub-menu {
		visibility: hidden;
		opacity: 0;
		position: absolute;
		top: 41px;
		z-index: 2147483;
		box-shadow: 5px 5px 5px #000;
		-webkit-transition: all .3s ease;
		transition: all .3s ease;
	}

	.active {
		visibility: visible;
		opacity: 1;
		top: 45px;
	}

	li.menu-item-has-children ul li {
		width: 14rem;
	}

	#void {
		display: none;
	}

	.footer-inner {
		padding: 1rem 1% 1.5rem;
	}

	#contact_btn {
		margin-top: 1rem;
	}

	#contact_btn a {
        	padding: 22px calc(84px + (100vw - 600px) * 0.55);
	}

	#recaptcha_description {
		text-align: left;
		margin: 28px auto 0;
	}

	#f_rightside {
		float: none;
	}

	#f_leftside {
	}

	/* スクロールボタン（モバイル専用） */

	.scroll_btn {
		margin: 0;
		padding: 0;
		display: block
	}

	.scroll_btn button {
		margin: 0;
		padding: 0;
		position: fixed;
		right: .8rem;
		bottom: 30px
	}

	#to_top {
		display: block;
		padding: 15px 15px 0px;
		border: none;
		border-radius: 5px;
		background-color: rgba( 0, 0, 0, 0.5 );
		cursor: pointer
	}

	#to_top:focus {
		outline: none
	}

	#to_top i {
		color: #ffffff;
		font-size: 40px
	}

	#to_top span {
		display: inline-block;
		text-indent: -9999px
	}

	#to_top {
		display: none
	}

	div.painterlabo {
		display: block;
	}

	/* SNSボタン（モバイル専用） */

	.share li {
		-webkit-box-sizing: border-box;
		-moz-box-sizing: border-box;
		box-sizing: border-box;
		padding: 3px;
	}

	.share li i {
		font-size: 1.3em;
		padding-top: 3px;
	}
    
	.facebooklink span, .tweet span, .pocket span, .hatena span{
		display: none;
	}

	div.painterlabo_photo {
		display: block;
		width: 100%;
		margin-bottom: 15px;
	}

		div.painterlabo_photo img {
		display: block;
	}

	/* ここまで */

	div.painterlabo_exp {
		display: block;
		width: 100%;
		margin-bottom: 20px;
		padding: 0px;
		box-sizing: border-box;
	}

	.staff_balloon p {
		font-size: 2.4vw;
		width: 29vw;
	}

	.def_line_w_2 dt {
		width: 25%;
	}

	#kyoka {
		display: block;
		margin-top: 5px;
		font-size: 0.9rem;
	}

	#addressbox {
		display: flex;
		justify-content: center;
	}

	#f_cname, #copyright {
		text-align: center;
		width: 100%;
	}

}

/* スマートフォン対応 */

@media(max-width: 600px) {

	html {
		font-size: 15px;
	}

	.contents {
		margin-bottom: 0;
	}

	.pc_appear, .pc_appear_b {
		display: none;
	}

	.mobile_appear {
		display: inline;
	}

	.mobile_appear_b {
		display: block;
	}

	.header-inner,
	.container {
		padding-bottom: 8rem;
	}

	.post-thumbnail {
		margin-top: -135px;
	}

	.site-title-wrap {
		width: 285px;
		height: 0;
	}

	.searchform-wrap {
		width: 220px;
		height: 71px;
	}

	div.header-inner .searchform-wrap form#form {
		width: 220px;
	}

	div.header-inner #s-box {
		width: 163px;
	}

	#catch_frame h4 {
		font-size: 1.7rem;
	}

	#catch_frame p {
		font-size: 0.85rem;
	}

	.catch_abs {
		width: 100%;
		left: 0;
		transform: translate(0, 0);
	}

	.catch_abs img {
		max-width: 450px;
		width: 95vw;
		height: auto;
	}

	.catch_bold {
		width: 100%;
		left: 0;
		transform: translate(0, -95%);
	}

	.catch_bold img {
		max-width: 450px;
		width: 95vw;
		height: auto;
	}

	li.menu-item-has-children ul li {
		width: 13rem;
	}

	.sub-menu {
		visibility: hidden;
		opacity: 0;
		position: absolute;
		top: 33px;
		z-index: 2147483;
		box-shadow: 5px 5px 5px #000;
		-webkit-transition: all .3s ease;
		transition: all .3s ease;
	}

	.active {
		visibility: visible;
		opacity: 1;
		top: 38px;
	}

	.header-nav li a {
		padding: 0.4rem 15px;
	}

	#breadcrumb.bread ol {
		margin-bottom: 7%;
	}

	.news_item_header {
		float: none;
		width: 140px;
		padding-left: 5px;
	}

	.news_item h3 {
		margin-left: 5px;
	}

	.newmark {
		margin-left: 2px;
	}

	.blog_list_item {
		float: none;
		width: 100%;
	}

	.blog_list_item:nth-child(odd) {
		margin-right: 0;
	}

	.article-list {
		padding: .5rem;
	}

	.article-list .img-wrap img {
		width: 132px;
		height: 88px;
	}

	.article-list .img-wrap .cat-data {
		font-size: .6rem;
	}

	.article-list .text {
		margin-left: 140px;
		padding: 0;
	}

	.article-list .text h2 {
		font-size: 1rem;
		margin-bottom: 0;
	}

	.article-list .text p {
		display: none;
	}

	.article-list .text .article-date,
	.article-list .text .article-author {
		font-size: .625rem;
		margin-bottom: 0;
	}

	.article-list .text .article-date {
		margin-right: .2rem;
	}

	.article-content h1 {
		font-size: 1.6rem;
		margin: 0 auto 5%;
	}

	.article-content h2 {
		font-size: 1.6rem;
	}

	h2.cubic::before {
		width: 48px;
		height: 48px;
		margin-right: 5px;
		transform: translate(0,15px);
	}

	.article-content h3 {
		font-size: 1.2rem;
	}

	.article-content h4 {
		font-size: 1.2rem;
	}

	#sorry_img {
		float: none;
		width: 150px;
		margin: 0 auto;
		padding: 5px 15px 5px 5px;
	}

	h1.not_found {
		font-size: 16px;
	}

	#sorry_txt {
		float: none;
		padding: 0;
		margin: 0 0 18px;
	}

	p.p1_sub_catch {
		font-size: 15px;
	}
	.equipments th, .equipments td {
		font-size: 0.6rem !important;
	}

	.enkaku td {
		padding: 1.3rem 10px 1.3rem 1% !important;
		min-width: 0 !important;
		font-size: 12px !important;
	}

	.enkaku td:first-child {
		text-align: right;
		width: 70px !important;
	}

	.enkaku td:nth-child(2) {
		padding: 1.3rem 1% 1.3rem 20px !important;
	}

	.working_photo {
		padding: 1rem 5%;
		margin-bottom: 2rem!important;
	}

	div.obj_1 {
		float: none;
		width: 100%;
	}

	div.obj_2 {
		float: none;
		width: 100%;
	}

	div.date_clear_exp {
		float: none;
		width: 100%;
		padding-right: 0;
		margin-bottom: 20px;
	}

	div.date_clear_photo {
		float: none;
		width: 100%;
	}

	div.date_amasuji_exp {
		float: none;
		width: 100%;
		padding-right: 0;
		margin-bottom: 20px;
	}

	div.date_amasuji_photo {
		float: none;
		width: 100%;
	}

	div.date_graph_guide img {
		width: 50%;
	}

	.balloon p {
		font-size: 15px;
	}

	.gaina_dis_mincho p{
		font-size: 18px;
	}

	p.flame_txt {
		font-size: 15px;
	}

	h4.std_b {
		margin: 0px 0px 5px;
		padding: 0px 4%;
	}

	.ex_right_column{
		float: none;
		width: 90%;
		margin: 0 auto;
	}

	.ex_left_column{
		float: none;
		padding: 1% 1.5% 5px 1.5%;
		margin: 0px 0px 10px;
		width: 100% !important;
		-moz-box-sizing: border-box;
		-webkit-box-sizing: border-box;
		box-sizing: border-box
	}

	dl.bukken dt {
		width: 100px
	}

	dl.bukken dd {
		margin-left: 100px
	}

	h3.gaina_example_item {
		font-size: 22px;
	}

	h4.std_b {
		font-size: 15px;
	}

	.gaina_thermo_h {
		display: none;
	}

	.gaina_thermo_v {
		display: block;
	}

	.def_line_w dt, .def_line_w dd {
		font-size: 12px;
	}

	.def_line_w_2 dt, .def_line_w_2 dd {
		font-size: 12px;
	}

	div.const {
		display: block;
	}

	div.const_left {
		display: none;
	}

	div.photo_for_smapho {
		display: block;
		text-align: center;
	}

	div.photo_for_smapho img {
		margin: 5px 0;
		vertical-align: bottom;
	}
		div.const_right {
		float: none;
		width: 100%;
		margin: 0;
		padding: 0;
	}

	div.flow_left {
		padding-top: 10px;
	}

	div.flow_exp {
		font-size: 20px;
	}

	div.riku {
		display: block;
	}

	div.riku_left, div.riku_right, div.riku_left2, div.riku_right2 {
		float: none;
		width: 100%;
		padding: 0;
		margin-bottom: 20px;
		box-sizing: border-box;
	}

	div.riku_left2 {
		border-right: 1px solid #297a9f;
	}

	div.stain_ach_para {
		display: block;
	}

	div.stain_ach_para_left {
		float: none;
		width: 100%;
		margin-bottom: 1%;
		padding: 0;
		box-sizing: border-box;
	}

	div.stain_ach_para_right {
		float: none;
		width: 100%;
		padding: 0;
		box-sizing: border-box;
	}

	h5.stain_ach_para_r_header {
	font-size: 1.3rem;
	}

	div.stain_ex {
		display: block;
	}

	div.stain_ex_left, div.stain_ex_right {
		float: none;
		width: 100%;
		padding: 0;
		margin-bottom: 3%;
		box-sizing: border-box;
	}

	div.stain_pd_left, div.stain_pd_center, div.stain_pd_right {
		float: none;
		width: 100%;
		padding: 0;
		margin: 0 0 5%;
		box-sizing: border-box;
	}

	div.process_arrow_h {
		display: none;
	}

	div.process_arrow_v {
		display: block;
		position: absolute;
		top: 45%;
		left: 45%;
		width: 10%;
		height: 10%;
	}

	.img_right_prf {
		float: none;
		width: 75%;
		margin: 0 auto 10% !important;
		padding: 0;
		box-sizing: border-box;
	}

	 .img_right, .img_right_2, .img_left {
		float: none;
		width: 90%;
		margin: 0 auto;
		padding: 0 0 5%;
		box-sizing: border-box;
	}

	div.ex_photo {
		margin: 2% auto 5%;
		text-align: center;
	}

	div.ex_photo_left {
		float: none;
		width: 100%;
		padding: 0;
		margin: 2% auto 5%;
	}

	h1.deco_1, h2.deco_1 {
		font-size: 1.6rem;
	}

	.facebook-wrapper {
		border-left: solid 10px #305095;
		border-right: solid 10px #305095;
	}

	.example_select, .example_select_d {
		width: 100%;
		margin: 3% 0;
	}

	.sidebar-inner {
		margin-top: 50px;
	}

	.staff_thumb {
		height: 90px;
		padding-right: 7%;
		text-align: right;
		font-size: 1.4rem;
	}

	.staff_thumb_0 {
		height: 150px;
		padding-right: 7%;
		text-align: right;
		font-size: 1.4rem;
	}

	.staff_thumb span {
		top: 26px;
	}

	.staff_thumb_0 span {
		top: 14px;
	}

	.staff_thumb_0 span span {
		top: 55px;
	}

	.staff_balloon {
		margin-top: 0;
		padding: 10px;
	}

	.staff_balloon p {
		font-size: 3vw;
		width: 36vw;
	}

	.joumu_photo img {
		width: 100%;
	}

	.article_a_wrap p {
		font-size: 13.3px;
	}

	.nano_prize img {
		width: 90%;
	}

	div.jokin_lineup {
		display: block;
		margin-bottom: 10%;
	}

	div.jokin_lineup_left {
		float: none;
		width: 100%;
	}

	div.jokin_lineup_right {
		float: none;
		width: 100%;
	}

	div.jokin_lineup_left img, div.jokin_lineup_right img {
		margin-bottom: 0;
	}

	div.hsp_header {
		display: block;
	}

	div.hsp_header_left {
		display: none;
	}

	div.hsp_header_right{
		flex: 0;
	}

	div.jokin_ex {
		display: block;
	}

	div.jokin_ex_left, div.jokin_ex_right {
		float: none;
		width: 100%;
	}

	div.jokin_ex_left img, div.jokin_ex_right img {
		margin-bottom: 5%;
	}

}

/* スーパーナロウ対応 */

@media(max-width: 487px) {

	.header-inner {
		padding-top: 0
	}
	.searchform-wrap {
		height: 71px;
	}

	#contact_btn a {
		padding: 15px calc(18px + (100vw - 320px) * 0.401) 20px;
		font-size: 16px;
	}

	#contact_btn a i {
		font-size: 26px;
		top: 4px;
		margin-right: 4px;
	}

	.f_tel_no a {
		font-size: 24px;
	}

	.f_tel_d {
		font-size: 15px;
	}

	#f_address, #f_status {
		font-size: 12px;
	}

	#footer-nav ul.menu li a {
		padding: 0 3px;
		font-size: 11px;
	}

	.free_dial {
		font-size: 11px;
	}

	h3.date_midashi3 {
		font-size: 1.3rem;
	}

	.staff_header_left {
		padding: 8% 2% 13% 4%;
		box-sizing: border-box;
	}

	.staff_balloon {
		margin: 0 4vw 0 0;
	}

	.staff_balloon p {
		font-size: 2.8vw;
		width: 34vw;
	}

	.nano_model {
		margin: 0;
		padding:0 3% 5%;
	}

}

/* ハイパーナロウ対応 */

@media(max-width: 430px) {

	#kanban {
		width: 165px;
		bottom: 24px;
	}

	.searchform-wrap {
		height: 50px;
	}

	div.header-inner .searchform-wrap form#form {
		width: 165px;
	}

	div.header-inner #s-box {
		width: 109px;
	}

	.search_general form#form {
		width: 267px;
	}

	.search_general {
		margin: 0 21%;
	}
	.search_general #s-box {
		width: 210px;
	}

	.def_line_w dt, .def_line_w_2 dt {
		width: 88px;
	}

	.def_line_w dd, .def_line_w_2 dd {
		padding-left: 78px;
	}

	.staff_header_left {
		padding: 5% 0 7% 0;
	}

	.staff_balloon p {
		font-size: 3.5vw;
		width: 43vw;
	}

	h4.hsp_name span {
		font-size: 1.6rem;
	}

}

@media(max-width: 318px) {

	.article_a_wrap p {
		font-size: 4.1vw;
	}

}

/*－－－－－－－－－－－－－－－－－－－－－－－－－－－－－－－－－－－*/

/* background-color 領域確認用 */

/* .contents, #sidebar {height: 2000px; } */

/* .container {background-color: #9db2ea; } */

/* .contents {background-color: #a5e2ff; } */

/* #sidebar{background-color: #aefffc; } */

/*－－－－－－－－－－－－－－－－－－－－－－－－－－－－－－－－－－－*/
