@charset "utf-8";

:root {

    --bg-color: #ffffff;
    --text-color : #4c4c4c;

    --fontsize-normal: 16px;
    --lineheight-normal: 1.5em;
        
    --base-color1:#F15A24;          /* redorange */
    --base-text-color1:#FFFFFF;
    --base-color2:#FBB03B;          /* orange */
    --base-text-color2:#624e46;
    --base-color3:#ff725a;          /* pink */
    --base-text-color3:#FFFFFF;
    --base-color4:#3a5e8d;          /* blue */
    --base-text-color4:#FFFFFF;
    --base-color5:#7cb33c;          /* green */
    --base-text-color5:#FFFFFF;
    --base-color6:#636363;          /* gray */
    --base-text-color6:#FFFFFF;

    --vk-color-text-body:  #4c4c4c;

    --ym-base : #4c4c4c;
    --ym-redorange : #eb6100;
    --ym-orange : #f5880b;
    --ym-green : #1da111;
    --ym-lightpink : #ffede6;
    --ym-beige : #fff9e6;
    --ym-lightgreen : #cff999;
    --ym-lightpurple : #ebe6ff;
    --ym-lightgray : #f9f9f9;

    --text-color : #4c4c4c;
    --link-color : #4c4c4c;
    --link-color-visit : #4c4c4c;
    --link-color-hover : #4c4c4c;

    --header-base-color : #4c4c4c;
    --site-header-color : rgba(255,255,255,0.8) ;

    --btn--redorange : #eb6100;
    --btn--orange: #f5880b;
    --btn--green: #1da111;

    --navi-color-a : #eeeeee;
    --navi-color-a-link : #eeeeee;
    --navi-color-a-visited : #eeeeee;
    --navi-color-a-hover : #ffffff;

    --footer-height : 300px;
    --footer-base-color : #4c4c4c;
    --footer-base-copyright-color  : #4c4c4c;
    --footer-text-color  : #bbbbbc;
    --footer-menu-color : #bbbbbc;
    --footer-menu-color-a : #bbbbbc;
    --footer-menu-color-link : #bbbbbc;
    --footer-menu-color-visited : #bbbbbc;
    --footer-menu-color-hover : #dddddc;

    --label-base-color : #4c4c4c;
    --label-text-color : #ffffff;

    --form-border-color : #bbbbbc;
    --form-text-color : #4c4c4c;
    --form-border-focus-color : #bbbbbc;
    --form-submit-base-color : #46bd29;
    --form-submit-text-color : #ffffff;
    --form-btn-base-color : #999999;
    --form-btn-text-color : #ffffff;

    --table-border-color : #bbbbbc;
    --table-text-color : #4c4c4c;
    --table-midasi-base-color : #71c036;
    --table-midasi-text-color : #ffffff;
    --table-midasi2-base-color : #efefef;
    --table-midasi2-text-color : #4c4c4c;

    --table-msg-label-base-color : #808080;
    --table-msg-label-text-color : #ffffff;
    --table-msg-result-text-color : #e30000;

}


body{
  font-size:15px;
  color: var(--text-color);
  font-family:  "游ゴシック", YuGothic, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, Verdana, Roboto,  "Droid Sans", "Microsoft Yahei","PingHei", sans-serif;
  -webkit-text-size-adjust: 100%;

  -webkit-font-smoothing: subpixel-antialiased;
  -moz-osx-font-smoothing: unset;

  -moz-font-feature-settings: "palt";
  -webkit-font-feature-settings: "palt";
  font-feature-settings: "palt";

  box-sizing: border-box;
  margin:0;
  margin-top:-12px;
}
@media only screen and (-webkit-min-device-pixel-ratio: 2),(min-resolution: 2dppx) {
    body{
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    }
}

img {
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
}

a { color: var(--link-color-visit); }
a:hover{ color: var(--link-color-hover); }
a:visited{ color: var(--link-color-visit); }
a:link{ color: var(--link-color); }

p {
  font-size:15px;
  line-height: 2em;
  margin-bottom: 1.2em;
  max-height: 100%;
}

table {
  border-collapse: collapse;
  border: 0px solid var(--table-border-color);
  padding: 10px 10px;
  max-height: 100%;
}
table th, table td {
  border: 0px solid var(--table-border-color);
  padding: 10px 10px;
  vertical-align: top;
  max-height: 100%;
}
table td ol li {
  line-height: 2em;
  max-height: 100%;
}
ul,li {
  line-height: 1.8em;
  max-height: 100%;
}
hr { 
  border-left: 0px solid #ffffff; 
  border-top: 0px solid #ffffff;
  border-bottom: 1px solid var(--label-base-color);
}

