html {
    box-sizing: border-box;
    overflow-y: scroll;
    /* All browsers without overlaying scrollbars */
    -webkit-text-size-adjust: 100%;
    /* iOS 8+ */
    scroll-behavior: smooth;
    text-align: justify;
    text-justify: inter-ideograph;
}

*,
::before,
::after {
    background-repeat: no-repeat;
    /* Set `background-repeat: no-repeat` to all elements and pseudo elements */
    box-sizing: inherit;
}

::before,
::after {
    text-decoration: inherit;
    /* Inherit text-decoration and vertical align to ::before and ::after pseudo elements */
    vertical-align: inherit;
}

* {
    padding: 0;
    /* Reset `padding` and `margin` of all elements */
    margin: 0;
}

/* # =================================================================
   # General elements
   # ================================================================= */

/* Add the correct display in iOS 4-7.*/

audio:not([controls]) {
    display: none;
    height: 0;
}

hr {
    overflow: visible;
    /* Show the overflow in Edge and IE */
}

/*
* Correct `block` display not defined for any HTML5 element in IE 8/9
* Correct `block` display not defined for `details` or `summary` in IE 10/11
* and Firefox
* Correct `block` display not defined for `main` in IE 11
*/

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

summary {
    display: list-item;
    /* Add the correct display in all browsers */
}

small {
    font-size: 80%;
    /* Set font-size to 80% in `small` elements */
}

[hidden],
template {
    display: none;
    /* Add the correct display in IE */
}

abbr[title] {
    border-bottom: 1px dotted;
    /* Add a bordered underline effect in all browsers */
    text-decoration: none;
    /* Remove text decoration in Firefox 40+ */
}

a {
    background-color: transparent;
    /* Remove the gray background on active links in IE 10 */
    -webkit-text-decoration-skip: objects;
    /* Remove gaps in links underline in iOS 8+ and Safari 8+ */
}

a:active,
a:hover {
    outline-width: 0;
    /* Remove the outline when hovering in all browsers */
}

a:link {
    text-decoration: none;
    color: black;
}

a:visited {
    color: black;
}

a:hover {
    opacity: 0.6;
    transition-property: all;
    transition: 0.15s linear;
    /* Remove the outline when hovering in all browsers */
}

code,
kbd,
pre,
samp {
    font-family: monospace, monospace;
    /* Specify the font family of code elements */
}

b,
strong {
    font-weight: bolder;
    /* Correct style set to `bold` in Edge 12+, Safari 6.2+, and Chrome 18+ */
}

dfn {
    font-style: italic;
    /* Address styling not present in Safari and Chrome */
}

/* Address styling not present in IE 8/9 */

mark {
    background-color: #ff0;
    color: #000;
}

/* https://gist.github.com/unruthless/413930 */

sub,
sup {
    font-size: 75%;
    line-height: 0;
    position: relative;
    vertical-align: baseline;
}

sub {
    bottom: -0.25em;
}

sup {
    top: -0.5em;
}

/* # =================================================================
   # Forms
   # ================================================================= */

input {
    border-radius: 0;
}

/* Apply cursor pointer to button elements */

button,
[type="button"],
[type="reset"],
[type="submit"],
[role="button"] {
    cursor: pointer;
}

/* Replace pointer cursor in disabled elements */

[disabled] {
    cursor: default;
}

[type="number"] {
    width: auto;
    /* Firefox 36+ */
}

[type="search"] {
    -webkit-appearance: textfield;
    /* Safari 8+ */
}

[type="search"]::-webkit-search-cancel-button,
[type="search"]::-webkit-search-decoration {
    -webkit-appearance: none;
    /* Safari 8 */
}

textarea {
    overflow: auto;
    /* Internet Explorer 11+ */
    resize: vertical;
    /* Specify textarea resizability */
}

button,
input,
optgroup,
select,
textarea {
    font: inherit;
    /* Specify font inheritance of form elements */
}

optgroup {
    font-weight: bold;
    /* Restore the font weight unset by the previous rule. */
}

button {
    overflow: visible;
    /* Address `overflow` set to `hidden` in IE 8/9/10/11 */
}

/* Remove inner padding and border in Firefox 4+ */

button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
    border-style: 0;
    padding: 0;
}

/* Replace focus style removed in the border reset above */

button:-moz-focusring,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
    outline: 1px dotted ButtonText;
}

button,
html [type="button"],
/* Prevent a WebKit bug where (2) destroys native `audio` and `video`controls in Android 4 */

