@font-face {
    font-family: 'Noto Sans JP';
    src: url(../fonts/Noto_Sans_JP/NotoSansJP-Regular.woff)format("woff");
    font-weight: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Noto Sans JP';
    src: url(../fonts/Noto_Sans_JP/NotoSansJP-Bold.woff)format("woff");
    font-weight: bold;
    font-display: swap;
}

/***** reset css *****/
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed, 
figure, figcaption, footer, header, hgroup, 
menu, nav, output, ruby, section, summary,
time, mark, audio, video, input, textarea, button, select {
	margin: 0;
	padding: 0;
	border: 0;
	font-size: 100%;
	font: inherit;
	vertical-align: baseline;
    word-wrap: break-word;
}
/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure, 
footer, header, hgroup, menu, nav, section {
	display: block;
}
body {
	line-height: 1;
}
ol, ul {
	list-style: none;
}
blockquote, q {
	quotes: none;
}
blockquote:before, blockquote:after,
q:before, q:after {
	content: '';
	content: none;
}
table {
	border-collapse: collapse;
	border-spacing: 0;
}

/***** raitofu css *****/
body {
    font-size: 16px;
    line-height: 1.15;
    color: #333;
    font-family: 'Noto Sans JP', sans-serif, 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN W3', Meiryo, メイリオ, Osaka, 'MS PGothic', arial, helvetica, sans-serif;
    letter-spacing: 0.05em;
    margin: 0px;
    padding: 0px;
    background: #FFFFFF;
    -webkit-font-smoothing: antialiased;
}

a {
    text-decoration: none;
    cursor : pointer;
}

a:hover {
    opacity: 0.5;
}

button {
    cursor : pointer;
}

button:hover {
    opacity: 0.5;
}

label, input[type='checkbox'], 
input[type='submit'],
input[type="button"] {
    cursor: pointer;
}

label:hover,
input[type='checkbox']:hover,
input[type="submit"]:hover,
input[type="button"]:hover {
    opacity: 0.5;
}

/* float対策 */
.clearfix:after {
    content: "";         /* 擬似要素を実体化 */
    clear: both;        /* floatを解除する */
    display: block;     /* ブロック要素にする */
}



.w1100 {
    width: 1100px;
    margin: 0 auto; /* 中央に寄せる */
}

.w1000 {
    width: 1000px;
    margin: 0 auto; /* 中央に寄せる */
}

.w800 {
    width: 800px;
    margin: 0 auto; /* 中央に寄せる */
}

.w400 {
    width: 400px;
    margin: 0 auto; /* 中央に寄せる */
}

.kwcolor {
    color: #F08300;
}

/* ラージサイズの文字 */
.lgword {
    font-size: 20px;
}

.down_triangle {
    width: 100%;
    display: block; /* イメージのスキマ対応 */
}

/* 標準サイズのボタン */
.nbutton {
    width: 355px;
    padding:20px 0;
    border: 2px solid #008A7B;
    border-radius: 50px;
    text-align: center;
    display: block;
    color: #008A7B;
}

.under_button {
    position: absolute;
    bottom: 0px;
    width: 100%;
    height: 40px;
    background: rgba(255, 255, 255, 0.5);
}

.under_button::before {
    content: "";
    left: 0;
    right: 0px;
    bottom: 18px;
    margin: auto;
    width: 12px;
    height: 12px;
    border-top: 2px solid #fff;
    border-right: 2px solid #fff;
    -webkit-transform: rotate(135deg);
    transform: rotate(135deg);
    position: absolute;
}

/* imgタグに黒レイヤーを重ねる */
.image_black_layer {
    position: relative;
    /* display: inline-block; 画像のサイズに合わせてブロックとして表示 */
}

.image_black_layer::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.4); /* 黒色で透過した背景 */
    z-index: 1; /* 画像よりも上に表示 */
}

.image_black_layer img {
    display: block;
    width: 100%;
    height: auto;
    z-index: 2; /* レイヤーの上に画像を表示 */
}

/* header */
header {
    width: 100%;
    transition: 0.3s transform;
    position: fixed;
    height: 80px;
    background-color: #FFF;
    z-index: 1001;
    top: 0;
    box-shadow: 1px 1px 2px rgba(0,0,0,.2);
}

.header_fv {
    background-color: rgba(255, 255, 255, 0);
}

.company_logo.hide {
    display: none;
}

.company_logo_fv.hide {
    display: none;
}

header nav {
    position: relative;
}

header .left_logo {
    position: absolute;
    left: 15px;
    top: 18px;
}

header .nav_link a {
    color: #333;
}