/*PCの場合*/
.pc { display:inline !important; }
.mb { display:none !important; }
.pc-table { display:table !important; }
.mb-table { display:none !important; }
@media screen and (max-width: 639px) {
/*タブレット、スマホの場合*/
.pc { display:none !important; }
.mb { display:inline !important; }
.pc-table { display:none !important; }
.mb-table { display:table !important; }
}



#container {
    width: 100%;
    background-color: var(--bg-color);
}
#contents {
}
#contents table {
  width: 100%;
  padding:0em;
  font-size: 16px;
  background-color: var(--bg-color);
}
#contents table td.label {
  background-color: var(--label-base-color);
  color:  var(--label-text-color);
  font-size: 0.9em;
}
#contents table td.label-green {
  background-color: var(--ym-green);
  color:  var(--label-text-color);
  font-size: 0.9em;
}
#contents table td.label-redorange {
  background-color: var(--ym-redorange);
  color:  var(--label-text-color);
  font-size: 0.9em;
}


/* 線なし　左寄せ */

table.type4 {
    border-collapse: separate;
    border-spacing: 2px;
    margin: 0px 0px 0px 0px;
    padding:0px;
    width: 100%;
    line-height: 36px;
    vertical-align: top;
    text-align:left;
    color:#4c4c4c;
    font-size:16px;
    max-height: 999999px;

    border-top: 0px solid var(--table-border-color);
    border-bottom: 0px solid var(--table-border-color);
    border-left: 0px solid var(--table-border-color);
    border-right: 0px solid var(--table-border-color);
}
table.type4 th {
    padding:0px;
    color:#666666;
    font-size:16px;
    line-height: 36px;
    font-weight:normal;
    vertical-align: middle;
    border-bottom: 0px solid var(--table-border-color);
    background: #efefef;
}
table.type4 tr td {
    padding:0.2em 0.6em;
    text-align: left;
    vertical-align: middle;
    border-top: 0px solid var(--table-border-color);
    border-bottom: 0px solid var(--table-border-color);
    border-left: 0px solid var(--table-border-color);
    border-right: 0px solid var(--table-border-color);
}

table.type4 .midasi {
    padding:0.2em 0.6em;
    text-align: center;
    vertical-align: middle;
    white-space:nowrap;
    border-top: 0px solid var(--table-border-color);
    border-bottom: 0px solid var(--table-border-color);
    border-left: 0px solid var(--table-border-color);
    border-right: 0px solid var(--table-border-color);
    background: var(--table-midasi-base-color);
    color: var(--table-midasi-text-color);
}
table.type4 .midasi2 {
    text-align: center;
    background: var(--table-midasi2-base-color);
    color: var(--table-midasi2-text-color);
}

@media screen and (max-width: 480px) {
  table.type4 tr td {
    display:block;
  }
  table.type4 td:before { 
    content:attr(data-label); 
    float:left; 
    width: 100%;
  } 
  table.type4 .midasi { 
    margin-bottom: 0.5em;
  } 
}

/* 横4col スマホ縦積み 見出し行 data-label 付き */

table.type5 {
    border-collapse: separate;
    border-spacing: 1px;
    margin: 0px 0px 0px 0px;
    padding:0px;
    width: 100%;
    box-sizing: border-box;
    line-height: 36px;
    vertical-align: top;
    text-align:left;
    color:#4c4c4c;
    font-size:16px;
    max-height: 999999px;

    border-top: 0px solid var(--table-border-color);
    border-bottom: 0px solid var(--table-border-color);
    border-left: 0px solid var(--table-border-color);
    border-right: 0px solid var(--table-border-color);
}
table.type5 th {
    padding:0px;
    color:#666666;
    font-size:16px;
    line-height: 36px;
    font-weight:normal;
    vertical-align: middle;
    border-bottom: 0px solid var(--table-border-color);
    background: #efefef;
}
table.type5 tr td {
    padding:0.2em 0.6em;
    text-align: left;
    vertical-align: middle;
    border-top: 0px solid var(--table-border-color);
    border-bottom: 0px solid var(--table-border-color);
    border-left: 0px solid var(--table-border-color);
    border-right: 0px solid var(--table-border-color);
}

table.type5 .midasi {
    padding:0.2em 0.6em;
    text-align: center;
    vertical-align: middle;
    white-space:nowrap;
    border-top: 0px solid var(--table-border-color);
    border-bottom: 0px solid var(--table-border-color);
    border-left: 0px solid var(--table-border-color);
    border-right: 0px solid var(--table-border-color);
    background: var(--table-midasi-base-color);
    color: var(--table-midasi-text-color);
    width: 30%;
    box-sizing: border-box;
}
table.type5 .midasi2 {
    text-align: center;
    background: var(--table-midasi2-base-color);
    color: var(--table-midasi2-text-color);
}

table.type5 img {
    width:100%;
    max-width:200px;
}

