@charset "utf-8";

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

    [ Common Section ]

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

/* =========================================================
    Base Style
========================================================= */
body {
    background-color: #fff;
    color: #000;
    font-size: 62.5%; /* 10px */
    font-family: "ヒラギノ角ゴPro W3", "Hiragino Kaku Gothic Pro", Osaka, "ＭＳ Ｐゴシック", sans-serif;
    line-height: 1.8em;
    word-wrap: break-word;
    box-sizing: content-box;  /* ress.css の box-sizing:inherit がブラウザにより誤動作するため必要*/
}


/* =========================================================
    Link Color
========================================================= */
a:link {
    color:#323232;
    text-decoration:none;
}
a:visited {
    color:#323232;
    text-decoration:none;
}
a:hover {
   text-decoration:underline;
}
a:active {
   color:#d6001e;
}


/* =========================================================
    ClearFix
========================================================= */
.clearfix:after {
  content: ".";
  display: block;
  height: 0;
  clear: both;
  visibility: hidden;
  font-size:0.1em;
}
.clearfix {
    min-height: 1px;
    display:inline-table;
}
/* Hides from IE-mac \*/
* html .clearfix {height: 1%;}
.clearfix {display:block;}
/* End hide from IE-mac */

.clear {clear: both;}
.edge {margin: 0px;padding: 0px;}



/* =========================================================
    Original
========================================================= */
/*
DIV{
  text-align : left;
  line-height : 1.5em;
  font-size : 11pt;
}
*/

/* =========================================================
 *****  Modify css 2022  *****
========================================================= */

/* Image */
img.img-responsive {
    display: block;
    max-width: 100%;
    height: auto;
    margin-right: auto;
    margin-left: auto;
}

.main_wrap {
    width: 750px;
    margin-left: auto;
    margin-right: auto;
    font-size: 1.0rem;
}
@media (max-width: 749px) {
	.main_wrap {
	    width: calc(100% - 30px);
	    padding-right: 15px;
	    padding-left: 15px;
	}
}


/* =========================================================
    Main Visual
========================================================= */
.main_visual {
    width: 100%;
}

/* =========================================================
    Side Menu
========================================================= */
.side_menu {
    display: block;
    float: left;
    margin-top: 50px;
    padding: 8px;
    background-color: #e1e1e1;
}
.side_menu a,
.side_menu a:hover {
    text-decoration: none;
}

.side_menu .img_menu {
    display: table;
    margin-left: auto;
    margin-right: auto;
    padding-top: 8px;
    padding-bottom: 8px;
}
.side_menu ul.menu {
    margin: 0;
    padding: 0;
    list-style: none;
}
.side_menu ul.menu li {
    margin-bottom: 6px;
    cursor: pointer;
}
.side_menu ul.menu li:last-child {
    padding-bottom: 0px;
}
.side_menu ul.menu li a {
    display: block;
    width: 100%;
    height: 100%;
}

/* home */
.side_menu ul.menu li.home {
    width: 144px;
    height: 38px;
    background-image: url(../images/home1.jpg);
    background-position: center center;
    background-repeat: no-repeat;
}
#home .side_menu ul.menu li.home,
.side_menu ul.menu li.home:hover {
    background-image: url(../images/home2.jpg);
}
/* kanri */
.side_menu ul.menu li.kanri {
    width: 144px;
    height: 38px;
    background-image: url(../images/kanri1.jpg);
    background-position: center center;
    background-repeat: no-repeat;
}
#kanri .side_menu ul.menu li.kanri,
.side_menu ul.menu li.kanri:hover {
    background-image: url(../images/kanri2.jpg);
}
/* law */
.side_menu ul.menu li.law {
    width: 144px;
    height: 38px;
    background-image: url(../images/law1.jpg);
    background-position: center center;
    background-repeat: no-repeat;
}
#law .side_menu ul.menu li.law,
.side_menu ul.menu li.law:hover {
    background-image: url(../images/law2.jpg);
}
/* company */
.side_menu ul.menu li.company {
    width: 144px;
    height: 38px;
    background-image: url(../images/company1.jpg);
    background-position: center center;
    background-repeat: no-repeat;
}
#company .side_menu ul.menu li.company,
.side_menu ul.menu li.company:hover {
    background-image: url(../images/company2.jpg);
}
/* link */
.side_menu ul.menu li.link {
    width: 144px;
    height: 38px;
    background-image: url(../images/link1.jpg);
    background-position: center center;
    background-repeat: no-repeat;
}
#link .side_menu ul.menu li.link,
.side_menu ul.menu li.link:hover {
    background-image: url(../images/link2.jpg);
}
/* contact */
.side_menu ul.menu li.contact {
    width: 144px;
    height: 38px;
    background-image: url(../images/contact1.jpg);
    background-position: center center;
    background-repeat: no-repeat;
}
#contact .side_menu ul.menu li.contact,
.side_menu ul.menu li.contact:hover {
    background-image: url(../images/contact2.jpg);
}


