html,body{
    color:#444444;
    font-size:17px;
}
html{
    font-family:"Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
    line-height:150%;
}
body{
    height:100vh;
    width:100vw;
    display: flex;
    flex-direction: column;
}
.container-wide{
    flex-grow: 1;
}



.header-single{
    margin-top:0px;
    position:relative;
    display: flex;
    justify-content: space-between;
    align-items: center;
    background-color:#274DD2;
    height:70px;
}
.header-single .title{
    font-family: 'Kosugi Maru';
    margin-left:8px;
    font-size:22px;
    color:#ffffff;
    font-weight:bold;
    display: flex;
    align-items: center;
    justify-content: flex-start;
}
.header-single a.title{
    color:#ffffff;
}
.header-single .title .icon{
    margin-right:5px;
    display: flex;
    align-items: center;
}
.header-single .title .icon > span{
    font-size:26px;
    font-weight:bold;
    color:#274DD2;
    background-color:#ffffff;
    border-radius:50%;
    padding:2px;
}
.header-single .tel{
    padding-right:220px;
}
.header-single .tel .number{
    font-size:22px;
    color:#ffffff;
    display: flex;
    align-items: center;
}
.header-single .tel .number .material-icons-round{
    font-size:12px;
    color:#274DD2;
    background-color:#ffffff;
    border-radius:20px;
    padding:3px;
    margin-right:6px;
}
.header-single .tel .time{
    color:#ffffff;
    font-size:11px;
    text-align:right;
}



.header-single .header-button-tel {
    z-index: 100;
    font-family: 'Kosugi Maru';
    width:160px;
    height:110px;
    position:absolute;
    top:0;
    right:200px;
    background-color: #1de9b6;

    padding:0;

    border-radius:0 0 5px 5px;
    border-width:0 0px 0px 0px;
    border-style:solid;
    border-color:#2f2f2f;

    font-size:14px;
    font-weight:bold;
    cursor: pointer;

    display: flex;
    flex-direction: column;
    justify-content: center;

    text-align:center;
    box-shadow: 3px 3px 2px rgba(0, 0, 0, .4);
}
.header-single .header-button-tel .icon span{
    font-size:45px;
}
.header-single .header-button-tel .time{
    font-weight:normal;
    font-size:10px;
}
.header-single .header-button-tel .number{
    font-size:16px;
    font-family: "游ゴシック体";
}

.header-single .header-button{
    z-index: 100;
    font-family: 'Kosugi Maru';
    width:160px;
    height:110px;
    position:absolute;
    top:0;
    right:25px;
    background-color: #fcf209;

    padding:0;

    border-radius:0 0 5px 5px;
    border-width:0 0px 0px 0px;
    border-style:solid;
    border-color:#2f2f2f;

    font-size:14px;
    font-weight:bold;
    cursor: pointer;

    display: flex;
    flex-direction: column;
    justify-content: center;

    text-align:center;
    box-shadow: 3px 3px 2px rgba(0, 0, 0, .4);
}
.header-single .header-button .icon span{
    font-size:45px;
}






/* topic-path */
.single .post .topic-path,
.single .post .topic-path .ol {
    margin:0;
    padding:0;
}
.single .post .topic-path{
    display: flex;
    justify-content: space-between;
    margin-bottom:20px;
}
.single .post .topic-path .ol .li {
    color: #007bff;
    font-size: 12px;
    list-style:none;
    display: inline-block;
}
.single .post .topic-path .ol .li a {
    text-decoration: none;
    color: #007bff;
}

/* time-row */
.single .post .time-row{
    text-align:left;
    padding:0px;
    margin-top:-30px;
    margin-bottom:20px;
}
.single .post .time-row span{
    font-size:12px;
    margin:0px;
    padding:0px;
    line-height:1;
}
.single .post .time-row span .name{
    background-color:#eeeeee;
    font-size:10px;
    padding:3px;
    margin-right:3px;
    border-radius:1px;
}



