@charset "utf-8";

element.style {
    
}

body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,form,fieldset,input,textarea,p,blockquote,th,td
    {
    margin: 0;
    padding: 0;
}

div {
    display: block;
}

body {
    font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", メイリオ, Meiryo,
        Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
/*  font-size: 13px; */
    font-size: 16px;
    letter-spacing: 0px;
    line-height: 1.5;
    color:#333333;
}

#main_column.colnum1 {
    margin: 0px;
/*  width: 720px; */
    width: 100%;
    padding: 0px;
}


/* 
---------------------------------------
contact
---------------------------------------
*/
.contact .bg_area {
    margin: 0;
/*  padding: 20px; */
    padding: 0;
/*  background:
        url('../img/background/bg.gif')
        repeat left top; */
    border-radius: 7px;
    -moz-border-radius: 7px;
    -webkit-border-radius: 7px;
}

.contact h2 {
    margin: 0 0 25px;
}

.contact h3 {
    overflow: hidden;
/*  height: 42px; */
    height: 49px;
/*  padding: 10px 10px 0px 25px; */
    padding: 10px 10px 0px 15px;
    color: #fff;
/*  background: url('../img/background/store_bg_green.png') no-repeat left top; */
    background-color: #0F337F;
    font-weight: bold;
    font-size: 20px;
    box-sizing: border-box;
    border-radius: 6px 6px 0 0 / 6px 6px 0 0;
    -webkit-border-radius: 6px 6px 0 0 / 6px 6px 0 0;
    -moz-border-radius: 6px 6px 0 0 / 6px 6px 0 0;
}

.contact .inner {
/*  padding: 20px 20px 60px; */
    padding: 20px 2px 60px;
    background: #fff;
/*  border: solid 1px #ccc; */
/*  border-top: none; */
}

.contact .text {
    margin: 0 0 8px;
}
.contact .textemp {
    margin: 0 0 8px;
    font-size: 18px;
}
.contact .textemp15 {
    font-size: 15px;
    font-weight: bold;
    margin: 20px 0;
}
.contact .textemp17 {
    font-size: 17px;
    font-weight: bold;
    margin: 20px 0;
}

.contact .top_hissu {
    color: #f00;
}

.contact table .hissu {
/*  color: #fcff00; */
    padding: 0 5px;
    margin-left: 10px;
    border-radius: 4px;
    background-color: #ff425b;
    color: #FFFFFF;
}

.contact table {
    width: 100%;
    margin: 5px 0 40px;
    border-top: solid 1px #ccc;
    border-left: solid 1px #ccc;
}

.contact table th {
    width: 230px;
    padding: 2px 10px;
    color: #fff;
    background: #0F337F;
    border-right: solid 1px #ccc;
    border-bottom: solid 1px #ccc;
    font-weight: bold;
}

.contact table td {
    padding: 10px 20px;
    border-right: solid 1px #ccc;
    border-bottom: solid 1px #ccc;
}

.contact table td input {
/*  background: #f3f8ea; */
}

.contact table td div.box {
    overflow: hidden;
}

.contact table td ul.check_left {
    float: left;
    margin-right: 15px;
}

.contact table td ul.check_right {
    float: left;
    margin-right: 15px;
}

.contact table td li {
    margin: 0 0 10px;
}

.contact .sub_btn {
    margin: 0 0 10px;
    text-align: center;
}

.contact .attention-box {
    font-size:13px;
    border: 2px solid #0F337F;
    border-radius: 4px;
    margin: 40px 0 0;
    padding: 20px;
    position: relative;
}
.contact .attention-box::before {
    font-size:16px;
    background-color: #fff;
    color: #0F337F;
    content: "必ずご確認ください！";
    font-weight: bold;
    left: 1em;
    padding: 0 .5em;
    position: absolute;
    top: -1em;
}

div.wpcf7-validation-errors {
    margin: 5px 0 20px;
    padding: 20px 0;
/*  width: 100%; */
    width: auto;
    color: #FF0000;
    background: #FFFFFF;
    border: #FF0000 solid 1px;
    text-align: center;
    font-size: 130%;
    line-height: 150%;
}

