@charset "UTF-8";
@import url(//fonts.googleapis.com/earlyaccess/notosansjapanese.css);

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

 COMMON

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

html,body {
    font-size:16px;
    font-weight: 500;
    font-family: Arial, "游ゴシック", "Yu Gothic", "游ゴシック", YuGothic, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "Helvetica Neue", Helvetica, sans-serif;
    line-height: 1.8;
}

.container-fluid {
    width: 100%;
    max-width:1110px;/*　画面幅の上限　*/
    margin-left: auto;
    margin-right: auto;
}

a:hover,
a:active,
a:focus{
    transition: ALL 0.35s ease;
}

@media(max-width:480px) {
    html,body {
        font-size:14px;
    }
}

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

 HEADER

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

header {
    border-radius: 0;
    position: relative;
    margin-bottom: 0;
    z-index: 5;
}

.navbar-custom {
    background-color: #3FA9A9;
    margin-bottom: 0;
    border-radius: 0;
    border: none;
}

header > .navbar-custom > h1.lead {
    font-size: 0.75rem;
    margin: 0;
    color: #ffffff;
    background-color: #338A8A;
    line-height: 2.5em;
}
header > .navbar-custom > h1.lead div{
    white-space: nowrap;
    overflow: hidden;
    -o-text-overflow: ellipsis;
    text-overflow: ellipsis;
}

.navbar-custom > .container-fluid > div.headwrap{
    position: relative;
    padding-bottom: 77px;
    width: 100%;
    z-index: 50
}


.navbar-custom > .container-fluid > div.headwrap > .navbar-header {
    position: absolute;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
    /* width: 36.72%; */
    max-width: 286px;
}

.navbar-custom > .container-fluid > div.headwrap > .navbar-header img{
    width: 100%;
}

.navbar-custom > .container-fluid > div.headwrap > .navbar-collapse {
    position: absolute;
    top: 0;
    right: -15px;
    padding: 0;
    font-size: 1rem;
}


/*****************/
/*グローバルメニュー*/
/*****************/

/*メインメニュー*/
.navbar-custom .navbar-nav {
    margin-top:0;
    margin-bottom:0;
    margin-right: 0;
    min-height: auto;
    font-family: 'Noto Sans Japanese', sans-serif;
    border: none;
}

.navbar-custom .navbar-collapse .navbar-nav>li>a{
    color: #ffffff;
    font-size: 1rem;
    position: relative;
    padding: 24px 25px 13px;
}
@media(max-width:1000px){
    .navbar-custom .navbar-collapse .navbar-nav > li > a {padding-left: 10px;padding-right: 10px;}
}
@media(max-width:825px){
    .navbar-custom .navbar-collapse .navbar-nav > li > a {padding-left: 5px;padding-right: 5px;}
}
.navbar-custom .navbar-collapse .navbar-nav>li>a>span{
    display: block;
    font-size: 0.625rem;
    text-align: center;
    font-weight: normal;
}


.navbar-custom .navbar-nav>li>button{
    position: absolute;
    top:0;
    right:0;
    width: 40px;
    height: 40px;
    background-color: #2F7D7D;
    color:#fff;
    font-size: 1.14rem;
}
.navbar-custom .navbar-nav>.open>button{
    background-color: rgba(255,255,255,0.8);
    color:#2F7D7D;
}


.navbar-custom .navbar-nav>li:hover>a,
.navbar-custom .navbar-nav>li:active>a,
.navbar-custom .navbar-nav>li:focus>a,
.navbar-custom .navbar-nav>li.open>a,
.navbar-custom .navbar-nav>li:focus.open>a,
.navbar-custom .navbar-nav>li:hover.open>a,
.navbar-custom .navbar-nav>li>a:focus{
    background-color: #2F7D7D;
}

/*サブメニュー*/
.navbar-custom .navbar-nav>li.dropdown>.dropdown-menu,
#scroll_menu ul>li.dropdown>.dropdown-menu{
    padding: 0;
    opacity: 0;
    display: block;
    pointer-events:none;
    transition: ALL 0.35s ease;
    left: 0;
    right: auto;
    border: none;
    background-color: transparent;
}

.navbar-custom .navbar-nav>li.dropdown:nth-last-of-type(-n+2)>.dropdown-menu,
#scroll_menu ul>li.dropdown:nth-last-of-type(-n+2)>.dropdown-menu{
    left: auto;
    right: 0;
    
}

.navbar-custom .navbar-nav>li>.dropdown-menu>li+li{
    border-top: 1px solid rgba(255,255,255,0.66);
}

.navbar-custom .navbar-nav>li>.dropdown-menu>li>a{
    color: #ffffff;
    font-size: 0.875rem;
    background-color: rgba(47, 125, 125, 0.9);
    position: relative;
    padding: 1em 2.25rem;
}

.navbar-custom .navbar-nav>li>.dropdown-menu>li>a::before{
    content: "\f0da";
    font-family: FontAwesome;
    position: absolute;
    left: 16px;
    top: 50%;
    transform: translateY(-50%);

}

.navbar-custom .navbar-nav>li>.dropdown-menu>li>a:focus,
.navbar-custom .navbar-nav>li>.dropdown-menu>li>a:hover {
    text-decoration: none;background-color: rgba(47, 125, 125,1);
}


/******************************************************************************
【ドロップダウン挙動説明】
・PC閲覧（768px以上）はhoverでサブメニュー表示
・スマホ閲覧（767px以下）はメインメニュークリックでサブメニュー表示
・仕様上、サブメニューオープンのメニューが実ページを持ってても、サブメニュー表示処理でリンクできない

下処理はPC向けのメディアクエリ
*******************************************************************************/
@media (min-width:768px){
    .navbar-custom .navbar-nav>li.dropdown:hover > .dropdown-menu,
    #scroll_menu ul>li.dropdown:hover>.dropdown-menu{
        opacity: 1;
        pointer-events:auto;
    }
}

/*トグルメボタン*/
.navbar-custom .navbar-toggle{
    border-color:#ffffff;;
    margin-right: 0;
}
.navbar-custom .navbar-toggle:active,
.navbar-custom .navbar-toggle:focus,
.navbar-custom .navbar-toggle:hover {
    background-color:#ffffff;
}
.navbar-custom .navbar-toggle .icon-bar{
    background-color: #ffffff;
}
.navbar-custom .navbar-toggle:active .icon-bar,
.navbar-custom .navbar-toggle:focus .icon-bar,
.navbar-custom .navbar-toggle:hover .icon-bar {
    background-color:#3FA9A9;
}