[type="reset"],
[type="submit"] {
    -webkit-appearance: button;
    /* Correct the inability to style clickable types in iOS */
}

button,
select {
    text-transform: none;
    /* Firefox 40+, Internet Explorer 11- */
}

/* Remove the default button styling in all browsers */

select {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
}

button,
input,
select,
textarea {
    background-color: white;
    border-style: none;
    color: inherit;
    border: 1px solid black;
    padding: 8px;
    width: 100%;
    border-radius: 0px;
}



/* # =================================================================
   # Specify media element style
   # ================================================================= */

img {
    border-style: none;
    /* Remove border when inside `a` element in IE 8/9/10 */
}

/* Add the correct vertical alignment in Chrome, Firefox, and Opera */

progress {
    vertical-align: baseline;
}

svg:not(:root) {
    overflow: hidden;
    /* Internet Explorer 11- */
}

audio,
canvas,
progress,
video {
    display: inline-block;
    /* Internet Explorer 11+, Windows Phone 8.1+ */
}

/* # =================================================================
   # Accessibility
   # ================================================================= */

/* Hide content from screens but not screenreaders */

* {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}




@media screen {
    [hidden ~ ="screen"] {
        display: inherit;
    }
    [hidden ~ ="screen"]:not(:active):not(:focus):not(:target) {
        position: absolute !important;
        clip: rect(0 0 0 0) !important;
    }
}

/* Specify the progress cursor of updating elements */

[aria-busy="true"] {
    cursor: progress;
}

/* Specify the pointer cursor of trigger elements */

[aria-controls] {
    cursor: pointer;
}

/* Specify the unstyled cursor of disabled, not-editable, or otherwise inoperable elements */

[aria-disabled] {
    cursor: default;
}

/* # =================================================================
   # Selection
   # ================================================================= */

/* Specify text selection background color and omit drop shadow */

::-moz-selection {
    background-color: #b3d4fc;
    /* Required when declaring ::selection */
    color: #000;
    text-shadow: none;
}

::selection {
    background-color: #b3d4fc;
    /* Required when declaring ::selection */
    color: #000;
    text-shadow: none;
}

/*全体*/

html {
    font-size: 62.5%;
}

/* 10px */

body {
    font-size: 1.6rem;
}

/* 16px */

p {
    font-size: 1.6rem;
}

/* 16px */

li {
    font-size: 1.6rem;
}

/* 16px */

li p {
    font-size: 1.6rem;
}

/* 16px */

body {
    font-family: 'Noto Sans JP', sans-serif;
}


.bold {
    font-weight: bold;
}

ul {
    list-style: none;
    line-height: 1.8rem;
}

#header_line {
    border-top: 5px solid #0057AA;
}

.close {
    text-align: right;
}

.pdf {
    text-align: right;
    margin-top: 20px;
}

.modal_title {
    border-bottom: 1px solid black;
    margin: 10px 0px 20px 0px;
}

/*.modal_content {
    display: block;
    overflow-y: auto;
    height: 350px;
}*/
.modal_content {
    display: block;
    max-height: 60vh;
    overflow-y: auto;
}

.modal_content p {
    padding: 20px 10px;
}

.modal_image {
    width: 100%;
    margin-bottom: 10px;
    display: block;
    justify-content: center;
}

.modal_image img {
    width: 100%;
    height: auto;
    max-width: 100%;
    max-height: 100%;
    border: 1px black solid;
}

.fa-file-pdf:before {
    content: "\f1c1";
    font-size: 2.5rem;
}

/*PC用*/