table.type5 .label {
    padding: 4px;
    width:25%;
    color: var(--base-text-color1);
    font-size: var(--fontsize-normal);
    line-height: var(--lineheight-normal);
    font-weight:normal;
    text-align: center;
    vertical-align: middle;
    border-bottom: 1px solid #ccc;
    border-left: 1px solid #ccc;
    border-right: 0px solid #ccc;
    background-color: var(--base-color1);
}
table.type5 .pcnodisp {
    display:none;
}

table.center tr td {
    text-align: center;
}

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

table.type5 tr td {
    display:block;
    border-left: 0px solid #ccc;
    border-left: 1px solid #ccc;
    text-align: center;
}
table.type5 tr td:last-child, table.type5 tr td:nth-child(2)  {
    display:block;
    border-right: 1px solid var(--table-border-color);
}
table.type5 .head {
    display:none;
}
table.type5 .midasi { 
    width: 100%;
} 
table.type5 .mbnodisp {
    display:none;
}
table.type5 .pcnodisp {
    display:inline-block;
}

}


div.submit-box {
    padding: 2em 2em;
}

/* 電話・FAX */

#contents table.contact tr td {
  font-size: 0.9em;
}
#contents table.contact td.tel {
  font-size: 1.4em;
  font-weight: bold;
}
#contents table.contact td.fax {
  font-size: 1.2em;
  font-weight: bold;
}
#contents table td.comment {
  font-size: 0.9em;
}

@media screen and (max-width: 480px) {
  #contents table.contact tr td {
    display:inline-block;
  }
  #contents table.contact tr td.comment {
    display:block;
  }
}


/* message error BOX */

table.msg {
    border-collapse: separate;
    width: 100%;
    color: var(--table-text-color);
}
table.msg th {
    text-align: center;
    vertical-align: middle;
    background: var(--table-msg-label-base-color);
    color: var(--table-msg-label-text-color);
}
table.msg td {
    text-align: center;
    color: var(--table-msg-text-color);
}
table.msg td.result {
    text-align: center;
    color: var(--table-msg-result-text-color);
    font-weight: bold;

}


/* ※こめ印 インデント */
ul.komejirusi {
    padding-left:1em !important;
}
ul.komejirusi li{
    text-indent:-1em !important;
    list-style-type:none !important;
}
.komejirusi_p {
    padding-left:1em !important;
}
.komejirusi_p p{
    text-indent:-1em !important;
    list-style-type:none !important;
}




/* for Mail Form */

input, textarea {
    font-size: 16px;
}

input[type=text]{
   border-radius: 5px;
   -moz-border-radius: 5px;
   -webkit-border-radius: 5px;
   -o-border-radius: 5px;
   -ms-border-radius: 5px;
   border:1px solid var(--form-border-color);
   padding:6px;
   color:var(--form-text-color);
   box-sizing: border-box;
   width:100%;
}
input[type=text].normallenght {
    width: 78%;
    max-width: 20em;
}

input[type=text]:focus {
   border:2px solid var(--form-border-focus-color);
}

input[type=text] { 
   outline: none;
}


input[type=tel]{
   border-radius: 5px;
   -moz-border-radius: 5px;
   -webkit-border-radius: 5px;
   -o-border-radius: 5px;
   -ms-border-radius: 5px;
   border:1px solid var(--form-border-color);
   padding:6px;
   color:var(--form-text-color);
   box-sizing: border-box;
   width:100%;
}

input[type=tel]:focus {
   border:2px solid var(--form-border-focus-color);
}

input[type=tel] { 
   outline: none;
}

input[type=email]{
   border-radius: 5px;
   -moz-border-radius: 5px;
   -webkit-border-radius: 5px;
   -o-border-radius: 5px;
   -ms-border-radius: 5px;
   border:1px solid var(--form-border-color);
   padding:6px;
   color:var(--form-text-color);
   box-sizing: border-box;
   width:100%;
}

input[type=email]:focus {
   border:2px solid var(--form-border-focus-color);
}

input[type=email] { 
   outline: none;
}

input[type=number]{
   border-radius: 5px;
   -moz-border-radius: 5px;
   -webkit-border-radius: 5px;
   -o-border-radius: 5px;
   -ms-border-radius: 5px;
   border:1px solid var(--form-border-color);
   padding:6px;
   color:var(--form-text-color);
   box-sizing: border-box;
   width:100%;
}
input[type=number].num2 {
    width: 2.6em;
}
input[type=number].num4 {
    width: 5.5em;
}

input[type=number]:focus {
   border:2px solid var(--form-border-focus-color);
}

input[type=number] { 
   outline: none;
}