/****　縮小後表示　****/
@media (max-width:767px){
    header{
    }
    .navbar-custom > .container-fluid > div.headwrap {
        height: auto;
        padding-bottom: 0;
    }
    .navbar-custom > .container-fluid > div.headwrap > .navbar-header {
        position: relative;
        width: 100%;
        max-width: 100%;
        top: auto;
        left: auto;
        transform: none;
        padding: 0 15px;
    }
    .navbar-custom > .container-fluid > div.headwrap > .navbar-header a {
        display: block;
        width:60%;
        max-width: 150px;
        position: absolute;
        top: 50%;
        transform: translateY(-50%);
    }
    
    .navbar-custom > .container-fluid > div.headwrap > .navbar-collapse {
        position: static;
        top: auto;
        right: auto;
        transform: none;
        padding: 0 15px;
        background-color: #3FA9A9;
        border-top: none;
    }
    .navbar-custom .navbar-nav{
        margin-right: -15px;
    }
    .navbar-custom .navbar-collapse .navbar-nav>li,
    .navbar-custom .navbar-collapse .navbar-nav>li:first-of-type{
        border-bottom: 1px solid #ffffff;
        border-right: none;
        border-left: none;
    }
    
    .navbar-custom .navbar-nav>li.dropdown>.dropdown-menu{
        margin-top: 0;
        display: none;
        opacity: 1;
        pointer-events: auto;
    }
    .navbar-custom .navbar-nav>li.dropdown.open>.dropdown-menu{
        display: block;
    }
    
    .navbar-custom .navbar-collapse .navbar-nav>li>a{
        padding: 10px;
        margin: 0;
        border-left: none;
        border-bottom:none;
    }
    .navbar-custom .navbar-collapse .navbar-nav>li>a>span{
        display: inline-block;
        padding-left: 1em;
    }

    .navbar-custom{
        min-height: 76px;
        border:none;
    }
    .navbar-custom > .container-fluid{
        position: absolute;
        width: 100%;
        z-index: 3;
        padding: 0;
    }
    .navbar-custom .navbar-nav>li>.dropdown-menu>li>a{
        padding-left: 30px;
    }
}

#scroll_menu {
    position: fixed;
    background-color: #3FA9A9;
    width: 100%;
    z-index: 100;
}

#scroll_menu > .container-fluid {
    text-align: center;
}

#scroll_menu > .container-fluid > ul{
    margin-bottom: 0;
    list-style: none;
    font-family: 'Noto Sans Japanese', sans-serif;
}

#scroll_menu > .container-fluid > ul > li {
    display: inline-block;
}
#scroll_menu > .container-fluid > ul > li > a{
    color: #ffffff;
    font-size: 1rem;
    position: relative;
    padding: 18px 25px;
    display: inline-block;
    text-decoration: none;
}

#scroll_menu > .container-fluid > ul > li > a > span{
    display: block;
    font-size: 0.625rem;
    text-align: center;
    font-weight: normal;
}

#scroll_menu > .container-fluid > ul > li:hover > a,
#scroll_menu > .container-fluid > ul > li:active > a,
#scroll_menu > .container-fluid > ul > li:hover > a{
    background-color: #2F7D7D;
}
#scroll_menu ul>li.dropdown>.dropdown-menu {
    margin-top: 0;
    border-radius: 0;
}

#scroll_menu ul>li.dropdown>.dropdown-menu>li+li{
    border-top: 1px solid rgba(255,255,255,0.66);
}

#scroll_menu ul>li.dropdown>.dropdown-menu>li>a{
    color: #ffffff;
    font-size: 0.875rem;
    background-color: rgba(47, 125, 125, 0.9);
    position: relative;
    padding: 1em 2.25rem;
}

#scroll_menu ul>li.dropdown>.dropdown-menu>li>a::before{
    content: "\f0da";
    font-family: FontAwesome;
    position: absolute;
    left: 16px;
    top: 50%;
    transform: translateY(-50%);
}

#scroll_menu ul>li.dropdown>.dropdown-menu>li>a:focus,
#scroll_menu ul>li.dropdown>.dropdown-menu>li>a:hover {
    text-decoration: none;
    background-color: rgba(47, 125, 125, 1);
}


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

 FOOTER

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

footer {
    color:#ffffff;
    background-color: #54C0C0;
    padding-top: 1.5rem;
    padding-bottom: 5rem;
}

footer .row > div:first-of-type img.footer-logo{
    margin-bottom: 1em;
}


footer .row > div:first-of-type p{
    margin-bottom: 0;
    padding: 0 15px;
    font-size: 0.875rem;
}

footer .row > div:last-of-type{
    text-align: right;
    margin-top: 1rem;
}

footer .row > div:last-of-type nav ul{
    margin-top: 1.5rem;
    font-size: 0.875rem;
}

footer .row > div:last-of-type nav > ul >li{
    display: inline-block;
}
footer .row > div:last-of-type nav > ul >li+li{
    margin-left: 1em;
}
footer .row > div:last-of-type nav > ul >li>a{
    color: #fff;
}

footer .row > div:last-of-type div.information {
    display: inline-block;
    font-size: 1.875rem;
    vertical-align: top;
    line-height: 1rem;
    letter-spacing: 1px;
    white-space: nowrap;
    text-align: center;
    text-decoration: none;
}


footer .row > div:last-of-type div.information span{
    display: block;
    font-size: 0.75rem;
    vertical-align: top;
}

footer .row > div:last-of-type a.contacts_btn {
    display: inline-block;
    border: 1px solid #fff;
    color:#ffffff;
    text-decoration: none;
    line-height: 3rem;
    font-weight: bold;
    padding: 0 2em;
    margin-left: 1em;

}

footer .row > div:last-of-type a.contacts_btn:hover,
footer .row > div:last-of-type a.contacts_btn:active {
    background-color: #ffffff;
    color: #54C0C0;
}


/* ページトップへ戻るボタン */
#page-top {
    position: fixed;
    bottom: 20px;
    right: 20px;
    z-index: 10;
}
#page-top a {
    border: 1px solid #888888;
    border-radius: 3px;
    text-decoration: none;
    color: #888888;
    background-color: rgba(255,255,255,0.5);
    padding: 3px 18px;
    font-size: 2.0rem;
    text-align: center;
    display: block;
}
#page-top a:hover,
#page-top a:active {
}



/* コピーライト */
.copylight {
    color:#ffffff;
    text-align: center;
    font-size: 0.75rem;
    padding: 1em 0;
    background-color: #555555;
}