.single .post{
    max-width:880px;
    width:100%;
    margin:auto;
    padding:30px;
}
.single .post h1{
    font-size:1.8rem;
    margin-top:20px;
    margin-bottom:50px;
    font-weight:bold;
}
.single .post h2{
    background-color:#274DD2;
    color:#ffffff;
    font-size:1.4rem;
    line-height:160%;
    padding:40px 30px;
    margin-top:50px;
    margin-bottom:20px;
    font-weight:bold;
    border-radius: 10px;
}
.single .post h3{
    border-bottom:4px solid #1565c0;
    font-size:1.3rem;
    padding:20px 0;
    margin-top:40px;
    margin-bottom:20px;
    font-weight:bold;
}
.single .post h4{
    font-size:1.15rem;
    padding:20px 0 20px 20px;
    margin-top:50px;
    margin-bottom:20px;
    font-weight:bold;
    border-left:4px solid #1565c0;
}
.single .post h5{
    font-size:1.05rem;
    padding:20px 0;
    margin-top:40px;
    margin-bottom:20px;
    font-weight:bold;
}
.single .post h6{
    font-size:1.05rem;
    border-bottom:2px solid #444444;
    padding:20px 0;
    margin-top:40px;
    margin-bottom:20px;
    font-weight:bold;
}
.single .post p{
    line-height:190%;
    margin-top:1rem;
    margin-bottom:1rem;
}


.single .post img{
    max-width:100%;
    height:auto;
    margin:15px 0;
}

/*************
 text modify
*/

.single .post .small{
    font-size:80%;
    color:#999;
}
.single .post .small a{
    color:#999;
    text-decoration:none;
}
.single .post a.external::after{
    content: "\e89e";
    font-family: 'Material Icons Round';
    font-size:0.9em;
    margin-left:3px;
    margin-right:3px;
}