/* =========================================================
    Footer
========================================================= */
.copy {
    font-size: 0.9rem;
    text-align: center;
    line-height: 1.6rem;
    letter-spacing: 0.03rem;
}

/* =========================================================
    Contents
========================================================= */
.contents {
    display: block;
    float: right;
    width: calc(750px - 160px - 20px);
    margin-top: 50px;
    margin-left: 20px;
}


/* =========================================================
    Common
========================================================= */
h2.page_title {
    display: block;
    color: #fff;
    font-size: 1.0rem;
    font-weight: bold;
    letter-spacing: 0.2rem;
    text-align: center;
    padding-top: 8px;
    padding-bottom: 8px;
    margin-top: 0px;
    margin-bottom: 20px;
    border-radius: 4px;
    background-color: gray;
}


/* =========================================================
    TABLE COMMON
========================================================= */
.tr {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: row;
    font-size: 1.0rem;
    padding: 14px 20px 14px 20px;
}
.tr:last-child {
    border-bottom: none;
}
.th {
    flex-basis: 100px;
    text-align: left;
    font-weight: bold;
}
.td {
    flex-grow: 8;
    line-height: 1.3rem;
}
.td .list {
    display: block;
    padding-left: 20px;
}
.td .list:before {
    content: "・";
    float: left;
    text-indent: -1.0rem;
}
@media screen and (max-width: 960px) {
	.tr {
	    flex-direction: column;
	}
	.th {
	    flex-basis: auto;
	    text-align: center;
	    margin-bottom: 30px;
	}
}


/* =========================================================
    Home
========================================================= */

/** NEWS **/
#home .news_box {
    margin-top: 0px;
    margin-bottom: 0px;
}
#home .news_box .title_area h3 {
    font-size: 1.2rem;
    font-weight: bold;
    letter-spacing: 0.2rem;
    padding-top: 12px;
    padding-bottom: 12px;
    border-top: solid 1px #a9a9a9;
    border-bottom: solid 1px #a9a9a9;
}

/* News Contents */
.news_box ul.news-contents {
    display: block;
    list-style: none;
    padding-top: 20px;
    min-height: 260px;
}
.news_box ul.news-contents li {
    display: block;
    margin-bottom: 20px;
}
.news_box ul.news-contents li a {
    text-decoration: none;
    transition: 0.5s;
}
.news_box .news-contents li a:hover {
    opacity: 0.5;
}
.news_box .news-contents li a .date {
	display: inline-block;
	width: 132px;  /* 実測値 */
    font-size: 1.0rem;
    font-weight: bold;
	text-align: left;
    line-height: 1.6rem;
    letter-spacing: 0.1rem;
    vertical-align: top;
}
/*
.news_box .news-contents li a .icon {
	display: inline-block;
	width: 120px;
    font-size: 0.9rem;
    line-height: 1.6rem;
    font-weight: bold;
    color: #fff;
	text-align: center;
	vertical-align: 0px;
    padding: 5px 0 3px 0;
    border-radius: 20px;
    background-color: #FFAF00;
    margin-right: 20px;
}
.news_box .news-contents li a .icon_none {
	display: inline-block;
	width: 120px;
    margin-right: 20px;
}
*/
.news_box .news-contents li a .txt {
	display: inline-block;
/*	width: calc(100% - 130px - 124px - 20px);  */
	width: calc(100% - 140px);  /* 実測値 */
    font-size: 1.0rem;
    line-height: 1.4rem;
	text-align: left;
    font-weight: bold;
}

#home .news_box .info_more {
    margin-top: 0px;
    float: right;
}


/* =========================================================
    COMPANY
========================================================= */
#company {
}
/* company_box */
#company .company_box {
    margin-bottom: 50px;
}
#company .company_box h2.page_title {
}

#company .company_box .tr {
}
#company .company_box .th {
}


/* =========================================================
    LINK
========================================================= */
#link {
}
/* link_box */
#link .link_box {
    margin-bottom: 50px;
}
#link .link_box h2.page_title {
}