/****　縮小後表示　****/
@media (max-width:767px){
    footer .row > div:first-of-type {
        text-align: center;
        margin-bottom: 1em;
    }
    footer .row > div:first-of-type img.footer-logo{
        margin-left:auto;
        margin-right: auto;
    }
    footer .row > div:last-of-type{
        text-align: center;
    }    
    
    footer .row > div:last-of-type nav ul{
        margin-top: 0;
    }
    footer .row > div:last-of-type div.information,
    footer .row > div:last-of-type a.contacts_btn{
        margin-left: 1em;
        margin-right: 1em;
        margin-bottom: 15px;
    }
}

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

 MAIN

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

main {
    margin-bottom:50px;
    z-index: 1;
}


/****************/
/* パンくずリスト */
/***************/
.breadcrumb-area {
    border-top: 0.75rem solid #338A8A;
    border-bottom: 1px solid #dddddd;
    margin-bottom: 2.5rem;
}

.breadcrumb{
    background-color: transparent;
    margin: 0;
    padding: 1em 0;
    font-size: 0.75rem;
    line-height: 1.2
}

.breadcrumb>li{
}

.breadcrumb>li+li:before{
    content:"|\00a0";
    color:#338A8A;
}

.breadcrumb>li>a{
    color:#338A8A;
}
.breadcrumb>li.active{
    color: #338A8A;
}


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


/* サイドバー */
/*************/

/* 表題 */
.secondary .sidebar-menu {
    margin-bottom: 30px;
}

.secondary .sidebar-menu h3 {
    color: #ffffff;
    background-color: #338A8A;
    border-left: 10px solid #3FA9A9;
    border-right: 10px solid #3FA9A9;
    font-size: 1.125rem;
    text-align: center;
    margin: 0;
    padding: 0.75rem 0;
}

/* メニュー本体 */
.secondary .sidebar-menu ul {
    list-style-type: none;
    margin-bottom: 0;
}
.secondary .sidebar-menu > ul > li {
    border-bottom: 1px solid #cccccc;
    line-height: 1.2;
    padding: 1px 0;
}
.secondary .sidebar-menu ul > li > a {
    padding: 1.25rem 10px;;
    display: block;
    text-decoration: none;
    color: #000000;
    font-size: 0.875rem;
    border-top:1px solid #fff;
    border-bottom:1px solid #fff;
}

.secondary .sidebar-menu ul > li > a::before {
    content: "\f105";
    font-family: "FontAwesome";
    color: #338A8A;
    padding-right: 10px;
}

.secondary .sidebar-menu ul > li:hover,
.secondary .sidebar-menu ul > li:active {
    text-decoration: none;
    background-color: #C1DCDC;
}
.secondary .sidebar-menu ul > li > a:focus {
    text-decoration: none;
}
.secondary .sidebar-menu ul > li > a .fa {
    color: #0b3899;
    padding-right: 5px;
}

/*　選択したもの　*/
.secondary .sidebar-menu ul > li.active {
    background-color: #C1DCDC;
}

.secondary a > img {
    transition: opacity 0.35s ease;
}

.secondary a:hover > img {
    opacity: 0.7;
}

@media(max-width:767px){
    
    #breadcrumbarea div.container-fluid{
        padding: 0.5em 15px;
        margin-bottom: 2em;
    }
    .breadcrumb{
        white-space: nowrap;
        overflow: hidden;
        -o-text-overflow: ellipsis;
        text-overflow: ellipsis;
    }
    .breadcrumb>li{
        display: inline;
    }

    .primary{
        margin-bottom: 50px;
    }
    
    .secondary .sidebar-menu ul {
        margin-bottom: 30px;
    }
    .secondary .sidebar-menu ul > li > a{
        font-size: 1rem;
        padding: 12px;
    }
    
}

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

 BOOTCMS　コンテンツ設定部分

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

/* 見出し */

div.page-title {
    background-color: #C1DCDC;
    position: relative;
    overflow: hidden;
}


div.page-title > div.container-fluid{
    background-position: right;
    background-size: 70%;
    background-repeat: no-repeat;
    position: relative;
    padding-bottom: 33.3333%;
    z-index: 2;
    
}

@media(min-width:1081px){
    div.page-title > div.container-fluid{
        padding-bottom: 360px;
    }
}
div.page-title > div.container-fluid::before{
    content: "";
    display: block;
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    right: -1px;
    background-image: url(../img/skin_slideshow.png);
    background-repeat: repeat;
    background-position: center;
    z-index: 1;
}