.single .post strong{
}
.single .post strong.positive{
    /*color:#3f51b5;*/
    background: linear-gradient(transparent 60%, #18ffff 0%);
    line-height: 1.5em;

}
.single .post b{
    color:#f44336;
}



/**************
 * box
 */


/*
 * list ol
 */
.single .post ol {
    list-style-type: none;
    counter-reset: st-section;
    padding:0 0 0 30px;
    margin: 20px 0 20px 10px;
}
.single .post ol li {
    padding:10px 0;
    line-height: 23px;
    font-weight:normal;
}
.single .post ol.bold li {
    font-weight:bold;
}
.single .post ol li:not(:last-child) {
    margin-bottom:5px;
}
.single .post ol li:before {
    counter-increment: st-section 1;
    content: counter(st-section,decimal);
    display: inline-block;
    float: left;
    padding:0 8px;
    font-size:70%;
    margin-right:10px;
    background: #1565c0;
    color:#fff;
    margin-left:-3em;
    border-radius:2px;
}

/*
 * list ul
 */
.single .post ul {
    list-style-type: none;
    margin: 20px 0 20px 10px;
    padding:0 0 0 30px;
}
.single .post ul li {
    padding:10px 0;
    line-height: 23px;
    font-weight:normal;
}
.single .post ul.bold li {
    font-weight:bold;
}
.single .post ul li:not(:last-child) {
    margin-bottom:5px;
}
.single .post ul li:before {
    content: " \e57b";
    font-family: 'Material Icons Round';
    border-radius: 50%;
    -webkit-border-radius: 50%;
    -moz-border-radius: 50%;
    display: inline-block;
    float: left;
    padding:0 7px;
    font-size:70%;
    margin-right:10px;
    background: transparent;
    color:#1565c0;
    margin-left:-3em;
}



.single .post .question{
    padding:20px;
    margin-top:15px;
    margin-bottom:15px;
    border:3px solid #444444;
}

/* borderbox */
.single .post .borderbox{
    border:2px solid #1565c0;
    padding:18px;
    margin-top:15px;
    margin-bottom:15px;
    border-radius: 7px;
}
.single .post .borderbox p:first-child{
    margin-top:0px;
}
.single .post .borderbox p:last-child{
    margin-bottom:0px;
}

/* graybox */
.single .post .graybox{
    background-color:#fafafa;
    padding:18px;
    margin-top:15px;
    margin-bottom:15px;
    border-radius: 0px;
}
.single .post .graybox p:first-child{
    margin-top:0px;
}
.single .post .graybox p:last-child{
    margin-bottom:0px;
}

.single .post .borderbox br,
.single .post .graybox br{
    display: block;
    content: "";
    margin: 10px 0;
}

.single .post .borderbox + h5{
    margin-bottom:0px;
}

/* 引用 */
.single .post blockquote {
    font-size:0.9rem;
    background-color: #fafafa;
    padding-top: 40px;
    padding-right: 30px;
    padding-bottom: 30px;
    padding-left: 20px;

    margin-top:15px;
    margin-bottom:15px;
    margin-right: 0;

    border-left-width: 5px;
    border-left-style: solid;
    border-left-color: #CCC;
    line-height:180%;

    position:relative;
}
.single .post blockquote:after {
    color: #eee;
    content: "”";
    font-family: serif;
    font-size: 600%;
    line-height: 0;
    position: absolute;
    right: 5px;
    bottom: -5px;
}
.single .post blockquote p{
    font-size:0.95rem;
    line-height:180% !important;
}
.single .post blockquote .small{
    margin-top:15px;
    line-height:130%;
}

/* 画像引用 */
.single .post .caption .small {
    text-align:center;
    display: block;
}
.single .post .caption img{
    margin-bottom: 0;
}
.single .post .caption{
    margin-top:15px;
    margin-bottom: 15px;
}

/* table */

/*テーブル */

.single .post table,
.single .post td,
.single .post th
{
    border-collapse: collapse;
    border:1px solid #cfd8dc;
}

.single .post table {
    margin: 20px 0;
    width: 100%;
    max-width: 100%;
}
.single .post table tr td {
    padding: 15px;
    line-height: 18px;
    vertical-align:top;
}
.single .post table th {
    padding: 15px;
    font-weight:normal;
    background-color:#1976d2;
    color:#fff;
    font-size:85%;
    line-height: 180%;
    text-align:center;
}
.single .post table tr td {
    font-size: 95%;
    line-height: 180%;
    vertical-align: middle;
}
.single .post table tr td p {
    line-height: 18px;
}
.single .post table tr:nth-child(even) {
    /*background-color: rgba(220,220,220,0.2);*/
}
.single .post table {
    color: #333;
}

/*テーブル（装飾なし） */
.single .post .notab table {
    border:none;
    width: initial; /* 初期状態にリセット */
    max-width: initial; /* 初期状態にリセット */
}
.single .post .notab table tr td {
    border:none;
    text-align: left;
    vertical-align: top;
}
.single .post .notab table th {
    border:none;
}
.single .post .notab table tr:nth-child(even) {
    background-color: transparent;
}

/*スクロール*/
.single .post .scroll-box table {
    max-width:initial;
}
.single .post .scroll-box table td,
.single .post .scroll-box table th{
    white-space: nowrap;
}
.single .post .scroll-box tr:nth-child(odd) {
    background-color:#fafafa;
}
.single .post .scroll-box {
    overflow-x: auto;
}
.single .post .scroll-box::-webkit-scrollbar {
    height: 5px;
}
.single .post .scroll-box::-webkit-scrollbar-track {
    border-radius: 5px;
    -webkit-border-radius: 5px;
    -moz-border-radius: 5px;
    background: #f3f3f3;
}
.single .post .scroll-box::-webkit-scrollbar-thumb {
    border-radius: 5px;
    -webkit-border-radius: 5px;
    -moz-border-radius: 5px;
    background: #ccc;
}
.single .post .scroll-box td,scroll-box th{
    white-space: nowrap;
    vertical-align:middle;
    width:auto;
}

/* thumbox */
.single .post .thumbox{
    margin-bottom:50px;
}
@media screen and (max-width: 767px) {
    .single .post .thumbox{
        margin-bottom:20px;
    }
    .single .post .thumbox img{
        max-height:500px;
    }
}
@media screen and (max-width: 580px) {
    .single .post .thumbox img{
        max-height:400px;
    }
}

@media screen and (max-width: 767px) {
    .header-single {
        justify-content: center;
    }
    .header-single .tel {
        display: none;
    }
    .header-single .header-button{
        display: none;
    }
    .header-single .header-button-tel{
        display: none;
    }
    .single section h2{
        padding:30px 20px;
    }

}
@media screen and (max-width: 580px) {
    html{
        font-size:16px;
    }
    .single .post{
        padding:20px;
    }
}


/*
 * cta-container
 */
.cta-container {
    display: flex;
    justify-content: center;
    align-items: center;
    margin-top: 60px;
    margin-bottom: 70px;
}
.cta-container .copy-img {
    width: 200px;
    padding-right: 20px;
}

.cta-container .copy {
    padding-left: 20px;
}

/* copy title */
.cta-container .copy .title {
    font-family: 'Kosugi Maru';
    font-size:28px;
    font-weight:bold;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    color:#555;
    margin-bottom: 10px;
}
.cta-container .copy .title .value{
    white-space: nowrap;
    font-size: 27px;
}
.cta-container .copy .title .icon > span{
    font-size:30px;
    font-weight:bold;
    color:#ffffff;
    background-color:#555;
    border-radius:50%;
    padding:2px;
}
.cta-container .copy .title .icon{
    margin-right:7px;
    display: flex;
    align-items: center;
}

/* copy subtitle */
.cta-container .copy .subtitle {
    margin-bottom:15px;
    font-size:0.9rem;
}

/* copy cta-button */
.cta-container .copy .cta-button {
    display: flex;
    align-items: center;
    padding: 20px 20px;
    background-color: #fafafa;
    border: 1px solid #dfdfdf;
    border-radius: 5px;
    transition: 0.3s;
    text-decoration: none;
    position: relative;
}
.cta-container .copy .cta-button:hover {
    background-color: #f0f0f0;
}
.cta-container .copy .cta-button .text {
    font-size:0.9rem;
    margin:0 10px 0 0;
}
.cta-container .copy .cta-button .icon {
    position: absolute;
    right: 10px;
    font-family: 'Material Icons Round';
    color:#999;
}

@media screen and (max-width: 767px) {
    .cta-container .copy-img {
        width: 160px;
        padding-right: 15px;
    }
    .cta-container .copy {
        padding-left: 15px;
    }
    .cta-container .copy .title {
        margin-bottom: 8px;
    }
    .cta-container .copy .title .value{
        font-size: 24px;
    }
    .cta-container .copy .subtitle {
        margin-bottom:10px;
        font-size:0.85rem;
    }
    .cta-container .copy .cta-button {
        display: flex;
        align-items: center;
        padding: 15px 15px;
    }
    .cta-container .copy .cta-button .text {
        font-size: 0.85rem;
    }

}



/*
 * latest-container
 */
.latest-container{
    margin-top:30px;
    margin-bottom:30px;
}
.latest-container .list-item{
    display: flex;
    margin:10px 0 10px 0;
}
.latest-container > a{
    display: block;
    padding:10px;
    border-top:1px #eee solid;
    border-right:1px #eee solid;
    border-left:1px #eee solid;
    text-decoration: none;
    color:#383838;
}
.latest-container > a:last-child{
    border-bottom:1px #eee solid;
}
.latest-container > a:hover{
    background-color:#efefef;
}
.latest-container .list-thumb{
    margin-right:20px;
    width:100px;
    min-width:100px;
    max-width:100px;
}
.latest-container .list-thumb img{
    width:100%;
    height: 70px;
    object-fit: cover;
    object-position: 50% 10%;
}
.latest-container .list-content{
    position:relative;
    width:100%;
}

.latest-container .list-cursor{
    position: absolute;
    right:0px;
    top:50%;
    transform: translateY(-50%) translateX(0%);
    -webkit-transform: translateY(-50%) translateX(0%);
    font-size:30px;
    color:#ccc;
}
.latest-container .list-date{
    position:absolute;
    left:0px;
    bottom:0px;
    margin-top:3px;
    font-size:0.70rem;
    color:#999;
    /*
    color:#ccc;
    position:absolute;
    right:0px;
    top:0px;
     */
}
.latest-container .list-title{
    font-weight:bold;
    font-size:1.1rem;
}
.latest-container .list-cate{
    font-size:0.70rem;
    color:#999;
}

@media screen and (max-width: 767px) {
    .latest-container .list-title {
        font-size:0.95rem;
    }

    .latest-container .list-thumb{
        margin-right:15px;
        width:80px;
        min-width:80px;
        max-width:80px;
    }

}


/* ----------------------------------------
* pagination
---------------------------------------- */
.pagination {
    margin: 0 0 120px 0;
    padding: 0;
}

.post-content .pagination {
    margin: 0;
}

.pagination a, .pagination > span {
    display: block;
    float: left;
    margin: 2px 2px 2px 0;
    padding: 12px 18px;
    text-decoration: none;
    width: auto;
    color: #383838;
}

.pagination > span{
    background: #eee;
}

.pagination a:hover {
    background: #eee;
}

.pagination .current {
    padding: 12px 18px;
    background: #eee;
}


/*
 * footer
 */
footer.single{
    padding-bottom:140px;
}