header.header_fv .nav_link a {
    color: #fff;
}
header .nav_link {
    margin: 0 auto;
    width: 600px;
    /* font-weight: bold; */
}

header .nav_link ul {
    display: flex;
    position: absolute;
    width: 500px;
    text-align: center;
   
    flex-direction: row;
    height: 80px;
}

header .nav_link li {
    flex: 1;

    width: 100%;
    height: 100%;
    /* メニューテキスト位置をリスト内中心に */
    display: flex;
    justify-content: center;
    align-items: center;
}

header .right_logo {
    position: absolute;
    right: 0px;
    top: 0px;
    display: flex;
}

header .right_logo li {
    height: 80px;
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
    font-size: 14px;
}

header .right_logo a {
    color: #fff;
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
}







header .right_logo .company_info {
    width: 125px;
    height: 80px;
    background-color: #00A0E9;
    position: relative;
    color: #fff;
}

header .right_logo .company_info a {
    width: 100%;
    height: 100%;
    color: #fff;
    position: relative;
}

header .right_logo .company_info .tel {
    font-size: 14px;
    font-weight: bold;
}

header .right_logo .company_info .name {
    display: none;
}

header .right_logo .company_info .business_hours {
    display: flex;
    align-items: center;
    font-size: 9px;
    font-weight: bold;
}

header .right_logo .company_info .call {
    position: absolute;
    top: 7px;
    /* left: 10px; */
    left: 50%;
    transform: translate(-50%, 0%);
    font-size: 9px;
}

header .right_logo .company_info .message {
    display: none;
}

header .right_logo .contact {
    width: 80px;
    /* background-color: #B2DCD9; */
    background-color: #7dc4bf;
    font-weight: bold;
}

header .right_logo .inspection {
    width: 80px;
    background-color: #EBAA84;
    font-weight: bold;
}

header .right_logo .btn {
    /* ボタンの配置位置  */
    /* position: fixed; */
    /* top: 32px;
    right: 16px; */
    /* ボタンの大きさ  */
    /* width: 48px;
    height: 48px; */
    width: 80px;
    /* 最前面に */
    z-index: 10;
    background-color: #000; /* わかりやすいように */
    display: none;
    color:#fff;
    position: relative;
}

header .right_logo .js-text {
    position: absolute;
    bottom: 10px;
}

/***** 真ん中のバーガー線 *****/
header .btn-line {
	display: block;
	position: relative;  /* バーガー線の位置基準として設定 */
	/* width: 60%;  線の長さと高さ */
    width: 45px;
	height: 4px;
	background-color: #d6d5d5;  /* バーガー線の色 */
	transition: .2s;
}

/****** 上下のバーガー線 *****/
header .btn-line::before,
header .btn-line::after {
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  background-color: #d6d5d5;
  transition: .5s;
  left: 0;
}

header .btn-line::before {
  /* 上の線の位置 */
  /* transform: translateY(-16px); */
  transform: translateY(-7px);
}

header .btn-line::after {
  /* 下の線の位置 */
  /* transform: translateY(16px); */
  transform: translateY(7px);
}

header .btn-lin-wrapper {
    position: absolute;
    top: 26px;
}

/***** メニューオープン時 *****/
header .btn-line.open {
	background-color: transparent;  	/* 真ん中の線を透明に */
}
header .btn-line {
	background-color: transparent;  	/* 真ん中の線を透明に */
}

header .btn-line.open::before ,
header .btn-line.open::after {
	content: "";
	/* background-color: #333;  上下の線の色を変える */
	transition: .2s;
}

header .btn-line.open::before {
	transform: rotate(45deg);  /* 上の線を傾ける */
}

header .btn-line.open::after {
	transform: rotate(-45deg);  /* 下の線を傾ける */
}

header .btn .js-text {
    font-weight: bold;
}

header.header_fv .nav_link .menu.open a {
    color: #333;
}

/* 上に戻るボタン */
.pagetop {
  height: 50px;
  width: 50px;
  position: fixed;
  right: 30px;
  bottom: 30px;
  background: #000;
  border: solid 3px #000;
  /* border-radius: 50%; */
  display: none;
  justify-content: center;
  align-items: center;
  z-index: 2;
  cursor: pointer;
  opacity: 0.8;
}

.pagetop__arrow {
  display: block;
  height: 10px;
  width: 10px;
  border-top: 3px solid #fff;
  border-right: 3px solid #fff;
  transform: translateY(20%) rotate(-45deg);
}



/* bottom_nav */

.bottom_nav {
    position: fixed;
    bottom: 0;
    width: 100%;
}

.bottom_nav ul {
    display: flex;
    flex-wrap: wrap;
}