@media screen and (min-width: 600px) {
    .sp {
        display: none;
    }

    div#nav-drawer {
        display: none;
    }

    /*トップページ*/
    .modal {
        display: none;
        height: 100vh;
        position: fixed;
        top: 0;
        width: 100%;
    }

    .modal__bg {
        background: rgba(0, 0, 0, 0.8);
        height: 100vh;
        position: absolute;
        width: 100%;
    }

    .modal__content {
        background: #fff;
        left: 50%;
        padding: 25px;
        position: fixed;
        top: 50%;
        transform: translate(-50%, -50%);
        width: 100vh;
        height: 80vh
    }

    #header_wrapper {
				max-width: 1000px;
        width: 100%;
        height: 95px;
        margin: auto;
        display: flex;
        justify-content: space-between;
        align-items: center;
    }

    #header_tel {
        font-size: 2rem;
        text-align: right;
        font-weight: bold;
    }

    .header_tel_description {
        font-size: 1.2rem;
        font-weight: normal;
    }

    #main_images {
        width: 100%;
        position: relative;
        z-index: -1;
    }

    #main_images img {
        width: 100%;
        height: 400px;
        object-fit: cover;
    }

    #main_nav {
        max-width: 1000px;
        width: 100%;
        margin: auto;
        display: flex;
        color: white;
        font-weight: 400;
        font-size: 1.8rem;
        padding: 10px 0px;
    }

    #main_nav a:link {
        color: white;
    }

    #main_nav a:visited {
        color: white;
    }


    #main_nav p {
        font-size: 1.2rem;
        font-weight: 300;
    }

    .main_nav_size {
        margin-right: 30px;
        color: white;
    }

    #nav_size {
        background-color: #00315F;
    }

    #top_news {
        margin: auto;
        display: table;
        padding: 100px 0px 30px 0px;
    }

    .top_title {
        padding: 0px 20px;
        border-left: 1px solid black;
        border-right: 1px solid black;
        display: -webkit-box;
        font-weight: 500;
    }


    .top_title_end {
        display: flex;
        align-items: center;
        font-weight: 300;
    }

    .top_title_end:before {
        content: "";
        height: 1px;
        width: 50px;
        background: #444;
    }
    .top_title_end:before {
        margin: 0px 15px;
    }

    #top_news_contents {
        background-color: #F4F4F4;
        padding: 15px 0px;
				max-width: 900px;
        width: 100%;
        margin: 0 auto 150px;
        display: flex;
        justify-content: center;
        align-items: center;
    }

    #top_news_contents li {
        margin: 12px 35px 12px 0px;
        font-size: 1.4rem;
        font-weight: 300;
    }
    
    #top_news_contents table.news_table01 {
        max-width: 580px;
        width: 100%;
        margin: 0 auto;
    }
    #top_news_contents table.news_table01 tr:after {
        content: "";
        display: block;
        clear: both;
    }
    #top_news_contents table.news_table01 th.w25p {
        width: 25%;
        float: left;
        padding-bottom: 10px;
    }
    #top_news_contents table.news_table01 th.w25p img {
        width: 60%;
    }
    #top_news_contents table.news_table01 td.w75p {
        width: 75%;
        float: left;
        font-size: 1.4rem;
        font-weight: 300;
        padding-top: 20px;
    }
    #top_news_contents table.news_table01 td.w75p span {
        color: #0057AA;
    }

    .news_data {
        color: #0057AA;
        margin-right: 10px;
    }

    #news_button {
        color: white;
        height: 75px;
        width: 75px;
        background-color: #FF3939;
        display: flex;
        justify-content: center;
        align-items: center;
        font-size: 1.3rem;
    }

    .fa-long-arrow-alt-right {
        margin-left: 5px;
    }
		
		
		
		/*---------- 2020.07.08追加 ----------*/
		/*---------- top_news_item ----------*/
		#top_new_item {
        margin: auto;
        display: table;
        padding: 100px 0px 30px 0px;
    }
    #top_new_item_contents {
        padding: 0 0 15px;
				max-width: 900px;
        width: 100%;
        margin: 0 auto;
    }
    #top_new_item_contents ul {
        width: 100%;
        display: flex;
        justify-content: center;
        align-items: center;
        padding: 20px 0 0;
    }
    #top_new_item_contents ul li {
				width : calc(100% / 3);
    }
		#top_new_item_contents ul li:nth-child(3n - 1) {
			margin: 0 3%;
		}
    #top_new_item_contents ul li img {
				width: 100%;
				border: 1px solid #ccc;
    }
		#top_new_item_contents ul li p {
				text-align: center;
				padding: 20px 0 0;
		}
		/*---------- top_news_item ----------*/
		/*---------- 2020.07.08追加 ----------*/
	
	

    #top_servicelist {
        margin: auto;
        display: table;
        padding: 80px 0px 30px 0px;
    }

    #top_servicelist_contents {
        width: 575px;
        margin: 0 auto;
        display: flex;
        justify-content: center;
        flex-wrap: wrap;
    }    }
    #top_servicelist_contents div.ma01 {
        width: 75px;
        margin: 0 20px 20px;
    }

    .servicelist_size {
        width: 75px;
        height: 75px;
        border-radius: 50%;
        font-size: 4rem;
        display: flex;
        justify-content: center;
        align-items: center;
        border: 1px solid gray;
    }

    #top_servicelist_contents p {
        font-size: 1.2rem;
        margin-top: 8px;
        text-align: center;
    }
    
    #top_servicelist_contents div.mouseover:hover { opacity: 0.6;}
    
    .pb150 { padding-bottom: 150px !important;}

    #top_calendar {
        margin: auto;
        display: table;
        padding: 80px 0px 30px 0px;
    }

    #top_calendar_contents_wrapper {
        width: 900px;
        margin: auto;
        border: 1px solid black;
        margin-bottom: 150px;
    }

    #top_calendar_contents {
        display: flex;
        flex-wrap: wrap;
    }

    .calendar {
        text-align: center;
        margin: 40px 0px;
    }

    .calendar_data {
        font-size: 2rem;
        font-weight: bold;
        text-align: left;
        background-color: #F5F5F5;
    }

    .calendar td {
        padding: 3px 10px;
        ;
    }
    .red {
        color: red;
    }

    .blue {
        color: blue;
    }

    .gray {
        color: lightgray;
    }

    .modal_content a:link {
        color: blue !important;
    }

    .modal_content a:visited {
        color: blue !important;
    }

    #calendar_button {
        color: white;
        padding: 8px 70px;
        background-color: #FF3939;
        display: flex;
        justify-content: center;
        align-items: center;
        font-size: 1.3rem;
        width: 180px;
        margin: 0px auto 40px auto;
    }

    .calendar_size {
        margin: 0px 35px;
    }

    /*チェックは見えなくする*/
    .hidden_box input {
        display: none;
    }

    /*中身を非表示にしておく*/
    .hidden_box .hidden_show {
        height: 0;
        padding: 0;
        overflow: hidden;
        opacity: 0;
        transition: 0.8s;
    }

    /*クリックで中身表示*/
    .hidden_box input:checked ~ .hidden_show {
        padding: 10px 0;
        height: auto;
        opacity: 1;
    }

    .thumbnail_image {
        display: flex;
        width: 600px;
        flex-wrap: wrap;
        transition: 0.8s;
    }

    .thumbnail_image img {
        border: 1px black solid;
        object-fit: cover;
        width: 50px;
        height: 50px;
    }

    .thumbnail_image_size {
        margin-right: 10px;
    }

    #footer_nav {
        width: 100%;
        margin: auto;
        display: flex;
        color: white;
        top: 40px;
        font-weight: 400;
        font-size: 1.8rem;
        justify-content: center;
        background-color: #00315F;
        background-color: #00315F;
        padding: 30px 0px;
    }

    #footer_nav p {
        font-size: 1.2rem;
        padding-bottom: 30px;
        font-weight: 300;
    }

    #footer_nav li {
        margin: 8px 0px;
        font-size: 1.2rem;
        font-weight: 300;
    }

    .footer_nav_size {
        margin: 0px 30px;
    }

    #footer_Copyright {
        margin: 50px 0px;
        text-align: center;
    }

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

    #footer_nav a:link {
        color: white;
    }

    #footer_nav a:visited {
        color: white;
    }

    .footer_mark {
        width: 300px;
        margin: auto;
        display: flex;
        justify-content: space-around;
        align-items: center;
        margin-bottom: 10px;
    }

    .footer-list {
        align-items: center;
        display: flex;
        justify-content: center;
    }