div.wpcf7-response-output {
    margin: 2em 0.5em 1em;
    padding: 0.2em 1em;
}

div.wpcf7-response-output {
    margin: 2em 0.5em 1em;
    padding: 0.2em 1em;
}

.wpcf7-display-none {
    display: none;
}

.wpcf7c-conf {
    border: 0px solid #ccc !important;
    background-color: rgb(250, 255, 189) !important;
    font-weight: bold;
}

.wpcf7-text {
    padding: 3px 5px;
}

.wpcf7c-elm-step2 {
}

.confirm {
    font-size: 120%;
    font-weight: bold;
    padding: 10px;
    border: 1px solid #999;
    background: #0F337F;
    text-align: center;
/*  color: #FCED1C;*/
    color: #FFFFFF;
}

.contact-select {
/*  background: #f3f8ea; */
}

option {
  color: #333;
}

.button {
  display: inline-block;
  width: 400px;
  height: 60px;
  text-align: center;
  font-weight: bold;
  font-size: 24px;
  letter-spacing: 3px;
  text-shadow: 1px 1px 2px #666666;
  border: 1px solid gray;
  background-image: -webkit-linear-gradient(top, #ff0000, #ff0000);
  background-image: linear-gradient(to bottom, #ff0000, #ff0000);
  border-radius: 5px;
  color: #fff;
  line-height: 60px;
}
.button:hover {
  background-image: -webkit-linear-gradient(top, #1ab0ec, #1a92c2);
  background-image: linear-gradient(to bottom, #1ab0ec, #1a92c2);
  cursor: pointer;
}
.button:disabled {
  background-image: -webkit-linear-gradient(top, #ccc, #ccc);
  background-image: linear-gradient(to bottom, #ccc, #ccc);
  cursor: default;
}

.backbutton {
  display: inline-block;
  width: 120px;
  height: 30px;
  text-align: center;
  letter-spacing: 3px;
  text-shadow: 1px 1px 2px #666666;
  border: 1px solid gray;
  background-image: -webkit-linear-gradient(top, #999999, #999999);
  background-image: linear-gradient(to bottom, #999999, #999999);
  border-radius: 5px;
  color: #fff;
  line-height: 30px;
}
.backbutton:hover {
  background-image: -webkit-linear-gradient(top, #cccccc, #999999);
  background-image: linear-gradient(to bottom, #cccccc, #999999);
}

.wpcf7-textarea{
/*  background: #f3f8ea; */
}

.box70 {
    width: 70px;
}
.box145 {
    width: 145px;
}
.box160 {
    width: 160px;
}
.box200 {
    width: 200px;
}
.box300 {
    width: 300px;
}
.box320 {
    width: 320px;
}
.box400 {
    width: 300px; /* forTBSP */
}
.area320 {
    width: 320px;
    height: 120px;
}

div.pc {
    display: none;
}
div.tb {
    display: block;
}
div.sp {
    display: none;
}
div.pctb {
    display: block;
}
div.tbsp {
    display: block;
}

/* ---------- オプションボタン ---------- */
.optionbutton {
    float: left;
    margin: 0 0 3px 10px;
}
.optionbutton input[type=radio]{
    display: none;
}
.optionbutton label{
    display: inline-block;
    position: relative;
    cursor: pointer;
    padding-left: 20px;
    padding-top: 3px;
    border-radius: 2px;
    color: #3e4956;
}
.optionbutton label:before{
    position: absolute;
    content: "";
    top: 50%;
    left: -8px;
    width: 16px;
    height: 16px;
    margin-top: -8px;
    background: #dddddd;
    border-radius: 50%;
}
.optionbutton input[type="radio"]:checked + label:after{
    position: absolute;
    content: "";
    top: 50%;
    left: -4px;
    width: 8px;
    height: 8px;
    margin-top: -4px;
    border-radius: 50%;
    background: #0F337F;
}

/* ---------- チェックボックス ---------- */
input[type=checkbox] {
    display: none;
}
.checkboxlabel {
    position: relative;
    line-height:2.6;
    padding: 0 20px 0 27px;
}
.checkboxlabel:hover:after {
    border-color: #0F337F;
}
.checkboxlabel:after, .checkboxlabel:before{
    position: absolute;
    content: ""; 
    display: block;
    top: 50%;
}
.checkboxlabel:after {
    left: 0;
    margin-top: -9px;
    width: 14px;
    height: 14px;
    border: 2px solid #d1d1d1;
}
.checkboxlabel:before {
    left: 5px;
    margin-top: -8px;
    width: 6px;
    height: 10px;
    border-right: 3px solid #0F337F;
    border-bottom: 3px solid #0F337F;
    transform: rotate(45deg);
    opacity: 0;
}
input[type=checkbox]:checked + .checkboxlabel:before {
    opacity: 1;
}

img#trial_faq{
    width: 207px;
}

.subbutton{
    display: inline-block;
    padding: 5px 40px;
    text-decoration: none;
    color: #ffffff;
    border: solid 1px #0F337F;
    border-radius: 3px;
    transition: .4s;
}
.subbutton:hover{
/*  background: #0F337F; */
/*  color: white; */
}
a:link.subbutton,
a:visited.subbutton{
    color: #333333;
    text-decoration: none;
}
a:hover.subbutton{
/*  color: #ffffff; */
    text-decoration: none;
}

.boxContainer{
    margin: auto;
    padding:10px 0 0 0;
    overflow: hidden;
    width: 95%;
}

#cboxContent{
    margin-top: 32px;
    overflow: visible;
    background-color: transparent;
}
#cboxLoadedContent{
    background-color: transparent;
    padding: 0px;
    border: 1px solid #ccc;
    box-shadow: 105px 105px 110px #FFFFFF;
    -webkit-box-shadow: 105px 105px 110px #FFFFFF;
    -moz-box-shadow: 105px 105px 110px #FFFFFF;
    border-radius: 15px;
}

#cboxLoadingOverlay{
    background-color: transparent;
}

.modal-contact-basic,
.modal-contact-calendar {
    margin: auto;
/*  width: 500px; */
    width: 85vw;
    text-align: center;
    background-color: #fff;
    overflow:hidden;
}

.tbl {
    width: 100%;
    margin: 0;
    border-top: solid 1px #ccc;
    border-left: solid 1px #ccc;
    table-layout: fixed;
}
.tbl th{
    padding: 0;
    width: 12.5%;
    color: #fff;
    background: #0F337F;
    border-right: solid 1px #ccc;
    border-bottom: solid 1px #ccc;
    text-align: center;
}

.tbl td{
    padding: 0;
    width: 12.5%;
    line-height: 250%;
    border-right: solid 1px #ccc;
    border-bottom: solid 1px #ccc;
    text-align: center;
}

.holiday{
    background: #FADCE9;
}
.sunday{
    background: #FADCE9;
}
.saturday{
    background: #D3EDFB;
}

.calendar-link{
    cursor: pointer;
    display: block;
    width: 100%;
    height: 100%;
}
.calendar-link:hover{
    background: #FFFFAB;
    color: #0000ff;
}
a:link.calendar-link,
a:visited.calendar-link,
a:hover.calendar-link{
    color: #0000ff;
    text-decoration: none;
}

div.otherheader{
    margin:10px 0 20px;
    text-align:center;
}
table.other {
    width: 100%;
    height: 350px;
    margin: 0;
    box-sizing: border-box;
}
table.other tr th{
    text-align: center;
}
table.other tr td{
    line-height: 200%;
}

.chkboxlist {
    margin: 0 0 3px 0;
    float: left;
}

/* ---------- ページ送り(未使用) ---------- */
.maru_half{
/*  border-radius: 50%; */
    font-size: 14px;
    line-height: 0.5em;
    padding-top: 0.1em;
    padding-left: 0.5em;
    padding-right: 0.5em;
}

.maru_select{
    color: #fff;
    border: 1px solid #0F337F;
    background: #0F337F;
}
.maru_notselect{
    color: #0F337F;
    border: 1px solid #0F337F;
}

/* ---------- disabledオブジェクトの表示制御 ---------- */
input[type="text"][disabled],
select:disabled{
    background: #eeeeee;
}