.bottom_nav .contact {
    width: 50%;
    height: 58px;
    /* background-color: #B2DCD9; */
    background-color: #7dc4bf;
    font-weight: bold;
}

.bottom_nav .contact a,
.bottom_nav .inspection a
{
    color: #fff;
    display: flex;
    height: 100%;
    justify-content: center;
}

.bottom_nav .inspection {
    width: 50%;
    height: 58px;
    background-color: #EBAA84;
}

.bottom_nav .company_info {
    width: 100%;
    height: 36px;
    background-color: #00A0E9;
    position: relative;
    color: #fff;
}

.bottom_nav a {
    display: block;
}

.bottom_nav .contact img,
.bottom_nav .inspection img
{
    width: 30px;
}

.bottom_nav .contact .text, 
.bottom_nav .inspection .text 
{
    display: flex;
    align-items: center;
    margin-left: 6px;
    font-weight: bold;
}

.bottom_nav .company_info dl {
    display: flex;
    justify-content: space-between;
    height: inherit;
}

.bottom_nav .company_info a {
    height: 100%;
    color: #fff;
    position: relative;
}

.bottom_nav .company_info .tel {
    display: flex;
    align-items: center;
    font-size: 11px;
    font-weight: bold;
}

.bottom_nav .company_info .name {
    font-size: 7px;
    display: flex;
    align-items: end;
    padding-bottom: 7px;
    font-weight: bold;
}

.bottom_nav .company_info .business_hours {
    display: flex;
    align-items: center;
    font-size: 9px;
    font-weight: bold;
}

.bottom_nav .company_info .call {
    position: absolute;
    top: 7px;
    /* left: 10px; */
    left: 50%;
    transform: translate(-50%, 0%);
    font-size: 9px;
}

.bottom_nav .company_info dl {
    padding: 0 12px;
}

.bottom_nav .company_info .message {
    position: absolute;
    top: 7px;
    left: 50%;
    transform: translate(-50%, 0%);
    font-size: 8px;
    font-weight: bold;
}

.bottom_nav {
    display: none;
}








/* footer */

footer {
    background: #FAFAFA;
    padding-top: 30px;
}

footer .foot {
    /* width: 1000px; */
    width: 100%;
    margin: 0 auto 20px;
    display: flex;
}

footer .address {
    width: 50%;
    display: flex;
    margin-left: 10%;
}

footer .logo {
    width: 80px;
    height: 70px;
}

footer .address .ad_logo {
    font-size: 25px;
    letter-spacing: 0.4em;
    margin-top: 10px;
    margin-left: 11px;
}

footer .foot_nav {
    width: 50%;
    height: 140px;
    display: flex;
    flex-wrap: wrap;
    text-align: left;
}

footer .foot_nav li {
    width: 50%;
}

footer .foot_nav>li a:before, .list-arrow li:after, .list-arrow li:before {
    content: "";
    top: 0;
    vertical-align: middle;
    bottom: 0;
}

footer .foot_nav>li a:before {
    width: 16px;
    height: 16px;
    border-radius: 50%;
    background: #008A7B;
    position: absolute;
    left: 16px;
}

footer .foot_nav li a {
    position: relative;
    display: block;
    padding: 0 0 0 35px;
    text-decoration: none;
    font-size: 13px;
}

footer .foot_nav a {
    display: block;
    font-size: 14px;
    font-size: 1.4em;
    padding: 0 1em;
    color: #333;
}

footer .foot_nav .hp {
    color: #008A7B;
}

.foot_nav2 {
    justify-content: flex-start;
    -ms-align-items: flex-start;
    align-items: flex-start;
}
.foot_nav2, .foot_nav2 ul {
    display: flex;
}

.foot_nav2 ul li:first-child {
    border-left: 0;
}
.foot_nav2 ul li {
    margin-left: 20px;
    padding-left: 20px;
    border-left: 1px solid #ccc;
}

.foot_nav2 a {
    color: #fff;
    font-size: 14px;
}

.foot_bottom {
    padding: 5px 0 10px 0;
    background: #008A7B;
    text-align: center;
    color: #fff;
}

.copyright {
    font-size: 12px;
    margin-top: 100px;
}


/* breadcrumb */

.breadcrumb {
    background: #DDF0ED;
    padding: .2em 0;
    position: relative;
    z-index: 1;
    text-align: left;
}

.breadcrumb li {
    display: inline-block;
    color: #008A7B;
}

.breadcrumb li a {
    color: #008A7B;
}

.breadcrumb li a:after {
    content: ">";
    margin-left: 5px
}

/* pager */
.article-pager {
    margin: 150px 0 150px;
    width: 100%;
    text-align: center;
    font-size: 14px;
}