div.page-title > div.container-fluid::after{
    content: "";
    display: block;
    position: absolute;
    width: 100%;
    height: 100%;
    background:#C1DCDC;
    background: -moz-linear-gradient(left, rgba(193, 220, 220,1) 0%, rgba(193, 220, 220,1) 30%, rgba(193, 220, 220,0) 60%, rgba(193, 220, 220,0) 80%, rgba(193, 220, 220,1) 100%); /* FF3.6-15 */
    background: -webkit-linear-gradient(left, rgba(193, 220, 220,1) 0%,rgba(193, 220, 220,1) 30%,rgba(193, 220, 220,0) 60%,rgba(193, 220, 220,0) 80%,rgba(193, 220, 220,1) 100%); /* Chrome10-25,Safari5.1-6 */
    background: linear-gradient(to right, rgba(193, 220, 220,1) 0%,rgba(193, 220, 220,1) 30%,rgba(193, 220, 220,0) 60%,rgba(193, 220, 220,0) 80%,rgba(193, 220, 220,1) 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#3f8780', endColorstr='#3f8780',GradientType=1 ); /* IE6-9 */
    right: -1px;
    top: 0;
    z-index: 2;
}


div.page-title > div.container-fluid > h2 {
    margin: 0;
    font-size: 2.3125rem;
    color: #338A8A;
    font-weight: bold;
    position: absolute;
    z-index: 3;
    top: 44.4444%;
    left: 40px;
}

div.page-title > div.container-fluid > h2 > span {
    display: block;
    font-size: 1.625rem;
    font-weight: normal;
    margin-top: 1rem;
}


.lv1 {
    font-size: 1.625rem;
    color: #338A8A;
    font-weight: bold;
    margin-top: 0;
    background-color: #fff;
    margin-bottom: 25px;
    overflow: hidden;
}

.lv1 span {
    display: inline-block;
    position: relative;
    padding-right: 2rem;
}

.lv1 span::after{
    content: "";
    width: 2000%;
    height: 1px;
    background-color: #338A8A;
    position: absolute;
    left: 100%;
    top: 50%;
}

.lv2 {
    color: #338A8A;
    font-size: 1.375rem;
    font-weight: bold;
    margin-top: 0;
    margin-bottom: 25px;
}


.lv3 {
    color: #338A8A;
    font-size: 1.125rem;
    font-weight: bold;
    margin-top: 0;
    margin-bottom: 25px;
    border-left: 5px solid #338A8A;
    padding-left: 5px;
}

.lv4 {
    color: #338A8A;
    font-size: 1rem;
    font-weight: bold;
    margin-top: 0;
    margin-bottom: 25px;
}
/* テキストのみ */
.text-only {
    margin-bottom: 25px;
}

.text-only > p{
    margin-bottom: 0;
}

/* 写真のみ */
.photo-only {
    margin-bottom: 35px;
    text-align: center;
}
.photo-only a img {
    display: inline-block;
}

/* 写真＋テキスト */
.photo-and-text {
    margin-bottom: 20px;
}
.photo-and-text:after {
    content: '';
    clear: both;
    display: table;
}
.photo-and-text p img {
    margin-bottom: 15px;
}
.photo-and-text p img {
    max-width: 40%;
}
.photo-and-text.photo-left img {
    float: left;
    margin: 0 15px 15px 0;
}
.photo-and-text.photo-right img {
    float: right;
    margin: 0 0 15px 15px;
}

/* 2列写真+キャプション & 3列写真+キャプション */
.two-photo ,
.three-photo {
        margin-bottom: 35px;
}
.two-photo a img ,
.three-photo a img {
  opacity: 1;
  -webkit-transition: .3s ease-in-out;
  transition: .3s ease-in-out;
 background-color: #ffffff;    
}
.two-photo a:hover img ,
.three-photo a:hover img {

  opacity: .7;
    background-color: #ffffff;
}

.two-photo .row div[class^="col"],
.three-photo .row div[class^="col"] {
    text-align: center;
}
.two-photo .row div[class^="col"] img,
.three-photo .row div[class^="col"] img {
    display: inline-block;
}
.two-photo .caption-title,
.three-photo .caption-title {
    font-size: 1rem;
    margin: 5px 0;
    /* color: #338A8A; */
    line-height: 1.4;
    font-weight: bold;
    text-align: left;
}

.two-photo .caption-text,
.three-photo .caption-text {
    margin: 5px 0;
    line-height: 1.6;
    text-align: left
}

/** テーブル **/
.table-on{margin-bottom: 40px;}
table.standard-table,
table.responsive-table{
    width: 100%;
    border-collapse: collapse;
    border:1px solid #338A8A;
}


table.standard-table td,
table.responsive-table td{
    border:1px solid #dddddd;
    padding: 1em;
}

table.standard-table th,
table.responsive-table th{
    border:1px solid #dddddd;
    background-color: #eee;
    color: #000000;
    font-weight: normal;
    padding: 1em;
    width: 240px;
    white-space: nowrap;
}
.table-responsive::-webkit-scrollbar{height: 5px;}
.table-responsive::-webkit-scrollbar-track{background:#ddd;}/*バーの背景色*/
.table-responsive::-webkit-scrollbar-thumb{background:#999;}/*バーの色*/

@media (max-width: 767px) {
    table.standard-table th,
    table.responsive-table th,
    table.standard-table td,
    table.responsive-table td {
        padding: 0.5em;
    }
    table.responsive-table,
    table.responsive-table tbody,
    table.responsive-table th,
    table.responsive-table tr,
    table.responsive-table td {
        display: block;
        width: 100%;
        border: none;
    }

    table.responsive-table{
        border-top:1px solid #338A8A;
        border-left:1px solid #338A8A;
        border-right:1px solid #338A8A;
    }
    table.responsive-table th,
    table.responsive-table td{
        border-bottom:1px solid #338A8A;
        padding: 0.5rem 1rem;
    }

}



ul.dot{
    list-style:none;
    margin: 0;
    padding: 0;
}
ul.dot > li{
    padding-left: 1em;
    line-height: 1.8;
    position: relative;
}
ul.dot li:before{
    color: #338A8A;
    font-family: FontAwesome;
    content:"\2022";
    position: absolute;
    left: 0;
}

ol.counter{
    list-style:none;
    counter-reset:number;
    margin: 0;
    padding: 0;
}
ol.counter li{
    padding-left: 1em;
    line-height: 1.8;
    position: relative;
}
ol.counter li:before{
    color: #338A8A;
    counter-increment: number;
    content: counter(number)".";
    position: absolute;
    left: 0;
}

/* Youtube GoogleMap 埋め込みタグ レスポンシブ化 */
.youtube-box,
.gmap-box {
    position: relative;
    padding-bottom: 56.25%;
    width: 100%;
    height: 0;
}
.youtube-box iframe,
.gmap-box iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}
.gmap-box iframe {
    pointer-events: none;    
}

/*  */
ul.circle-list {
    list-style-type: none;
}
ul.circle-list>li {
    padding-left: 1em;
    line-height: 1.4;
    padding-top: 0.2em;
    padding-bottom: 0.2em;
    position: relative;
}
ul.circle-list>li:before {
    content: '\2022';
    position: absolute;
    left: 0.25em;
}

/* オリジナルボタン */
.original-btn {
    display: inline-block;
    text-decoration: none;
    transition: all 0.35s ease;
    text-align: center;
    border-radius: 5px;
}
.original-btn:hover,
.original-btn:active,
.original-btn:focus {
    text-decoration: none;
}
.original-btn.theme-btn-l {
    padding: 20px 50px;
    font-size: 1.14rem;
    font-weight: bold;
    border: 2px solid #777777;
    background-color: #777777;
    color: #ffffff;
}
.original-btn.theme-btn-l:hover,
.original-btn.theme-btn-l:active,
.original-btn.theme-btn-l:focus {
    background-color: transparent;
    color: #777777;
}

.original-btn.theme-btn-s {
    padding:13px 20px;
    font-size: 1.0rem;
    font-weight: bold;
    border: 2px solid #777777;
    background-color: #777777;
    color: #ffffff;
}
.original-btn.theme-btn-s:hover,
.original-btn.theme-btn-s:active,
.original-btn.theme-btn-s:focus {
    background-color: transparent;
    color: #777777;
}

.original-btn.theme-btn-l.btn-orange,
.original-btn.theme-btn-s.btn-orange {
    border: 2px solid #FF8000;
    background-color: #FF8000;
}

.original-btn.theme-btn-l.btn-orange:hover,
.original-btn.theme-btn-l.btn-orange:active,
.original-btn.theme-btn-l.btn-orange:focus,
.original-btn.theme-btn-s.btn-orange:hover,
.original-btn.theme-btn-s.btn-orange:active,
.original-btn.theme-btn-s.btn-orange:focus {
    background-color: transparent;
    color: #FF8000;
}

.original-btn.theme-btn-l.btn-green,
.original-btn.theme-btn-s.btn-green {
    border: 2px solid #338A8A;
    background-color: #338A8A;
}

.original-btn.theme-btn-l.btn-green:hover,
.original-btn.theme-btn-l.btn-green:active,
.original-btn.theme-btn-l.btn-green:focus,
.original-btn.theme-btn-s.btn-green:hover,
.original-btn.theme-btn-s.btn-green:active,
.original-btn.theme-btn-s.btn-green:focus {
    background-color: transparent;
    color: #338A8A;
}

.original-btn.btn-1{width:8.33%}
.original-btn.btn-2{width:16.67%}
.original-btn.btn-3{width:25%}
.original-btn.btn-4{width:33.33%}
.original-btn.btn-5{width:41.67%}
.original-btn.btn-6{width:50%}
.original-btn.btn-7{width:58.33%}
.original-btn.btn-8{width:66.67%}
.original-btn.btn-9{width:75%}
.original-btn.btn-10{width:83.33%}
.original-btn.btn-11{width:91.67%}
.original-btn.btn-12{width:100%}

/****　縮小後表示　****/

/****　縮小後表示　****/
@media (max-width: 767px) {
    /* 見出し */
    div.page-title > div.container-fluid > h2 {
        top: 50%;
        max-width: 100%;
        left: 0;
        transform: translateY(-50%);
        padding: 0 15px;
        font-size: 1.75rem;
        text-shadow: 2px 2px 2px #ffffff;
    }
    
    div.page-title > div.container-fluid > h2 > span {
        display: block;
        font-size: 1.25rem;
        font-weight: normal;
        margin-top: 0.5rem;
    }

    .lv1 {font-size: 1.5rem;}
    .lv2 {font-size: 1.25rem;}
    .lv3 {font-size: 1.25rem;}
    .lv4 {font-size: 1.25rem;}
    
    table.standard th{
        padding: 0.5em;
    }
    table.standard td{
        padding: 0.5em;
    }
    table.theme-table th,
    table.theme-table td{
        padding: 0.5em;
    }
    
    
    .two-photo .row div[class^="col"],
    .three-photo .row div[class^="col"]{
        margin-bottom: 30px;
    }
    .two-photo .row div[class^="col"]:last-of-type,
    .three-photo .row div[class^="col"]:last-of-type{
        margin-bottom: 0;
    }
}

@media (max-width: 480px) {
    
    /* 写真＋テキスト */
    .photo-and-text .photo-area {
        display: block;
        text-align: center;
    }
    .photo-and-text.photo-left img,
    .photo-and-text.photo-right img {
        float: none;
        margin: 0 0 5px;
        display: inline-block;
        max-width: 100%;
    }
}



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

 TOP PAGE

*******************************************************************************************/
.top-page main,
.top-page header{
margin-bottom:0px;
}

/*******************/
/**メインビジュアル**/
/*****************/

body.top-page div#mainvisual{
    padding-bottom: 58.33%;
    position: relative;
    border-bottom: 0.75rem solid #338A8A;
}
@media(min-width:1080px){
    body.top-page div#mainvisual{
        padding-bottom: 630px;
    }
}