.footer-list > li {
    margin-right: 15px;
}

.footer-list > li:first-child {
    margin-right: 40px;
}

.footer-list > li:last-child {
    margin-right: 0;
}

    .footer-list > li > a {
        display: block;
}

    .p-mark {
        margin: 0px 15px 0px 40px;
    }

    /*会社概要*/
    .content_size {
        width: 1100px;
        margin: auto;
    }
    .sub_title {
        padding-top: 165px;
        text-align: center;
        width: 1100px;
        border-bottom: 2px solid yellow;
        position: relative;
    }

    .sub_title:after {
        content: "";
        display: block;
        line-height: 0;
        overflow: hidden;
        position: absolute;
        left: 0;
        bottom: -2px;
        width: 350px;
        border-bottom: 2px solid lightgray;
    }

    .sub_title:before {
        content: "";
        display: block;
        line-height: 0;
        overflow: hidden;
        position: absolute;
        right: 0;
        bottom: -2px;
        width: 350px;
        border-bottom: 2px solid lightgray;
    }

    .sub_title h2 {
        font-size: 3rem;
        font-weight: 400;
        margin-bottom: 10px;
    }

    .sub_title p {
        font-size: 1.5rem;
        font-weight: 300;
        padding: 0px 0px 10px 0px;
    }

    .company_profile_description {
        width: 1000px;
        font-size: 1.6rem;
        font-weight: 300;
        margin: 50px auto;
    }

    #company_profile_table {
        width: 1100px;
        padding-bottom: 80px;
    }

    #company_profile_table th {
        padding: 8px 0px 8px 50px;
        font-weight: 400;
        width: 200px;
        border-bottom: 1px solid lightgray;
    }

    #company_profile_table td {
        font-weight: 300;
        border-bottom: 1px solid lightgray;
    }


    /*アクセス*/
    #map {
        margin: 50px 0px;
    }

    #map p {
        font-weight: 300;
    }

    .access_description {
        background-color: #ECF4FA;
        padding: 30px;
        margin-bottom: 20px;
    }

    .access_description h3 {
        margin-bottom: 10px;
    }

    .access_description li {
        margin-top: 10px;
        font-weight: 300;
    }

    .access_description_last {
        background-color: #ECF4FA;
        padding: 30px;
        margin-bottom: 150px;
    }

    .access_description_last h3 {
        margin-bottom: 10px;
    }

    .access_description_last li {
        margin-top: 10px;
        font-weight: 300;
    }

    /*プライバシーポリシー*/
    #main_nav_policy {
        width: 1000px;
        margin: auto;
        display: flex;
        font-weight: 400;
        font-size: 1.8rem;
        padding: 10px 0px;
    }

    #main_nav_policy a:link {
        color: black;
    }

    #main_nav_policy a:visited {
        color: black;
    }


    #main_nav_policy p {
        font-size: 1.2rem;
        font-weight: 300;
    }

    .policy_description {
        width: 1000px;
        font-size: 1.6rem;
        font-weight: 300;
        margin: 50px auto;
    }

    .policy_description h3 {
        position: relative;
        padding: 12px 10px;
        border-left: 6px solid #0057AA;
        background-color: #f2f2f2;
        font-weight: 400;
        margin: 80px 0px 30px 0px;

    }

    .policy_description p {
        margin-bottom: 30px;
    }

    .policy_description li {
        line-height: 3rem;
    }

    .policy_description ul {
        margin-bottom: 30px;
    }

    .ul_right {
        text-align: right;
    }

    .ul_margin {
        margin-top: 20px;
    }

    #consultation_counter {
        margin: auto;
        width: 500px;
        padding: 30px 30px 10px 30px;
        margin-top: 80px;
        background-color: #e7e7e7;
    }

    #consultation_counter h4 {
        text-align: center;
        margin: 10px 0px;
    }

    #contact_button {
        color: white;
        padding: 8px 0px;
        width: 400px;
        background-color: #FF3939;
        display: flex;
        justify-content: center;
        align-items: center;
        margin: 40px auto 10px;
    }

    #contact_button a:link {
        color: white;
    }

    #contact_important {
        font-size: 1rem;
        text-align: center;
    }


    .link:link {
        text-decoration: underline;
    }

    .swiper-container {
        width: 100%;
        height: 400px;
    }


