@charset "UTF-8";
/* clearfix hack */
.clearfix:after {
    visibility: hidden;
    display: block;
    font-size: 0;
    content: " ";
    clear: both;
    height: 0;
}
.clearfix {
    display: inline-block;
}
/* start commented backslash hack \*/
* html .clearfix {
    height:1%;
}
.clearfix {
    display: block;
}

/* iPhone・iPad等のSafariで電話番号の自動リンク対策 */
a[href^=tel]{
    color:inherit;
    text-decoration:inherit;
    font-size:inherit;
    font-style:inherit;
    font-weight:inherit;
}
/* 共通 */
html {
    background-color:#fff;
}
body {
    margin:0;
    padding:0;
    background-color:#fff;
    font-size:16px;
    line-height:1.5em;
    color:#444;
}
img, iframe {
    vertical-align:bottom;
}
a {
    text-decoration:none;
    color:#00f;
}
a:hover {
    text-decoration:underline;
}
a img {
    border:0;
}
header {
    background-color:#fff6d8;
    background-image:url(images/bg-line1.png);
    background-repeat:no-repeat;
    background-position:0 40%;
}
#headerTop {
    width:100%;
    padding:10px 0;
    background-color:#fff;
}
#headerLogo {
    width:630px;
    margin:0 auto;
}
#comLogo {
    width:120px;;
    float:left;
}
#comLogo img {
    width:100%;
}
#comName {
    width:500px;
    float:right;
    margin:18px 0 0 0;
    text-align:right;
    font-size:32px;
    font-family: 'Kosugi Maru', sans-serif;
    color:#999;
}
#comName span {
    font-size:24px;
}
#menuWrap {
    width:100%;
    background-color:#49c642;
}
#menu {
    width:960px;
    padding:9px 0 6px 0;
    margin:0 auto;
    padding:0;
    list-style:none;
    border-left:1px solid #fff;
}
#menu li {
    display:block;
    width:calc(25% - 1px);
    float:left;
    padding:7px 0;
    text-align:center;
    border-right:1px solid #fff;
}
#menu li:hover {
    background-color:#2ea727;
}
#menu li a {
    display:block;
    width:100%;
    padding:0;
    color:#fff;
    text-decoration:none;
}
#menu li img {
    width:50%;
    max-width:60px;
}
#menu li.on {
    background-color:#2ea727;
}
#whiteLine {
    width:100%;
    height:160px;
    background-color:#fff;
    background-image:url(images/bg-line2.png);
    background-repeat:no-repeat;
    background-position:0 50%;
}
#main {
    width:960px;
    margin:0 auto;
    padding: 40px 0;
}
footer {
    width:100%;
    background-color:#fff6d8;
}
#whiteLine2 {
    width:100%;
    height:123px;
    background-color:#fff;
    background-image:url(images/bg-line3.png);
    background-repeat:no-repeat;
}
#footInner {
    width:470px;
    margin:0 auto;
    padding:30px 0 36px 0;
    color:#fff;
}
#comLogo2 {
    width:130px;
    float:left;
    margin-right:50px;
    padding-top:15px;
}
#comLogo2 img {
    width:100%;
}
#comWrap {
    width:290px;
    float:left;
    color:#444;
}
#comWrap p {
    margin:0;
    font-size:18px;
}
address {
    font-style:normal;
}
#footMenuWrap {
    width:100%;
    padding:10px 0;
    background-color:#aae9a6;
}
#footMenu {
    width: 330px;
    margin:0 auto;
    padding:0;
    list-style:none;
}
#footMenu li {
    float:left;
    margin-left:15px;
}
#footMenu a {
    display:block;
    color:#444;
}
#copyright {
    width:100%;
    padding:10px 0;
    background-color:#49c642;
    text-align:center;
    color:#fff;
}
#midashi {
    width:200px;
    height:200px;
    margin:40px auto 0 auto;
}
#midashiCircle {
    position: relative;
    width: 50%;
    height: 50%;
    padding: 25%;
    border-radius: 50%;
    background-color: #FDA3A3;
    /* margin: 1em; */
}
#midashiCircle h2 {
    position: absolute;
    left: 0;
    top: 41%;
    margin: -.5em 0 0 10%;
    padding:0 0 5px 0;
    width: 80%;
    text-align: center;
    color: #fff;
    border-bottom:3px double #fff;
}
#midashiCircle h3 {
    position: absolute;
    left: 0;
    top: 56%;
    margin: -.5em 0 0;
    width: 100%;
    text-align: center;
    color: #fff;
}
h4 {
    position: relative;
    padding-bottom: .5em;
    margin-top:50px;
    text-indent:0.5em;
    color:#2EA727;
    font-size:large;
}
h4::before, h4::after {
    position: absolute;
    bottom: -4px;
    left: 0;
    content: '';
    height: 4px;
}
h4::before {
    z-index: 2;
    width: 320px;
    background-color: #2EA727;
}
h4::after {
    width: 100%;
    background: -webkit-repeating-linear-gradient(45deg, #fff, #fff 2px, #51934c 2px, #51934c 4px);
    background: repeating-linear-gradient(45deg, #fff, #fff 2px, #51934c 2px, #51934c 4px);
}
h4:first-child {
    margin-top:0;
}
/* トップページ */
#headerImgWrap {
    width:960px;
    margin:0 auto;
}
#newsWrap {
    /* width:calc(900px - 30px); */
    /* height:140px; */
    margin:0 auto 15px auto;
    padding:15px;
    border-radius:10px;
    background-color:#fff;
    border: 2px solid #ddd;
    box-sizing: border-box;
}
#newsHeader {
    width:100%;
    padding: 0 0 2px 0;
    border-bottom:2px dashed #63C1FB;
}
#newsHeader .left {
    width:50%;
    float:left;
    font-family: 'Kosugi Maru', sans-serif;
    font-size:24px;
    color:#63C1FB;
}
#newsHeader .right {
    width:50%;
    float:right;
    text-align:right;
}
#newsHeader .right a {
    color:#0000ff;
}
#newsHeader .right a:hover {
    text-decoration:underline;
}
#sec1 .left, #sec1 .right {
    width:50%;
    float:left;
}
#sec1 .left {
    margin:0;
    padding:0;
    list-style:none;
}
#sec1 .left li {
    width:90%;
    margin:0 0 20px 0;
}
#sec1 .left li img {
    width:100%;
}
/*
#sec1 .left li.modal {
    display:none;
}
#sec1 .right {
    height:420px;
    overflow:auto;
}
*/
#sec1 .right .fb-page, #sec1 .right .fb-page span, #sec1 .right .fb-page span iframe {
    width:100% !important;
}
.fb_iframe_widget, .fb_iframe_widget span, .fb_iframe_widget iframe[style]{
    width: 100% !important;
}
.modalText .seido dt {
    font-weight:bold;
    color:#1b63aa;
}
.modalText .seido dd {
    margin-left:20px;
    margin-bottom:20px;
}
.modalText .q_and_a {
    width:calc(100% - 2em);
    margin-left:2em;
}
.modalText .q_and_a dt, .modalText .q_and_a dd {
    position: relative;
}
.modalText .q_and_a dt {
    color:#1b63aa;
}
.modalText .q_and_a dd {
    margin-left:0px;
    margin-bottom:20px;
    padding-bottom:10px;
}
.modalText .q_and_a dt:before {
    position: absolute;
    content:'Ｑ．';
    display:block;
    top:0;
    left:-2em;
    width:2em;
    height:1em;
    color:#1b63aa;
}
.modalText .q_and_a dd:before {
    position: absolute;
    content:'Ａ．';
    display:block;
    top:0;
    left:-2em;
    width:2em;
    height:1em;
}
.modalText .q_and_a dd p {
    text-align:center;
    margin-bottom:0;
    font-weight:bold;
}
.modalText .qaImg {
    width:92%;
    max-width:600px;
    margin:10px auto 30px auto;
    list-style:none;
}
.modalText .qaImg li {
    width:100%;
}
.modalText .qaImg li img {
    width:100%;
}
#sec2 {
    width:calc(98% - 40px);
    margin:40px auto 20px auto;
    padding:20px;
    border:1px solid #ccc;
    box-shadow: 2px 2px 6px #ccc;
}
#sec2 #katsudoMark {
    width:211px;
    margin:10px auto;
}
#sec2Inner {
    width:650px;
    margin:20px auto 0 auto;
}
#sec2 .left {
    width:203px;
    float:left;
}
#sec2 ol.right {
    width:350px;
    float:right;
    position: relative;
    margin:14px 0 0 0;
    padding:0
}
#sec2 ol.right li {
    list-style: none;
    list-style-position:outside;
    margin:0 0 14px 0;
    padding-left:1.25em;
    font-size:18px;
}
#sec2 ol.right li span {
    position: absolute;
    left:0;
    margin:0
    left: -1.25em;
}
#sec2 ol.right li#katsudoList1 {
    border-bottom:2px dotted #fc7a7a;
}
#sec2 ol.right li#katsudoList2 {
    border-bottom:2px dotted #19a3f9;
}
#sec2 ol.right li#katsudoList3 {
    border-bottom:2px dotted #03b000;
}
#sec2 ol.right li#katsudoList4 {
    border-bottom:2px dotted #fe5006;
}
#sec2 .katsudoSummary {
    width:650px;
    margin:20px auto 5px auto;
}
/* 新着情報 */
.newsTop {
    width:calc(100% - 20px);
    margin:0;
    padding:6px 10px;
    list-style:none;
    color:#444;
    border-bottom:1px dotted #63C1FB;
}
.newsTop li.date {
    width:150px;
    float:left;
}
.newsTop li.title {
    width:calc(100% - 150px);
    float:left;
}
.newsAll {
    width:calc(100% - 30px);
    margin:20px auto 30px auto;
    padding:15px;
    border-radius:15px;
    background-color:#FFF6D8;
    list-style:none;
    color:#444;
}
.newsAll li.title {
    width:96%;
    margin:0 auto;
    font-size:large;
    border-bottom:1px dotted #999;
    color:#725e1d;
}
.newsAll li.summary {
    width:92%;
    margin:0 auto;
    padding:10px 0;
}
.newsAll li.url {
    width:92%;
    margin:0 auto;
    line-height:2em;
}
.newsAll li.date {
    width:96%;
    margin:0 auto;
    padding-top:5px;
    border-top:1px dotted #999;
    text-align:right;
}
.modalBox {
    display:none;
}
h3.modalTtl {
    margin-top:3px;
    padding-bottom:3px;
    border-bottom:1px dashed #1a8c12;
    color:#1a8c12;
}