body.top-page div#mainvisual div.slideshow{
    position: absolute;
    width: 100%;
    height: 100%;
    overflow: hidden;
    z-index: 1;
}

body.top-page div#mainvisual div.slideshow::after {
    content: "";
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    background-image: url(../img/skin_slideshow.png);
    background-repeat: repeat;
    background-position: center;
    z-index: 5;
}

body.top-page div#mainvisual div.slideshow.slick-slider .slick-track,
body.top-page div#mainvisual div.slideshow.slick-slider .slick-list{
    height: 100%;
    z-index: 1;
    overflow: hidden;
}

body.top-page div#mainvisual div.slideshow div.slide{
    width: 100%;
    height: 100%;
    background-size: cover;
    background-position: center;
}

body.top-page div#mainvisual ul.dot-nav {
    position: absolute;
    display: block;
    margin: 0;
    bottom: 0;
    width: 100%;
    max-width: 1080px;
    text-align: right;
    z-index: 7;
    left: 50%;
    transform: translateX(-50%);
}

body.top-page div#mainvisual ul.dot-nav li{
    display: inline-block;
    font-size:1px;
    line-height: 1;
    margin: 0 0.5rem;
}

body.top-page div#mainvisual ul.dot-nav li button{
    width: 1rem;
    height: 1rem;
    background-color: #54C0C0;
    border-radius: 50%;
    overflow: hidden;
    text-indent: 9999px;
}
body.top-page div#mainvisual ul.dot-nav li.slick-active button{
    background-color: #338A8A;
    border: thin solid #ffffff;
}


body.top-page div#mainvisual div.catch{
    position:absolute;
    display: block;
    width: 100%;
    max-width: 1080px;
    height: 100%;
    z-index: 3;
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%);
    pointer-events: none;
}

body.top-page div#mainvisual div.catch img {
    position: absolute;
    top: 100%;
    left: -84px;
    transform: translateY(-50%);
}
/*********/
/*ビジネス*/
/********/
#top-business-group {
    position: relative;
    overflow: hidden;
}

.top-block-business{
    position: relative;
    z-index: 5;
    padding: 3.125rem 0;
}
.top-block-business:first-of-type{
    padding-top: 9rem;
}
#top-business-group > span {
    content: "";
    width: 150%;
    height: 411px;
    display: block;
    position: absolute;
    transform-origin: center;
    z-index: 1;
}
#top-business-group > span:nth-of-type(2n){
    background-color: #F5F5F5;
}
#top-business-group > span:nth-of-type(2n+1){
    background-color: #C1DCDC;
}

#top-business-group > span:nth-of-type(1){
    left: 50%;
    top: -22%;
    transform: rotate(-10deg) translateX(-50%);
    z-index: 2;
}

#top-business-group > span:nth-of-type(2){
    top: 40%;
    left: 50%;
    transform: rotate(10deg) translateX(-50%);
    z-index: 1
}