/*スマホ用*/

@media screen and (max-width: 599px) {

    .pc {
        display: none;
    }

    #nav-drawer {
        position: absolute;
        top: 0%;
        right: 1%;
        margin-top: 23px;
    }

    /*チェックボックス等は非表示に*/
    .nav-unshown {
        display: none;
    }

    /*アイコンのスペース*/
    #nav-open {
        display: inline-block;
        width: 30px;
        height: 22px;
        vertical-align: middle;
    }

    /*ハンバーガーアイコンをCSSだけで表現*/
    #nav-open span,
    #nav-open span:before,
    #nav-open span:after {
        position: absolute;
        height: 3px;
        /*線の太さ*/
        width: 25px;
        /*長さ*/
        border-radius: 3px;
        background: #555;
        display: block;
        content: '';
        cursor: pointer;
    }
    #nav-open span:before {
        bottom: -8px;
    }
    #nav-open span:after {
        bottom: -16px;
    }

    /*閉じる用の薄黒カバー*/
    #nav-close {
        display: none;
        /*はじめは隠しておく*/
        position: fixed;
        z-index: 99;
        top: 0;
        /*全体に広がるように*/
        left: 0;
        width: 100%;
        height: 100%;
        background: black;
        opacity: 0;
        transition: .3s ease-in-out;
    }

    /*中身*/
    #nav-content {
        overflow: auto;
        position: fixed;
        top: 0;
        left: 0;
        z-index: 9999;
        /*最前面に*/
        width: 90%;
        /*右側に隙間を作る（閉じるカバーを表示）*/
        max-width: 330px;
        /*最大幅（調整してください）*/
        height: 100%;
        background: #fff;
        /*背景色*/
        transition: .3s ease-in-out;
        /*滑らかに表示*/
        -webkit-transform: translateX(-105%);
        transform: translateX(-105%);
        /*左に隠しておく*/
        padding: 20px;
    }

    #nav-content li {
        margin: 18px 0px;
        font-size: 2rem;
    }

    #nav-content p {
        margin-top: 8px;
        font-size: 1.3rem;
    }

    #nav-content img {
        width: 80%;
    }

    /*チェックが入ったらもろもろ表示*/
    #nav-input:checked ~ #nav-close {
        display: block;
        /*カバーを表示*/
        opacity: .5;
    }

    #nav-input:checked ~ #nav-content {
        -webkit-transform: translateX(0%);
        transform: translateX(0%);
        /*中身を表示（右へスライド）*/
        box-shadow: 6px 0 25px rgba(0, 0, 0, .15);
    }

    /*トップページ*/
    .modal {
        display: none;
        height: 100vh;
        position: fixed;
        top: 0;
        width: 100%;
    }

    .modal__bg {
        background: rgba(0, 0, 0, 0.8);
        height: 100vh;
        position: absolute;
        width: 100%;
    }

    .modal__content {
        background: #fff;
        left: 50%;
        padding: 15px;
        position: absolute;
        top: 50%;
        transform: translate(-50%, -50%);
        width: 90%;
    }

    .modal__content p {
        font-size: 1.2rem;
    }


    #header_wrapper {
        display: flex;
        justify-content: center;
        align-items: center;
        flex-wrap: wrap;
        padding: 20px 0px;
    }

    #header_tel {
        font-size: 2rem;
        text-align: right;
        font-weight: bold;
    }

    .header_tel_description {
        font-size: 1.2rem;
        font-weight: normal;
        text-align: center;
    }

    #main_images {
        width: 100%;
        position: relative;
        z-index: -1;
    }

    #main_images img {
        width: 100%;
        height: 150px;
        object-fit: cover;
    }

    #main_nav {
        display: none;
    }

    #top_news {
        margin: auto;
        display: table;
        padding: 50px 0px 30px 0px;
    }

    .top_title {
        padding: 0px 10px;
        border-left: 1px solid black;
        border-right: 1px solid black;
        display: -webkit-box;
        font-weight: 500;
    }


    .top_title_end {
        display: flex;
        align-items: center;
        font-weight: 300;
        font-size: 1rem;
    }

    .top_title_end:before {
        content: "";
        height: 1px;
        width: 50px;
        background: #444;
    }
    .top_title_end:before {
        margin: 0px 15px;
    }

    #top_news_contents {
        background-color: #F4F4F4;
        padding: 15px;
        margin: auto;
        display: flex;
        justify-content: center;
        align-items: center;
    }

    #top_news_contents li {
        margin: 12px 35px 12px 0px;
        font-size: 1.4rem;
        font-weight: 300;
    }
    #top_news_contents table.news_table01 {
        width: 90%;
        margin: 0 auto;
    }
    #top_news_contents table.news_table01 th.w25p {
        padding-bottom: 10px;
    }
    #top_news_contents table.news_table01 td.w75p {
        width: 75%;
        float: left;
        font-size: 1.4rem;
        font-weight: 300;
        padding: 5px 0 0 10px;
    }
    #top_news_contents table.news_table01 td.w75p span {
        color: #0057AA;
  }



    .news_data {
        color: #0057AA;
        margin-right: 10px;
    }

    #news_button {
        color: white;
        height: 75px;
        width: 75px;
        background-color: #FF3939;
        display: flex;
        justify-content: center;
        align-items: center;
        font-size: 1.3rem;
    }

    .fa-long-arrow-alt-right {
        margin-left: 5px;
    }
		
		
		
		/*---------- 2020.07.08追加 ----------*/
		/*---------- top_news_item ----------*/
		#top_new_item {
				margin: auto;
        display: table;
        padding: 80px 0px 30px 0px;
    }
    #top_new_item_contents {
        padding: 15px 0px;
				max-width: 900px;
        width: 100%;
        margin: 0 auto;
    }
    #top_new_item_contents ul {
        width: 100%;
        display: flex;
        justify-content: center;
        align-items: center;
				flex-wrap: wrap;
    }
    #top_new_item_contents ul li {
				width : 90%;
				padding-bottom: 40px;
    }
		#top_new_item_contents ul li:nth-child(3n - 1) {
			margin: 0;
		}
    #top_new_item_contents ul li img {
				width: 100%;
				border: 1px solid #ccc;
    }
		#top_new_item_contents ul li p {
				text-align: center;
				padding: 20px 0 0;
		}
		/*---------- top_news_item ----------*/
		/*---------- 2020.07.08追加 ----------*/
	
	

    #top_servicelist {
        margin: auto;
        display: table;
        padding: 80px 0px 30px 0px;
    }

    #top_servicelist_contents {
        width: 100%;
        display: flex;
        justify-content: center;
        flex-wrap: wrap;
    }
    #top_servicelist_contents div.ma01 {
        width: 50px;
        margin: 0 10px 20px;
    }

    .servicelist_size {
        width: 50px;
        height: 50px;
        border-radius: 50%;
        font-size: 2.7rem;
        display: flex;
        justify-content: center;
        align-items: center;
        border: 1px solid gray;
        /*margin: 10px 10px 0px 10px;*/
    }

    .servicelist_size img {
        width: 60%;
        height: 60%;
    }

    #top_servicelist_contents p {
        font-size: 1rem;
        margin-top: 5px;
        text-align: center;
        margin-bottom: 10px;
    }
    
    #top_servicelist_contents div.mouseover:hover { opacity: 0.6;}
    
    .pb150 { padding-bottom: 150px !important;}

    #top_calendar {
        margin: auto;
        display: table;
        padding: 80px 0px 30px 0px;
    }

    #top_calendar_contents_wrapper {
        margin: 10px;
        padding: 10px;
        border: 1px solid black;
        margin-bottom: 50px;
    }

    #top_calendar_contents {
        flex-direction: column;
    }

    .calendar {
        text-align: center;
        margin: 20px 0px;
    }

    .calendar_data {
        font-size: 2rem;
        font-weight: bold;
        text-align: left;
        background-color: #F5F5F5;
    }

    .calendar td {
        padding: 5px;
        ;
    }
    .red {
        color: red;
    }

    .blue {
        color: blue;
    }

    .gray {
        color: lightgray;
    }

    .modal_content a:link {
        color: blue !important;
    }

    .modal_content a:visited {
        color: blue !important;
    }

    #calendar_button {
        color: white;
        padding: 8px 70px;
        background-color: #FF3939;
        display: flex;
        justify-content: center;
        align-items: center;
        font-size: 1.3rem;
        width: 180px;
        margin: 0px auto 40px auto;
    }

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

    /*チェックは見えなくする*/
    .hidden_box input {
        display: none;
    }

    /*中身を非表示にしておく*/
    .hidden_box .hidden_show {
        height: 0;
        padding: 0;
        overflow: hidden;
        opacity: 0;
        transition: 0.8s;
    }

    /*クリックで中身表示*/
    .hidden_box input:checked ~ .hidden_show {
        padding: 10px 0;
        height: auto;
        opacity: 1;
    }

    .thumbnail_image {
        display: flex;
        flex-wrap: wrap;
        transition: 0.8s;
        justify-content: center;
    }

    .thumbnail_image img {
        border: 1px black solid;
        object-fit: cover;
        width: 50px;
        height: 50px;
    }

    .thumbnail_image_size {
        margin-right: 10px;
    }

    #footer_nav {
        width: 100%;
        margin: auto;
        display: flex;
        color: white;
        top: 40px;
        font-weight: 400;
        font-size: 1.8rem;
        justify-content: center;
        flex-direction: column;
        background-color: #00315F;
        background-color: #00315F;
        padding: 30px 0px;
    }

    #footer_nav p {
        font-size: 1.2rem;
        padding-bottom: 10px;
        font-weight: 300;
    }

    #footer_nav li {
        margin: 8px 0px;
        font-size: 1.2rem;
        font-weight: 300;
    }

    .footer_nav_size {
        margin: 10px 15px 0px 15px;
    }

    #footer_Copyright {
        margin: 30px 0px;
        text-align: center;
    }

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

    #footer_nav a:link {
        color: white;
    }

    #footer_nav a:visited {
        color: white;
    }

    .footer_mark {
        width: 300px;
        margin: auto;
        display: flex;
        justify-content: space-around;
        align-items: center;
        margin-bottom: 10px;
    }

    .footer-list {
        display: block;
    }

    .footer-list > li:first-child {
        text-align: center;
        width: 100%;
    }

    .footer-list > li {
        display: inline-block;
        margin: 0 1%;
        width: 30%;
    }

    .p-mark {
        margin: 0px 15px 0px 40px;
    }

    /*会社概要*/
    .content_size {
        margin: auto;
    }
    .sub_title {
        padding-top: 50px;
        text-align: center;
        border-bottom: 2px solid yellow;
        position: relative;
    }

    .sub_title:after {
        content: "";
        display: block;
        line-height: 0;
        overflow: hidden;
        position: absolute;
        left: 0;
        bottom: -2px;
        width: 80px;
        border-bottom: 2px solid lightgray;
    }

    .sub_title:before {
        content: "";
        display: block;
        line-height: 0;
        overflow: hidden;
        position: absolute;
        right: 0;
        bottom: -2px;
        width: 80px;
        border-bottom: 2px solid lightgray;
    }

    .sub_title h2 {
        font-size: 2.5rem;
        font-weight: 400;
        margin-bottom: 10px;
    }

    .sub_title p {
        font-size: 1.5rem;
        font-weight: 300;
        padding: 0px 0px 10px 0px;
    }

    .company_profile_description {
        font-size: 1.6rem;
        font-weight: 300;
        margin: 30px 20px;
        line-height: 1.5;
    }

    #company_profile_table {
        padding-bottom: 20px;
        margin: 20px;
    }

    #company_profile_table th {
        padding: 15px 0px;
        font-weight: 400;
        width: 100px;
        border-bottom: 1px solid lightgray;
        font-size: 1.5rem;
    }

    #company_profile_table td {
        font-weight: 300;
        border-bottom: 1px solid lightgray;
        font-size: 1.4rem;
    }


    /*アクセス*/
    #map {
        margin: 50px 0px;
    }

    #map p {
        font-weight: 300;
        text-align: center;
        margin-top: 10px;
    }

    .access_description {
        background-color: #ECF4FA;
        padding: 30px;
        margin-bottom: 20px;
    }

    .access_description h3 {
        margin-bottom: 10px;
    }

    .access_description li {
        margin-top: 10px;
        font-weight: 300;
    }

    .access_description_last {
        background-color: #ECF4FA;
        padding: 30px;
        margin-bottom: 50px;
    }

    .access_description_last h3 {
        margin-bottom: 10px;
    }

    .access_description_last li {
        margin-top: 10px;
        font-weight: 300;
    }

    /*プライバシーポリシー*/
    #main_nav_policy {
        width: 1000px;
        margin: auto;
        display: flex;
        font-weight: 400;
        font-size: 1.8rem;
        padding: 10px 0px;
    }

    #main_nav_policy a:link {
        color: black;
    }

    #main_nav_policy a:visited {
        color: black;
    }


    #main_nav_policy p {
        font-size: 1.2rem;
        font-weight: 300;
    }

    .policy_description {
        font-size: 1.6rem;
        font-weight: 300;
        margin: 50px auto;
        padding: 0px 20px;
    }

    .policy_description h3 {
        position: relative;
        padding: 12px 10px;
        border-left: 6px solid #0057AA;
        background-color: #f2f2f2;
        font-weight: 400;
        margin: 80px 0px 30px 0px;

    }

    .policy_description p {
        margin-bottom: 30px;
    }

    .policy_description li {
        line-height: 3rem;
    }

    .policy_description ul {
        margin-bottom: 30px;
    }

    .policy_description img {
        margin: auto;
    }

    .ul_right {
        text-align: right;
    }

    .ul_margin {
        margin-top: 20px;
    }

    #consultation_counter {
        margin: auto;
        padding: 30px 20px 10px 20px;
        background-color: #e7e7e7;
    }

    #consultation_counter h4 {
        text-align: center;
        margin: 10px 0px;
    }

    #contact_button {
        color: white;
        padding: 8px 0px;
        background-color: #FF3939;
        display: flex;
        justify-content: center;
        align-items: center;
        margin: 40px auto 10px;
        font-size: 1.3rem;
    }

    #contact_button a:link {
        color: white;
    }

    #contact_important {
        font-size: 1.2rem;
        text-align: center;
    }


    .link:link {
        text-decoration: underline;
    }

    .swiper-container {
        width: 100%;
        height: 400px;
    }

}