/* 法人概要 */
#about {
    width:900px;
    margin:30px auto 15px auto;
    border-bottom:1px solid #ccc;
    border-collapse: collapse;
}
#about th, #about td {
    padding:15px;
}
#about th {
    clear:both;
    width:120px;
    float:left;
    font-weight:normal;
}
#about th i.far {
    display:none;
}
#about td {
    width:calc(100% - 180px);
    float:left;
    margin:0;
}
#about .odd, #about .even {
    border-top:1px solid #ccc;
}
#about .even, #about .even2 {
    background-color:#eee;
}
#about .even2 {
    padding-top:0;
}
#googlemap {
    width:898px;
    height:600px;
    margin:20px auto 30px auto;
    border:1px solid #ccc;
}
#googlemap iframe {
    width:100%;
}
#aboutSummary {
    width:900px;
    margin:30px auto;
    text-indent:1em;
}
#aboutList {
    width:870px;
    margin:30px auto;
    padding-left:30px;
}
#aboutOther, #logoWrap {
    width:900px;
    margin:30px auto;
}
#logoWrap .left {
    width:49%;
    float:left;
}
#logoWrap .left img {
    width:100%;
}
#logoWrap .right {
    width:49%;
    float:right;
}
i#iconBlue {
    color:#63c1fb;
}
i#iconPink {
    color:#fda3a3;
}
i#iconGreen {
    color:#15fb20;
}