#link .link_box .tr {
    flex-direction: column;
    align-items: flex-start;
    border-bottom: 1px dotted #969696;
}
#link .link_box .tr:last-child {
    border-bottom: none;
}
#link .link_box .th {
    flex-basis: auto;
    margin-bottom: 0px;
}
#link .link_box .th span {
    font-size: 0.8rem;
    font-weight: normal;
    margin-left: 8px;
}


/* =========================================================
    NEWS
========================================================= */
#news {
}

/* news_box */
/* News Contents */
#news .news_contents {
	margin-bottom: 100px;
}
#news .news_contents .news {
    display: block;
    float: left;
    width: 73%;
/*    min-height: 800px; */
    padding-right: 4%;
}
/* @media screen and (max-width: 960px) { *//* PCでも幅が狭いため */
	#news .news_contents {
	    margin-top: 40px;
	    margin-bottom: 40px;
	}
    #news .news_contents .news {
        float: none;
        width: 100%;
        padding-right: 0px;
        border-right: none;
        border-bottom-width: 1px;
        border-bottom-style: dotted;
        border-bottom-color: #001900;
        padding-bottom: 20px;
        margin-bottom: 20px;
    }
/* } */

/* News detail */
#news .news_contents .news .date {
	display: inline-block;
    font-size: 1.2rem;
    margin-top: 0px;
}
#news .news_contents .news h4.title  {
    display: block;
    float: left;
    width: 100%;
    font-size: 1.2rem;
    font-weight: bold;
    color: #000;
    line-height: 2.0rem;
    margin-top: 20px;
}
#news .news_contents .news .inner {
    margin-top: 20px;
}
#news .news_contents .news .inner img {
    max-width: 100%;
    height: auto;
    margin-top: 20px;
    margin-bottom: 20px;
}
#news .news_contents .news .txt {
    margin-top: 10px;
    font-size: 1.0rem;
    line-height: 1.8rem;
}

/* @media (max-width: 960px) {*/ /* PCでも幅が狭いため */
    #news .news_contents .news h4.title  {
        width: 100%;
        margin-top: 10px;
        margin-bottom: 20px;
    }
/* } */

/* Archive */
#news .news_contents .archive {
    display: block;
    float: right;
    width: 19%;
    padding-left: 2%;
    font-size: 1.0rem;
    line-height: 1.8rem;
    text-align: left;
}
#news .news_contents .archive h2 {
    font-size: 1.2rem;
    margin-bottom: 18px;
}
#news .news_contents .archive ul {
    margin-top: 20px;
    margin-bottom: 40px;
}
#news .news_contents .archive li {
    padding-left: 2%;
    font-size: 1.1rem;
    line-height: 2.0rem;
    margin-bottom: 8px;
}
/* @media (max-width: 960px) { */ /* PCでも幅が狭いため */
    #news .news_contents .archive {
        float: none;
        width: 100%;
        padding-left: 0px;
    }
    #news .news_contents .archive h2 {
        text-align: center;
        font-size: 1.1rem;
        margin-top: 40px;
    }
    #news .news_contents .archive ul {
        margin-top: 20px;
        margin-bottom: 40px;
    }
    #news .news_contents .archive li {
        float: left;
        width: 46%;
        text-align: center;
        padding-left: 0%;
        font-size: 1.1rem;
        line-height: 2.6rem;
    }
    #news .news_contents .archive li.prev,
    #news .news_contents .archive li.next {
        width: 100%;
    }
/* } */

/* Main Pager */
#news .news_pager {
    width: calc(120px + 3px);
    height: 60px;
    display: block;
    margin-right: auto;
    margin-left: auto;
    margin-top: 60px;
    margin-bottom: 40px;
    background-color: #969696;
}
#news .news_pager .inner {
    width: 100%;
    height: 40px;
    padding-top: 10px;
    padding-bottom: 10px;
}
#news .news_pager p {
    display: inline-block;
    font-size: 1.0rem;
    color: #fff;
    white-space: nowrap;
/*
    display: flex;
    justify-content: center;
    align-items: center;
*/
}
#news .news_pager p a {
    display: block;
    width: 100%;
    height: 100%;
    color: #fff;
    text-align: center;
    text-decoration: none;
    transition: 0.7s;

    padding-top: 10px;  /* 実測値 */
}
#news .news_pager p a:hover {
    opacity: 0.5;
}
#news .news_pager p.prev {
    border-right: solid 1px #fff;
    width: calc(60px - 1px);
    height: 40px;
}
#news .news_pager p.prev a {
}
#news .news_pager p.next {
    width: 60px;
    width: calc(60px - 2px);  /* 2px 実測値 */
    height: 40px;
}
#news .news_pager p.next a {
}
#news .news_pager p.non-active {
    color: #a9a9a9;
}
/* @media (max-width: 960px) { */ /* PCでも幅が狭いため */
	#news .news_pager p.prev {
	}
	#news .news_pager p.next {
	}