#top-business-group > span:nth-of-type(3){
    left: 50%;
    top: 50%;
    transform: rotate(-10deg) translateX(-50%);
    z-index: 2;
}


.top-block-business div.container-fluid{
    position: relative;
    z-index: 3;
}

.top-block-business div.container-fluid h2 {
    margin-top: 0;
    font-size: 2rem;
    font-weight: bold;
    margin-bottom: 20px;
    color: #245F5F;
}
.top-block-business div.container-fluid p:first-of-type {margin-bottom: 20px;}


.top-block-business div.container-fluid p:last-of-type {margin-top: 2rem;margin-bottom: 0;}

.top-block-business div.container-fluid p:last-of-type a {
    display: inline-block;
    color: #ffffff;
    text-decoration: none;
    width: 50%;
    max-width: 250px;
    min-width: 6em;
    text-align: center;
    font-weight: 500;
    padding: 0.75em;
    border-width: 1px;
    border-style: solid;
    position: relative;
    background-color: #338A8A;
    border-color:#338A8A;
}

.top-block-business div.container-fluid p:last-of-type a::before {
    content: "\f0da";
    font-family: FontAwesome;
    position: absolute;
    right: 25px;
    top: 50%;
    transform: translateY(-50%);
}

.top-block-business div.container-fluid p:last-of-type a:hover {color: #338A8A;background-color: #ffffff;}

@media(max-width:767px){
    #top-business-group > span{height: 500px;}
    #top-business-group > span:nth-of-type(1){top: 0%;}
    #top-business-group > span:nth-of-type(2){top: 40%;}
    #top-business-group > span:nth-of-type(3){top: 67%;}
}



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

#top-block-recruit {
    background-image: url(../img/bg_top_block_recruit.jpg);
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
    padding: 2.75rem 0 7.25rem;
    position: relative;
}

#top-block-recruit h2{
    color: #338A8A;
    font-size: 1.875rem;
    font-weight: bold;
    margin-top: 0;
    margin-bottom: 1.5rem;
}
#top-block-recruit h2 span{
    display: block;
    color: #333333;
    font-size: 1.125rem;
    font-weight: normal;
}



#top-block-recruit section{
    width: 70%;
    max-width: 680px;
    color: #333;
}

#top-block-recruit section h3{
    margin: 0;
    font-size: 1.75rem;
    font-weight: bold;
    margin-bottom: 1rem;
    line-height: 1.5;
}

#top-block-recruit section p{
    letter-spacing: -1.3px;
    line-height: 1.95;
    margin-bottom: 4.125rem;
}

#top-block-recruit section a{
    display: block;
    font-size: 1rem;
    color: #ffffff;
    background-color: #338A8A;
    text-align: center;
    text-decoration: none;
    border: 1px solid #338A8A;
    padding: 1.25rem 0;
    max-width: 300px;
    position: relative;
    margin-left: auto;
    margin-right: auto;
}
#top-block-recruit section a::after{
    content: "\f0da";
    font-family: FontAwesome;
    position: absolute;
    right: 20px;
}
#top-block-recruit section a:hover{
    background-color: #fff;
    color:#338A8A;
}

@media(max-width:767px){
    
    .top-block-business div.container-fluid div.col-sm-5.col-xs-12 img {
        float: none;
        margin: 0 auto 2rem;
    }
    
    #top-block-recruit{
        padding: 3rem 0 58%;
        background-color: #f6f6f6;
        background-image: url(../img/bg_top_block_sub_sp.png);
        background-size: 100% auto;
        background-position: bottom;
    }
    
    #top-block-recruit section{
        width:100%;
        max-width:none;
        margin: 0;
    }
    #top-block-recruit section h3{
        font-size: 1.5rem;
    }
}

@media(max-width:480px){
    #top-block-recruit section h3{
        font-size: 1.25rem;
    }
    #top-block-recruit section p{
        margin-bottom: 1.5rem;
    }
}

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


#top-block-sub {
    background-color: #eff8ff;
    padding: 2rem 0;
}

#top-block-news{
    padding:3.75rem 0 5.625rem; 
    position: relative;
}

#top-block-news h2{
    color: #338A8A;
    font-size: 1.875rem;
    margin-top: 0;
    margin-bottom: 2.75rem;
    font-weight: bold;
}

#top-block-news h2 span {
    display: block;
    color: #333333;
    font-size: 1.125rem;
    margin-top: 10px;
    font-weight: normal;
}


#top-block-news div#news-list{
    margin: 0 auto;
}


#top-block-news a.btn_news{
    display: inline-block;
    color: #ffffff;
    background-color: #338A8A;
    text-decoration: none;
    width: 50%;
    max-width: 276px;
    min-width: 7em;
    padding: 1em;
    border: 1px solid #338A8A;
    position: relative;
}

#top-block-news a.btn_news::after{
    content: "\f0da";
    font-family: FontAwesome;
    position: absolute;
    right: 20px;
}

#top-block-news a.btn_news:hover,
#top-block-news a.btn_news:active,
#top-block-news a.btn_news:focus{
    color: #338A8A;
    background-color: #ffffff;
}


@media(max-width:767px){
    body.top-page div#mainvisual div.catch{
        width: 90%;
    }
    
    body.top-page div#mainvisual div.catch img {
        left: 50%;
        transform: translate(-50%,-50%);
    }
    body.top-page div#mainvisual ul.dot-nav {
        bottom: 20%;
        text-align: center;
    }
    
    .top-block-business {
        padding: 1.5rem 0;
    }
    
    
    .top-block-business:first-of-type{
        padding-top: 4rem;
    }
    
    .top-block-business div.container-fluid div.col-sm-5.col-xs-12 img {
        margin-bottom: 1rem;
    }
    
    .top-block-business div.container-fluid h2 {
        font-size: 1.75rem;
        margin-bottom: 10px;
    }
    
    .top-block-business div.container-fluid p:last-of-type {
        margin-top: 1rem;
    }
    .top-block-business div.container-fluid p:last-of-type a {
        padding: 0.5em;
    }
    
    #top-block-news a.btn_news {
        padding: 0.5em;
    }
}

@media(max-width:480px){

}

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

 SECOND PAGE

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


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

 NEWS PAGE

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


/* カテゴリタグの表示、デフォルトはグレー。 */