/* 入会方法 */
.adm, #adm1 {
    width:900px;
    margin:30px auto;
}
#adm1 dt {
    clear:both;
    width:120px;
    float:left;
}
#adm1 dd {
    width:calc(100% - 120px);
    float:left;
    margin:0;
}
.adm2 {
    width:880px;
    margin:30px auto;
    padding-left:20px;
}
#kaihiWrap {
    width:640px;
    margin:30px auto;
}
#kaihiWrap .left {
    width:49%;
    float:left;
}
#kaihiWrap .right {
    width:49%;
    float:right;
}
#kaihiWrap .right .kaihiTitle, #kaihiWrap .right .kaihi {
    margin-left:auto;
    margin-right:0;
}
.kaihiTitle {
    width:290px;
    background-color:#eee;
    padding:10px 0;
    text-align:center;
    border-top:1px solid #ccc;
    border-bottom:1px solid #ccc;
    font-weight:bold;
}
.kaihi {
    width:290px;
    margin:0;
}
.kaihi dt, .kaihi dd {
    width:125px;
    float:left;
    padding:10px;
    border-bottom:1px solid #ccc;
}
.kaihi dt {
    clear:both;
}
.kaihi dd {
    margin:0;
    text-align:right;
}
.kaihi .even {
    background-color:#eee;
}