/* } */

/* Archives Pager */
#news .arc_pager {
    margin-top: 40px;
    margin-bottom: 40px;
    display: block;
    width: 80%;
    margin-right: auto;
    margin-left: auto;
    text-align: center;
}
/* @media (max-width: 960px) { */ /* PCでも幅が狭いため */
    #news .arc_pager {
        width: 100%;
        margin-top: 0px;
        margin-right: 0px;
        margin-left: 0px;
    }
/* } */
#news .arc_pager ul {
}
#news .arc_pager li {
}
#news .arc_pager .prev {
/*  float: left; */
}
#news .arc_pager .next {
    font-size: 1.0rem;
/*  float: right; */
}
#news .news_contents .archive li.prev,
#news .news_contents .archive li.next {
    font-size: 1.0rem;
}
#news .arc_pager .non-active {
    color: #a9a9a9;
}


/* =========================================================
    USER INFO TABLE (COMMON)
========================================================= */
.form_group {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: row;
    padding: 8px 0px 8px 0px;
    font-size: 0.9rem;
}
.form_title {
    flex-basis: 100px;
    text-align: left;
    font-weight: bold;
}
.form_title span {
    display: inline-block;
    margin-left: 10px;
}
.form_data {
    flex-grow: 8;
    line-height: 1.2rem;
}
.form_data input,
.form_data select,
.form_data textarea {
/*
    display: table-cell;
    float: left;
*/
    width: calc(100% - 10px);
    min-height: calc(60px - 10px);
    padding: 5px;
    background: #FAFAF5;
}
.form_data textarea {
    height: 100px;
}
.form_data input:focus,
.form_data select:focus,
.form_data textarea:focus {
    color: #001900;
    min-height: calc(80px - 10px - 2px);
    background: #fff;
    border: solid 1px #0064FF;
}
@media screen and (max-width: 960px) {
	.form_group {
	    align-items: start;  /* 左寄せ（ターゲットは form_title） */
	    flex-direction: column;
/*	    padding: 20px 20px 40px 20px; */
	}
	.form_title {
	    flex-basis: auto;
	    margin-bottom: 15px;
	}
	.form_data {
	    width: 100%;
	}
	.form_data input,
	.form_data select,
	.form_data textarea {
	    width: calc(100% - 20px);
	    min-height: calc(80px - 12px);
	    padding-top: 0px;
	    padding-bottom: 0px;
	}
}

/* result-message */
.result-message {
    padding-top: 80px;
    padding-bottom: 160px;
    font-size:1.0rem;
    line-height: 1.6rem;
    text-align: center;
    display: table;
    margin-left: auto;
    margin-right: auto;
}
@media screen and (max-width: 767px) {
    .result-message {
        font-size: 0.8rem;
        padding-top: 60px;
        padding-bottom: 100px;
    }
}


/* =========================================================
    CONTACT
========================================================= */
#contact {
}

/* Contact Contents */
#contact .contact_contents {
    margin-top: 0px;
    margin-bottom: 50px;
}

/* hissu */
#contact .hissu {
    color: #ff0000;
    font-weight: bold;
}

/** CONFIRM MESSAGE **//* ★ */
#contact .confirm_msg {
    padding-top: 20px;
    padding-bottom: 20px;
    color: #ff0000;
    font-size: 1.0rem;
    text-align: center;
}

/** BUTTON **/
/* send *//* ★ */
#contact .snd_btn button {
    padding: 10px 80px 10px 80px;
    background-color: #1e90ff;
    border-radius: 4px;
    font-size: 1.0rem;
    letter-spacing: 0.1rem;
    text-align: center;
    text-decoration: none;
    color: #fff;
    display: table;
    margin-left: auto;
    margin-right: auto;
    margin-top: 60px;
    transition: 0.5s;
}
#contact .snd_btn:hover {
    cursor: pointer;
    transition: 0.5s;
    opacity: 0.6;
}

/* back *//* ★ */
#contact .back_btn button {
    padding: 12px 70px 12px 70px;
    background-color: #a5a5a5;
    font-size: 1.0rem;
    letter-spacing: 0.1rem;
    text-align: center;
    text-decoration: none;
    color: #fff;
    display: table;
    margin-left: auto;
    margin-right: auto;
    margin-top: 40px;
    transition: 0.5s;
}
#contact .back_btn:hover {
    cursor: pointer;
    transition: 0.5s;
    opacity: 0.5;
}