.article-pager a {
    text-align: center;
    padding: 6px 12px;
    display: inline-block;
    margin-top: 5px;
    font-weight: bold;
    color: #919191;
}

.article-pager a {
    padding: 6px 20px;
}

.article-pager span {
    text-align: center;
    color: #212121;
    padding: 6px 12px;
    display: inline-block;
    margin-top: 5px;
    background: #EEEEEE;
}

.article-pager span {
    padding: 6px 20px;
}


/* pager-single */

.article_content .pager {
    margin-top: 200px;
    border-top: 1px solid #222222;
    display: flex;
    justify-content:space-between;
    padding-top: 15px;
    padding-bottom: 60px;
}

.article_content .pager p {
    font-size: 12px;
    width: 160px 
}

.article_content .pager a {
    display: flex;
    color: #333;
}

.article_content .prev p {
    margin-left: 6px;
}

.article_content .prev::before {
    content: "\2190";
    width: 26px;
    height: 20px;
    text-align: center;
    line-height: 20px;
    color: rgb(255, 255, 255);
    font-size: 12px;
    display: inline-block;
    background: rgb(68, 68, 68);
    transition: all 0.2s ease 0s;
}

.article_content .next p {
    margin-right: 6px;
    text-align: right;
}

.article_content .next::after {
    content: "\2192";
    width: 26px;
    height: 20px;
    text-align: center;
    line-height: 20px;
    color: rgb(255, 255, 255);
    font-size: 12px;
    display: inline-block;
    background: rgb(68, 68, 68);
    transition: all 0.2s ease 0s;
}

/* Editor */

/*ピンク色マーカ*/
.pink_line {
    background:rgba(0, 0, 0, 0)
    linear-gradient(transparent 60%, #FFABCE 0%)
    repeat scroll 0 0;
}
/*水色のマーカ*/
.blue_line {
    background:rgba(0, 0, 0, 0)
    linear-gradient(transparent 60%, #A7F1FF 0%)
    repeat scroll 0 0;
}
/*黄色のマーカ*/
.yellow_line {
    background:rgba(0, 0, 0, 0)
    linear-gradient(transparent 60%, #FFFF88 0%)
    repeat scroll 0 0;
}


@media only screen and (max-width: 1100px) {
    /* header */
    header .nav_link.open {
        width: 100%;
        font-weight: bold;
        height: 100vh;
    }

    header .nav_link ul {
        /* メニューの位置マイナス指定で画面外に */
        position: fixed;
        right: -100%;
        height: 100vh;
        display: flex;
        flex-direction: column;
        color: #333;
        background-color: #fff;
        transition: .3s;
        width: 80%;
        padding: 110px 0;
        z-index: 2;
    }

    header .nav_link li {
        flex: auto;
        height: 40px;
        border-bottom: 1px solid #ddd;
    }

    header .nav_link br {
        display: none;
    }

    header .right_logo .btn {
        display: flex;
    }

    header .right_logo .company_info {
        display: none;
    }
    
    header .right_logo .contact {
        display: none;
    }
    
    header .right_logo .inspection {
        display: none;
    }

    header .menu.open {
        right: 0;
    }
    
    /* bottom_nav */
    .bottom_nav {
        display: block;
    }
    
    /* footer */
    .foot_bottom {
        margin-bottom: 94px;
    }

    /* 上に戻るボタン */
    .pagetop {
        right: 10px;
        bottom: 110px;        
    }
}

@media only screen and (max-width: 1000px) {
    .breadcrumb ul {
        margin-left: 20px;
        margin-right: 20px;
    }
}

@media only screen and (max-width: 768px) {
    /* footer */

    footer {
        padding-top: 15px;
    }

    footer .foot {
        flex-direction: column;
        /* width: 90%; */
    }

    footer .address {
        width: auto;
        margin: 0;
        display: flex;
        margin: 0 auto;
    }

    footer .logo {
        width: 50px;
        /* height: 70px; */
    }

    footer .address .ad_logo {
        font-size: 14px;
        letter-spacing: 0.4em;
        margin-top: 24px;
    }

    footer .foot_nav {
        width: 360px;
        margin: 0 auto;
    }

    footer .foot_nav li {
        width: 50%;
    }

    footer .foot_nav>li a:before {
        width: 14px;
        height: 14px;
        left: 14px;
    }

    .foot_nav2 ul li {
        margin-left: 5px;
        padding-left: 5px;
    }

    .foot_nav2 a {
        font-size: 10px;
    }

    .foot_bottom {
        padding: 2px 0 10px 0;
    }

    .copyright {
        font-size: 10px;
        margin-top: 50px;
    }

    /* pager-single */

    .article_content .pager a {
        width: 140px;
    }    
}