/* お問い合わせ */
#contactTitleWrap {
    width:240px;
    margin-top:30px;
}
#contactTitleWrap h2 {
    width:100%;
    margin:0;
    border-bottom:3px double #25371e;
    text-align:center;
}
#contactTitleWrap h3 {
    width:100%;
    margin:5px 0 0 0;
    text-align:center;
    color:#25371e;
}
#proc {
    width: 460px;
    margin: 20px auto;
    padding: 0;
    list-style-type: none;
}
.now, .yet {
    display: block;
    width: 120px;
    height: 40px;
    float:left;
    margin-right:40px;
    position: relative;
    background: #336323;
    line-height:38px;
    font-size:16px;
    font-weight:bold;
    color:#fff;
    text-indent:1.2em;
    letter-spacing:0.5em;
}
.now::before, .yet::before {
    content: "";
    position: absolute;
    right: -20px;
    bottom: 0;
    width: 0;
    height: 0;
    border-left: 20px solid #336323;
    border-top: 20px solid transparent;
    border-bottom: 20px solid transparent;
}
#proc li:last-child, #proc li:last-child {
    margin-right:0;
}
.yet::after {
    content: "";
    position: absolute;
    width: 140px;
    height: 40px;
    top: 0;
    left: 0;
    z-index: 1;
    background: rgba(255,255,255,0.75);
}
#inqForm {
    width:800px;
    margin:20px auto;
    border-bottom: 1px dotted #999;
}
#inqForm dt {
    clear:both;
    width:120px;
    float:left;
    border-top:1px dotted #999;
    padding:23px 5px;
    text-align:center;
}
#inqForm dt.adjustLeft {
    padding:37px 5px 38px 5px;
}
#inqForm dd {
    width:calc(100% - 140px);
    float:left;
    margin:0;
    border-top:1px dotted #999;
    padding:18px 5px;
}
#inqForm dd.adjustRight {
    padding:23px 5px 23px 5px;
}
#inqForm dd .txt1 {
    width:50%;
}
#inqForm dt.toiawase {
    padding:83px 5px 82px 5px;
}
#inqForm dt.even, #inqForm dd.even {
    background-color:#eeeeee;
}
#inqForm dt span {
    color:#cc0000;
}
#inqForm dd .txt2 {
    width:90%;
    ime-mode:disabled;
}
#inqForm dd p {
    margin:5px 0 0 0;
    font-size:small;
    color:#666;
}
#inqForm input[type="text"] {
    padding:7px;
}
#inqForm textarea {
    width:95%;
    height:15em;
}
#inqRemark {
    width:800px;
    margin:5px auto;
}
#inqRemark .left {
    clear:both;
    width:80px;
    float:left;
    margin-bottom:10px;
}
#inqRemark .right {
    width: calc(100% - 80px);
    float:left;
    margin-bottom:10px;
}