span.category a{
    color:#fff;
    font-size: 12px;
    line-height: 20px;
    width: 100px;
    text-align: center;
    display: inline-block;
    background-color: #54C0C0;
    border-radius: 3px;
}
span.category.info a{ background-color: #85B200;}
span.category.blog a{ background-color: #FFA64D;}

span.category a:active,
span.category a:hover,
span.category a:focus{
    text-decoration: none;
    opacity: 0.5;
}


/*********/
/*一覧画面*/
/********/

/* 補足：現状TOPページと同じ。 */

#news-list h2{
    /* border-top:2px solid #338A8A; */
    /* border-bottom:1px solid #DDDDDD; */
    font-size: 2.0rem;
    padding: 1rem;
    margin: 0;
    position: relative;
    font-weight: bold;
    /* color: #338A8A; */
    margin-bottom: 1.8rem;
    text-align: left;
    width: 100%;
}

#news-list h2 a{
    position: absolute;
    font-size: 1rem;
    display: inline-block;
    color: #fff;
    right: 0;
    top: 50%;
    text-decoration: none;
    transform: translateY(-50%);
    background-color: #338A8A;
    padding: 4px 10px;
    border: 1px solid #338A8A;
    border-radius: 3px;
    font-weight: normal;
}

#news-list h2 a:hover,
#news-list h2 a:focus,
#news-list h2 a:active{
    background-color: transparent;
    color: #338A8A;
}


#news-list dl {
   border-bottom: 1px solid #DDD;
    padding: 0 30px 1.4rem 30px;
}

#news-list dl:last-of-type {
    border-bottom: none;
}

#news-list dl dt{
    color: #666666;
    font-weight: normal;
    font-size: 0.875rem;
    margin-bottom: 10px;
}

#news-list dl dd a{
    color:#3F3F85;
    text-decoration: none;
}
#news-list dl dd a:hover,
#news-list dl dd a:focus,
#news-list dl dd a:active{
    text-decoration: underline;
}

#news-list dl dd span.new{
    display: inline-block;
    font-size: 11px;
    background-color: #FF4B54;
    color: #fff;
    line-height: 16px;
    position: relative;
    padding: 0 6px 0 11px;
    margin-right: 15px;
    font-weight: bold;
}
#news-list dl dd span.new:after{
    content: "";
    border-top: 8px solid transparent;

    border-bottom: 8px solid transparent;
    border-left:8px solid #FF4B54;
    position: absolute;
    top: 0%;
    left: 100%;
    z-index: 1;
}

/* ページャー部分。非表示にする */
body.news-page div#news-list ul.pager li.disabled{
    display:none;
}

body.news-page div#news-list ul.pager li.previous > a,
body.news-page div#news-list ul.pager li.previous>span,
body.news-page div#news-list ul.pager li.next  > a,
body.news-page div#news-list ul.pager .next >span{
    float: none;
    border: none;
    background-color: transparent;
    color: #338A8A;
}

/***********/
/*記事ページ*/
/**********/

body.news-page div.content h3.content-title {
    color: #333;
    font-size: 1.43rem;
    font-weight: bold;
    margin-top: 0;
    border-left: 5px solid #338A8A;
    padding-left: 5px;
    margin-bottom: 1em;
}

/* ページャー部分。非表示にする */
body.news-page div.content ul.pager li.disabled{
    display:none;
}

body.news-page div.content p.content-data {
    text-align: right;
    border-top: 1px solid #ccc;
    border-bottom: 1px solid #ccc;
    padding: 14px 10px;
}

body.news-page div.content p.content-data span.date + span.category a{
    margin-left: 20px;
}

body.news-page div.content ul.pager li.previous > a,
body.news-page div.content ul.pager .previous>span,
body.news-page div.content ul.pager li.next  > a,
body.news-page div.content ul.pager .next >span{
    float: none;
    border: none;
    background-color: transparent;
    color: #338A8A;
}


@media (max-width:767px){
    #news-list dl {
        padding-left: 0;
        padding-right: 0;
    }
    
    #news-list dl dd a{
        display: block;
    }
    #news-list dl dd span.new{
        margin-bottom:8px;
    }


}
@media (max-width:480px){
    body.news-page div.news-list .col-xs-4 {
        width:50%;
    }
    span.category a{
        width: 70px;
    }
}

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

 FORM　PAGE

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

body.form-page p.contact-number{
    font-weight: bold;
}

body.form-page p.contact-number span{
    font-size:2rem;
    color: #338A8A;
    font-weight: normal;
    line-height: 1em;
}



body.form-page div.tel-number,
body.form-page div.fax-number{
    display: inline-block;
    text-align: center;
    border:1px solid #dddddd;
    padding: 1rem 1.8rem;
}
body.form-page div.tel-number{border-radius: 5px 0 0 5px;}
body.form-page div.fax-number{border-radius: 0 5px 5px 0;border-left-width: 0}