textarea {
   outline: none;
   -moz-border-radius: 5px;
   -webkit-border-radius: 5px;
   -o-border-radius: 5px;
   -ms-border-radius: 5px;
   border:1px solid var(--form-border-color);
   padding:6px;
   color:var(--form-text-color);
   box-sizing: border-box;
   width:100%;
   height:auto;
}
textarea:focus {
   border:2px solid var(--form-border-focus-color);
}

select{
   border-radius: 5px;
   -moz-border-radius: 5px;
   -webkit-border-radius: 5px;
   -o-border-radius: 5px;
   -ms-border-radius: 5px;
   border:1px solid var(--form-border-color);
   padding:8px;
   font-size:16px;
   color:var(--form-text-color);
   box-sizing: border-box;
   width:100%;
}
select:focus{
   border:2px solid var(--form-border-focus-color);
}


input[type=submit]{
   margin: 1em 1em 1.5em 0;
   border-radius: 5px;
   -moz-border-radius: 5px;
   -webkit-border-radius: 5px;
   -o-border-radius: 5px;
   -ms-border-radius: 5px;
   border:1px solid var(--form-border-color);
   background: var(--form-submit-base-color);
   padding:8px 2em;
   cursor:pointer;
   font-size:14px;
   color: var(--form-submit-text-color);
   font-weight:bold;
}
input[type=button]{
   border-radius: 5px;
   -moz-border-radius: 5px;
   -webkit-border-radius: 5px;
   -o-border-radius: 5px;
   -ms-border-radius: 5px;
   border:1px solid var(--form-border-color);
   background: var(--form-btn-base-color);
   padding:8px 2em;
   cursor:pointer;
   font-size:14px;
   color:var(--form-btn-text-color);
   font-weight:bold;
}

div.inputtext {
   border-radius: 5px;
   -moz-border-radius: 5px;
   -webkit-border-radius: 5px;
   -o-border-radius: 5px;
   -ms-border-radius: 5px;
   border:1px solid var(--form-border-color);
   padding:6px;
   font-size:14px;
   color:var(--form-text-color);
}

input:disabled, textarea:disabled {
    opacity: 1.0;
    font-size: 16px;
    color: #000000;
}


@media screen and (max-width: 480px) {
    input, select {
        margin-bottom:  1rem;
        max-width: 97%;
    }
}


.conf input, .conf select, .conf textarea {
    background-color: #faffbd;
}

/* 非表示input  */
.midname {
    display:none;
}




/* Wordpress Lightning 共用   */

.mainSection-title, h2 {
    position: relative;
    z-index: 2;
    line-height: 1.5em;
    padding: 14px 15px 10px 20px;
    color: #555;
    font-size: 15px;
    font-weight: normal;
    border-top: 0px solid #1b4199;
    border-left: 9px solid #71c036;
    border-bottom: 0px solid #1b4199;
    background-color: #efefef;
}

.grey-message {
    background: none repeat scroll 0 0 #53555c;
    color: #ffffff;
    text-shadow: none;
    font-size: 14px;
    line-height: 24px;
    padding: 10px;
    margin: 0 1em;
}



.wp-block-columns {
    display: flex;
    flex-wrap: wrap;
    margin-left: 0px;
    margin-right: 0px;
    padding: 1em;
}

.wp-block-column {
    flex-grow: 1;
    margin-bottom: 1em;
    flex-basis: 100%;
    min-width: 0;
    word-break: break-word;
    overflow-wrap: break-word;
}
@media (min-width: 600px) {
    .wp-block-column {
        flex-basis: calc(50% - 16px);
        flex-grow: 0;
    }
}
@media (min-width: 600px) {
    .wp-block-column {
        -ms-flex-preferred-size: auto;
        flex-basis: auto;
        margin-left: 15px;
        margin-right: 15px;
        width: calc(50% - 30px);
    }
}
@media (min-width: 600px) {
    .wp-block-column {
        -ms-flex-preferred-size: auto;
        flex-basis: auto;
        margin-left: 15px;
        margin-right: 15px;
        width: calc(50% - 30px);
        flex-grow: 0;
    }
}

.smb-btn-box__lede {
    margin-bottom: .93478rem;
    font-weight: 700;
    text-align: center;
}

.smb-btn {
    display: inline-block;
    cursor: pointer;
    line-height: 1;
    overflow: hidden;
    text-align: center;
    text-decoration: none;
    vertical-align: middle;
    white-space: nowrap;
    background-color: #cd162c;
    border: none;
    border-radius: 6px;
    color: #fff;
    padding: .93478rem 2.33696rem;
    max-width: 100%;
    -webkit-transition: all .2s ease-out;
    transition: all .2s ease-out;
}
.smb-btn--full {
    width: 100%;
    display: block;
    box-sizing: border-box;
}
.smb-btn-box {
    padding: 0 0;
}
.smb-btn-box__note {
    margin-top: .93478rem;
    color: #999;
    text-align: center;
}