#btnWrap {
    margin:20px 0;
    text-align:center;
}
#btnWrap input {
    padding:5px 10px;
}
#errMsg {
    width:500px;
    margin:20px auto;
    padding:10px 0 10px 25px;
    border:3px double #cc0000;
    color:#cc0000;
}
#inqCheckWrap {
    width:800px;
    margin:20px auto;
    border-bottom:1px dotted #999;
}
.inqCheckOdd, .inqCheckEven {
    width:100%;
    margin:0;
    border-top:1px dotted #999;
}
.inqCheckEven {
    background-color:#eeeeee;
}
.inqCheckOdd .name, .inqCheckEven .name {
    width:110px;
    float:left;
    padding:20px 5px;
    text-align:center;
}
#inqForm dt em, .inqCheckOdd .name em, .inqCheckEven .name em {
    display:block;
}
#inqForm dt i.far, #inqCheckWrap .name i.far {
    display:none;
}
.inqCheckOdd .value, .inqCheckEven .value {
    width:670px;
    float:left;
    padding:20px 5px;
    font-weight:bold;
}
#btnWrap form {
    display:inline;
}
#inqFinish {
    margin:50px auto;
    text-align:center;
    line-height:2em;
}

/* 201903 add notes */
.notes {
    padding: 1rem;
    box-sizing: border-box;
    background: #fff6d8;
    margin: 0 0 1.5rem 0;
    border-radius: 8px;
}

.pc-menu {
    display: block;
}
.mobile-menu {
    display: none;
}

/* page top button */
.page-top {
    position: fixed;
    bottom: 1rem;
    right: 1rem;
}

.page-top a {
    background: rgba(73, 198, 66, 0.5);
    border-radius: 50px;
    box-shadow: 0 1px 5px rgba(0,0,0,0.2);
    display: block;
    height: 50px;
    text-align: center;
    width: 50px;
    transition: 0.2s ease;
}

.page-top a:hover {
    background: rgba(73, 198, 66, 0.8);
}

.page-top a::before {
    content: url(images/arrow.png);
}

/* メディアクエリー */
@media only screen and (max-width:984px) {
    #headerImgWrap, #headerImgWrap img {
        width:100%;
    }
    #menu {
        width:calc(100% - 1px);
    }
    #main {
        width:98%;
    }
    .fb-page {
        width:100%;
    }
    /* 法人概要 */
    #about, #googlemap, #aboutSummary, #aboutOther, #logoWrap {
        width:98%;
    }
    #aboutList {
        width:calc(98% - 30px);
    }
    /* 入会方法 */
    .adm, #adm1 {
        width:98%;
    }
    .adm2 {
        width:calc(98% - 20px);
        
    }
}
@media only screen and (max-width:924px) {
    #newsWrap {
        /* width:calc(98% - 30px); */
    }
}
@media only screen and (max-width:824px) {
    /* トップページ */
    .modalText .qaImg {
        padding-left:2em;
    }
    /* お問い合わせ */
    #inqForm, #inqRemark, #inqCheckWrap {
        width:96%;
    }
    #inqForm dd, .inqCheckOdd .value, .inqCheckEven .value {
        width:calc(100% - 150px);
    }
}
@media only screen and (max-width:768px) {
    body {
        font-size:14px;
    }
    header {
        background-image:url(images/bg-mb-line1.png);
    }
    #headerLogo {
        width:calc(100% - 10px);
        margin:0 0 0 10px;
    }
    #comName {
        width:calc(100% - 130px);
        margin:7px 0 0 0;
        text-align:left;
        font-size:24px;
    }
    #comName span {
        display:block;
        font-size:18px;
    }
    #whiteLine {
        display:none;
    }
    #main {
        padding:20px 0 30px 0;
    }
    #sec1 {
        padding:30px 0 0 0;
    }
    #whiteLine2 {
        height:40px;
        background-image:url(images/bg-mb-line3.png);
    }
    #comWrap {
        margin-top:0px;
    }
    #footMenu {
        width:300px;
    }
    /* トップページ */
    #sec2Inner, #sec2 .katsudoSummary {
        width:100%;
    }
    #sec2Inner .left {
        margin-right:15px;
    }
    #sec2Inner ol.right {
        width:calc(100% - 218px);
    }
}
@media only screen and (max-width:664px) {
    /* トップページ */
    #sec2Inner ol.right li {
        font-size:16px;
    }
    #kaihiWrap {
        width:290px;
    }
    #kaihiWrap .left, #kaihiWrap .right {
        width:100%;
        float:none;
    }
    #kaihiWrap .right {
        margin-top:30px;
    }
}