body.form-page div.tel-number>p,body.form-page div.fax-number>p{margin-bottom: 0;line-height: 1;}
body.form-page div.tel-number>p:first-of-type,
body.form-page div.fax-number>p:first-of-type{color:#338A8A}
body.form-page div.tel-number>p:nth-of-type(2),
body.form-page div.fax-number>p:nth-of-type(2){color:#338A8A;font-size:2rem;line-height: 1.5;}

@media(max-width:870px){
    body.form-page div.tel-number,
    body.form-page div.fax-number{
        padding: 1rem 0.8rem;
    }
}


/*エラー表示時、トップがfixedの場合にラベルが見えるよう位置をずらす*/
body.form-page form#err{
    margin-top: -60px;
    padding-top: 110px;
}


body.form-page form div.form-group{
    margin-bottom:30px;
}


/* 入力欄表示 */
body.form-page form div.form-group label.control-label {
    display: block;
    padding: 0.5rem;
    color: #fff;
    background-color: #338A8A;
    border-radius: 0px;
    margin-bottom: 15px;
}
body.form-page form div.form-group .required {
    color: #ff0000;
}
body.form-page form div.form-group.has-error label.control-label {
    color:#a94442;
    background-color:#f2dede;
    border:1px solid #ebccd1;
}


body.form-page form div.form-group *.form-control{
    border-radius: 0px;
    border-width: 2px;
}

/* calendar入力 */
body.form-page form div.form-group div.calendar-group{
    display:flex;
}

body.form-page form div.form-group div.calendar-group label{
    display: table;
    position: relative;
}
body.form-page form div.form-group.has-error div.calendar-group label{
    margin-bottom: 2em;
}
body.form-page form div.form-group div.calendar-group input{
    width: auto;
    display:table-cell;
}

body.form-page form div.form-group div.calendar-group span:not(.label) {
    display:table-cell;
    padding: 0 0.5em;
    font-weight: normal;
}

body.form-page form div.form-group div.calendar-group span.label {
    position: absolute;
    left: 0;
    bottom: -2em;
}

@media (max-width:480px){
    body.form-page form div.form-group div.calendar-group{
        display:inline-block;
        
    }
    body.form-page form div.form-group div.calendar-group label{
        margin-left: auto;
    }
}


/*インライン入力部品*/
body.form-page form div.form-group .form-control.inline-parts {
    display: inline-block;
    width: auto;
    max-width: 100%;
}



body.form-page form div.form-group p.form-control-static {
    border:1px solid #CCCCCC;
    padding-left:10px;
    padding-right:10px;
}


body.form-page div.contact-complete div.tel-contact a.tel{
    font-size: 2.5em;
}

body.form-page form.confirm .form-group {
    margin-bottom: 0;
}

body.form-page form.confirm .submit-area{
    margin-top: 30px;
}

body.form-page form.confirm div.form-group label.control-label{
    margin-bottom: 0;
}

body.form-page form div.form-group .form-confirm-text {
    border: 1px solid #338A8A;
    padding: 15px 13px;
    margin-bottom: 0;
}

@media(max-width:767px){
    body.form-page div.tel-number,
    body.form-page div.fax-number{
        width: 100%;
        padding-left: 1rem;
        padding-right: 1rem;
        max-width: none;
    }
    body.form-page div.tel-number{
        border-radius: 5px 5px 0 0;
    }
    body.form-page div.fax-number{
        border-radius: 0 0 5px 5px;
        border-left-width: 1px;
        border-top-width: 0;
    }
    
    body.form-page form div.form-group .two-line > div:first-of-type{
        margin-bottom: 10px;
    }
}
@media(max-width:380px){
    body.form-page form .submit-area button{
        width:90%;
    }
    body.form-page form.confirm .submit-area button:first-of-type{
        margin-bottom: 3rem;
    }
}


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

　サイトマップ用テーブル　

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


table.sitemap-table {
    width: 100%;
}
table.sitemap-table th,
table.sitemap-table td {
    line-height: 1.2;
    border-top: none;
    border-bottom: 1px solid #cccccc;
    padding: 20px;
}
table.sitemap-table th {
    font-size: 1rem;
    width: 50px;
    white-space: nowrap;
    font-weight: normal;
}
table.sitemap-table a {
    color: #000000;
    text-decoration: none;
}
table.sitemap-table a:hover,
table.sitemap-table a:active,
table.sitemap-table a:focus {
    color: #338A8A;
}
table.sitemap-table td {
    font-size: 1rem;
}
table.sitemap-table td a {
    display: inline-block;
    position: relative;
    padding-left: 10px;
}
table.sitemap-table td a:not(:last-child) {
    margin-bottom: 15px;
}
table.sitemap-table td a:before {
    content: '\f0da';
    font-family: FontAwesome;
    position: absolute;
    top: 0;
    left: 0;
    color: #338A8A;
}

@media (max-width: 767px) {
    table.sitemap-table,
    table.sitemap-table tbody,
    table.sitemap-table tr,
    table.sitemap-table th,
    table.sitemap-table td {
        display: block;
    }
    table.sitemap-table th {
        width: auto;
        white-space: normal;
        border-bottom: none;
        padding: 15px 10px;
    }
    table.sitemap-table td {
        padding: 0 20px;
    }
    table.sitemap-table td a {
        margin-bottom: 15px;
    }
}

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

 Margin

*******************************************************************************************/
/* margin-top */
.mt-0 {margin-top: 0!important;}
.mt-10 {margin-top: 10px!important;}
.mt-20 {margin-top: 20px!important;}
.mt-25 {margin-top: 20px!important;}
.mt-30 {margin-top: 30px!important;}
.mt-40 {margin-top: 40px!important;}
.mt-50 {margin-top: 50px!important;}
.mt-60 {margin-top: 60px!important;}

/* margin-bottom */
.mb-0 {margin-bottom: 0!important;}
.mb-10 {margin-bottom: 10px!important;}
.mb-20 {margin-bottom: 20px!important;}
.mb-25 {margin-bottom: 25px!important;}
.mb-30 {margin-bottom: 30px!important;}
.mb-40 {margin-bottom: 40px!important;}
.mb-50 {margin-bottom: 50px!important;}
.mb-60 {margin-bottom: 60px!important;}


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

 追加

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



/*スクロールでフェードイン*/
.fadein{
	opacity: 0;
	transition-property: opacity;
    transition-duration:1.0s;
	/*display: flex;*/
}
/*jQueryにて.scrollinが付与され、透明度が解除*/
.fadein.scrollin{
	opacity: 1;
}



/* 追加テーブル */
table.performance-table {
    border-collapse: collapse;
    width: 100%;
    font-size: 0.875rem;
    border:1px solid #dddddd
}

table.performance-table th{
    background-color: #eee;
    color: #000000;
    text-align: center;
    padding: 0.5rem;
    font-weight: normal;
}

table.performance-table tr:nth-of-type(n+3){
    border-top: 1px solid #dddddd;
}

table.performance-table th + th,table.performance-table td +td{
    border-left: 1px solid #dddddd;
}

table.performance-table td{
    padding: 0.75rem;
}

table.performance-table td:nth-of-type(1),
table.performance-table td:nth-of-type(2){
    white-space: nowrap;
}

@media(max-width:767px){
    table.performance-table, 
    table.performance-table tbody, 
    table.performance-table tr, 
    table.performance-table th, 
    table.performance-table td {
        display: block;
        width: 100%;
    } 
    
    table.performance-table {
        border: 1px solid #dddddd;
    }
    
    table.performance-table tr:first-of-type{
        display: none;
    }
    
    table.performance-table td > br {
        display: none;
    }
    
    table.performance-table td {
        position: relative;
        padding-left: 5rem;
        border-left: none!important;
        border-bottom: 1px solid #cccccc;
    } 
    table.performance-table td::before {
        position: absolute;
        left: 0.75rem;
        font-weight: bold;
    }
    table.performance-table td:nth-of-type(1)::before {content: "発注者"}
    table.performance-table td:nth-of-type(2)::before {content: "工期"}
    table.performance-table td:nth-of-type(3)::before {content: "工事名"}
    table.performance-table td:nth-of-type(4)::before {content: "備考"}
    
    table.performance-table tr td:nth-of-type(1) {
        background-color: #dddddd;
    }
    table.performance-table tr td:nth-of-type(4) {
        border-bottom-color: #dddddd;
        height:3.3rem;
    }

}