@media only screen and (max-width:524px) {
    #comLogo, #comLogo2 {
        width:90px;
    }
    #comLogo img, #comLogo2 img {
        width:100%;
    }
    #comName {
        width:calc(100% - 100px);
        margin:2px 0 0 0;
        text-align:left;
        font-size:18px;
        font-weight:normal;
    }
    #comName span {
        display:block;
        font-size:18px;
        font-weight:normal;
    }
    #newsWrap {
        margin: 0 1rem 1rem 1rem;
    }
    #menu li {
        font-size:small;
    }
    #menu li img {
        width: 25px;
    }
    .pc-menu {
        display: none;
    }
    .mobile-menu {
        display: block;
    }
    #footInner {
        width:330px;
        margin:0 auto;
    }
    #comLogo2 {
        margin-right:10px;
    }
    #comWrap {
        width:230px;
    }
    #comWrap p {
        font-size:14px;
    }
    #footMenu {
        /* width:98%; */
    }
    #footMenu li {
        /* width:calc(32%);
        margin:5px 0;
        text-align:center; */
    }
    #footMenu li:first-child, #footMenu li#four {
        /* margin-left:0; */
    }
    /* トップページ */
    #sec1 .left {
        width:100%;
        float:none;
    }
    #sec1 .left li {
        margin:0 auto 20px auto;
    }
    #sec1 .left li.modal {
        display:block;
    }
    #sec1 .left li.loader {
        display:none;
    }
    #sec1 .right {
        width:100%;
        float:none;
    }
    #sec2 #sec2Inner .left {
        float:none;
        margin:0 auto;
    }
    #sec2 #sec2Inner .right {
        float:none;
        width:100%;
    }
    /* 新着情報 */
    .newsAll li.title, .newsAll li.date {
        width:100%;
    }
    .newsAll li.summary, .newsAll li.url {
        width:96%;
    }
    /* 法人概要 */
    #about th, #about td {
        width:calc(100% - 5px);
        padding:15px 0 5px 5px;
        text-align:left;
    }
    #about th i.far {
        display:inline;
    }
    #about th.even2 {
        display:none;
    }
    #about td {
        border-top:0 !important;
    }
    #about td {
        width:calc(100% - 21px);
        padding:0 0 15px 21px;
        text-align:left;
    }
    #googlemap, #aboutSummary, #aboutOther {
        width:96%;
    }
    #googlemap {
        height:360px;
    }
    #googlemap iframe {
        height:100%;
    }
    #logoWrap .left, #logoWrap .right {
        width:96%;
        margin:0 auto;
        float:none;
    }
    /* 入会方法 */
    .adm, #adm1 {
        width:96%;
    }
    .adm2 {
        width:calc(96% - 20px);
        
    }
    /* お問い合わせ */
    #proc {
        width: 315px;
    }
    .now, .yet {
        width: 80px;
        height: 30px;
        margin-right:30px;
        line-height:28px;
        font-size:14px;
        font-weight:bold;
        text-indent:0.9em;
        letter-spacing:0.1em;
    }
    .now::before, .yet::before {
        right: -15px;
        border-left: 15px solid #336323;
        border-top: 15px solid transparent;
        border-bottom: 15px solid transparent;
    }
    .yet::after {
        width: 95px;
        height: 30px;
    }
    #inqForm dt, .inqCheckOdd .name, .inqCheckEven .name {
        float:none;
        width:calc(100% - 5px);
        text-align:left;
    }
    #inqForm dt em, .inqCheckOdd .name em, .inqCheckEven .name em, #inqForm dt i.far, #inqCheckWrap .name i.far {
        display:inline;
    }
    #inqForm dd, .inqCheckOdd .value, .inqCheckEven .value {
        float:none;
        width:95%;
    }
    #inqForm dt, #inqForm dt.toiawase, .inqCheckOdd .name, .inqCheckEven .name, #inqForm dt.adjustLeft {
        padding:10px 0 5px 5px;
    }
    #inqForm dd, .inqCheckOdd .value, .inqCheckEven .value, #inqForm dd.adjustRight {
        border-top:0;
        padding: 5px 0 10px 5%;
    }
    #inqForm input[type="text"] {
        width:93% !important;
    }
    #inqForm textarea {
        width:95%;
    }
    /* 201903 add notes */
    .notes {
        margin: 0 1rem 1rem 1rem;
    }
}
@media only screen and (max-width:360px) {
    address span {
        display:block;
    }
}

