@charset "UTF-8";
/* ######################################################################################

　タイトル

###################################################################################### */
h2.title {
    text-align: center;
    color: #bc9760;
    font-size: 2.25rem;
    position: relative;
    font-weight: 500;
    padding-top: 12px;
    margin-top: 50px;
    font-family: 'Montserrat', "游ゴシック Medium", "YuGothic Medium", "游ゴシック", YuGothic, "メイリオ", "Meiryo", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro",sans-serif;
}
h2.title span {
    display: block;
    font-size: 1.5rem;
    padding-top: 10px;
    color: #404040;
}
h2.title:before {
    content:" ";
    background: url(../img/contents/ht_img.png) no-repeat;
    position: absolute;
    top: 0;
    left: 50%;
    right: 50%;
    transform: translate(-50%,-50%);
    height: 50px;
    width: 50px;
    padding-bottom: 12px;
}

.titleimg { text-align: center; position: relative; padding: 0 35px;}
.titleimg img {
    border-radius: 10px;
    width: 100%;
    height: auto;
}


.pageRental-space h2.title {
    background: url(../img/header/headerimg_rental.png) right 50% no-repeat;
}

.circle {
    position: relative;
    width: 470px;
    height: 235px;
    border-radius: 235px 235px 0 0;
    background:rgba(255,255,255,0.8);
    margin: auto;
    margin-top: -242px;
}
.circle h2 {
    position: absolute;
    display: inline-block;
    left: 0;
    top: 40%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    width :470px;
    text-align:center;
    font-size: 3.75rem;
    letter-spacing: 0.05em;
}
.circle h2 span { font-size: 1.25rem;}
.pagePost .circle h2 { letter-spacing: 0;}


h3.line {
    font-size: 1.875rem;
}
h3.line span { border-bottom: solid 3px #5e7aa2; padding-bottom: 10px;}
h4.xline {
    display: flex;
    align-items: center; /* 垂直中心 */
    font-size: 1.625rem;
}
h4.xline:before {
  border-top: 2px solid;
  content: "";
  width: 1em; /* 線の長さ */
    margin-right: 1em;
}
h4.xline:after {
  margin-right: 1em; /* 文字の左隣 */
}



@media screen and (max-width: 767px) {
    .pageheader { margin-bottom: 40px;}
    h2.title.contents {
        width: auto;
        padding:20px;
        background-size: 100%;
        background-position: 90% 0;
        font-size: 1.5rem;
    }
    .titleimg { padding: 0 20px; height: 180px; width:auto; overflow: hidden; position: relative;}
    .titleimg img {
      position: absolute;
      top: 50%;
      left: 50%;
      transform: translate(-50%, -50%);
      height: 180px;
      width: auto;        
    }
    
    .circle {
        position: relative;
        width:250px;
        height: 250px;
        border-radius: 250px;
        margin: auto;
        margin-top: -125px;
    }
    .circle h2 {
        width :250px;
        font-size: 2.25rem;
    }
    .circle h2 span { font-size: 1.25rem;}    


}

/*ボタン*/
.button {
    display: inline-block;
    /*padding: .75em 4em;*/
    border-radius: 4px;
    text-decoration: none;
    text-align: center;
    background: none;
    margin: auto;
    font-weight: bold;
    line-height: 80px;
    min-width: 400px;

}
.pinkbtn {
    background: #e76f6f;
    color: #ffffff;
}
a.db_btn{
    text-align: center;
}

@media screen and (max-width: 767px) {
    .button { width: 100%; min-width: inherit;}
}


input[type=reset] img,  input[type=submit] img,  input[type=button] img,  .button img {
    vertical-align: middle;
}
input[type=reset], input[type=submit], input[type=button] {
    line-height: 0.9;
}
 @media print, screen and (min-width: 768px) {
input[type=reset],  input[type=submit],  input[type=button] {
    padding: 1.25em 4em;
}
input[type=reset]:hover,  input[type=submit]:hover,  input[type=button]:hover,  .button:hover {
    opacity: 0.9;
}
input[type=reset].sp,  input[type=submit].sp,  input[type=button].sp,  .button.sp {
    display: none;
}
input[type=reset].pc,  input[type=submit].pc,  input[type=button].pc,  .button.pc {
    display: inline;
}
input[type=reset].pc.image,  input[type=submit].pc.image,  input[type=button].pc.image,  .button.pc.image {
    padding: 0;
}
input[type=reset].pc.block,  input[type=submit].pc.block,  input[type=button].pc.block,  .button.pc.block {
    display: block;
}
}
@media screen and (max-width: 767px) {
    input[type=reset],  input[type=submit],  input[type=button],  .button {
        padding:0em;
    }
    input[type=reset].pc,  input[type=submit].pc,  input[type=button].pc,  .button.pc {
        display: none;
    }
    input[type=reset].sp,  input[type=submit].sp,  input[type=button].sp,  .button.sp {
        display: inline;
    }
    input[type=reset].sp.block,  input[type=submit].sp.block,  input[type=button].sp.block,  .button.sp.block {
        display: block;
    }
}
form input[type="text"], form input[type="email"], form input[type="password"] {
    border: 1px solid #cccccc;
    border-radius: 2px;
    background-color: #ffffff;
    padding: 5px;
    font-size: 14px;
    color: #666 !important;
    height: 2em;
    margin-top: 1px;
    margin-bottom: 1px;
}
form input[type="text"]:focus, form input[type="email"]:focus, form input[type="password"]:focus {
    border-color: #f00;
    box-shadow: inset 1px 1px 3px rgba(0, 0, 0, 0.6);
}
form input[type="checkbox"] + label, form input[type="checkbox"] + span, form input[type="radio"] + label, form input[type="radio"] + span {
    position: relative;
    cursor: pointer;
}
form input[type="checkbox"] + label:before, form input[type="checkbox"] + span:before, form input[type="radio"] + label:before, form input[type="radio"] + span:before {
    content: "";
    display: inline-block;
    position: absolute;
    top: 0;
    left: 0;
    font-family: FontAwesome;
}
 @media screen and (max-width: 767px) {
    form .required:after {
        float:none;
        display: inline-block;
        position: relative;
        top: 0.35em;
        vertical-align: top;
        margin-left:15px;
    }
}
 @media screen and (max-width: 767px) {

}

form select, form textarea {
    border: 1px solid #cccccc;
    border-radius: 2px;
    background-color: #ffffff;
    padding: 5px;
    font-size: 14px;
    color: #666 !important;
    font-family: "游ゴシック", YuGothic, "メイリオ", "Meiryo", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", sans-serif;
}
form select:focus,  form textarea:focus {
    border-color: #f00;
    box-shadow: inset 1px 1px 3px rgba(0, 0, 0, 0.6);
}
@media print, screen and (min-width: 768px) {
    form select,  form textarea,  form input[type="text"],  form input[type="email"],  form input[type="password"] {
        color: #999;
    }
    form select.formCompany,  form textarea.formCompany,  form input[type="text"].formCompany,  form input[type="email"].formCompany,  form input[type="password"].formCompany {
        width: 40%;
    }
    form select.formEmployees,  form textarea.formEmployees,  form input[type="text"].formEmployees,  form input[type="email"].formEmployees,  form input[type="password"].formEmployees {
        width: 10%;
    }
    form select.formDivision,  form textarea.formDivision,  form input[type="text"].formDivision,  form input[type="email"].formDivision,  form input[type="password"].formDivision {
        width: 40%;
    }
    form select.formName,  form textarea.formName,  form input[type="text"].formName,  form input[type="email"].formName,  form input[type="password"].formName {
        width: 40%;
    }
    form select.formKana,  form textarea.formKana,  form input[type="text"].formKana,  form input[type="email"].formKana,  form input[type="password"].formKana {
        width: 40%;
    }
    form select.formZip1,  form textarea.formZip1,  form input[type="text"].formZip1,  form input[type="email"].formZip1,  form input[type="password"].formZip1 {
        width: 8%;
    }
    form select.formZip2,  form textarea.formZip2,  form input[type="text"].formZip2,  form input[type="email"].formZip2,  form input[type="password"].formZip2 {
        width: 11%;
    }
    form select.formPref,  form textarea.formPref,  form input[type="text"].formPref,  form input[type="email"].formPref,  form input[type="password"].formPref {
        width: 20%;
    }
    form select.formAddress,  form textarea.formAddress,  form input[type="text"].formAddress,  form input[type="email"].formAddress,  form input[type="password"].formAddress {
        width: 60%;
    }
    form select.formTel,  form textarea.formTel,  form input[type="text"].formTel,  form input[type="email"].formTel,  form input[type="password"].formTel {
        width: 15%;
    }
    form select.formFax,  form textarea.formFax,  form input[type="text"].formFax,  form input[type="email"].formFax,  form input[type="password"].formFax {
        width: 50%;
    }
    form select.formHomepage,  form textarea.formHomepage,  form input[type="text"].formHomepage,  form input[type="email"].formHomepage,  form input[type="password"].formHomepage {
        width: 70%;
    }
    form select.formEmail,  form textarea.formEmail,  form input[type="text"].formEmail,  form input[type="email"].formEmail,  form input[type="password"].formEmail {
        width: 70%;
    }
    form select.formMessage,  form textarea.formMessage,  form input[type="text"].formMessage,  form input[type="email"].formMessage,  form input[type="password"].formMessage {
        width: 80%;
    }
     form select::-webkit-input-placeholder,  form textarea::-webkit-input-placeholder,  form input[type="text"]::-webkit-input-placeholder,  form input[type="email"]::-webkit-input-placeholder,  form input[type="password"]::-webkit-input-placeholder {
     color: #999;
    }
     form select::-moz-placeholder,  form textarea::-moz-placeholder,  form input[type="text"]::-moz-placeholder,  form input[type="email"]::-moz-placeholder,  form input[type="password"]::-moz-placeholder {
     color: #999;
    }
     form select:-ms-input-placeholder,  form textarea:-ms-input-placeholder,  form input[type="text"]:-ms-input-placeholder,  form input[type="email"]:-ms-input-placeholder,  form input[type="password"]:-ms-input-placeholder {
     color: #999;
    }
     form select::-moz-placeholder,  form textarea::-moz-placeholder,  form input[type="text"]::-moz-placeholder,  form input[type="email"]::-moz-placeholder,  form input[type="password"]::-moz-placeholder {
     color: #999;
    }
}
@media screen and (max-width: 767px) {
    form select,  form textarea,  form input[type="text"],  form input[type="email"],  form input[type="password"] {
        width: 100%;
    }
     form select::-webkit-input-placeholder,  form textarea::-webkit-input-placeholder,  form input[type="text"]::-webkit-input-placeholder,  form input[type="email"]::-webkit-input-placeholder,  form input[type="password"]::-webkit-input-placeholder {
     color: #999;
    }
     form select::-moz-placeholder,  form textarea::-moz-placeholder,  form input[type="text"]::-moz-placeholder,  form input[type="email"]::-moz-placeholder,  form input[type="password"]::-moz-placeholder {
     color: #999;
    }
     form select:-ms-input-placeholder,  form textarea:-ms-input-placeholder,  form input[type="text"]:-ms-input-placeholder,  form input[type="email"]:-ms-input-placeholder,  form input[type="password"]:-ms-input-placeholder {
     color: #999;
    }
     form select::-moz-placeholder,  form textarea::-moz-placeholder,  form input[type="text"]::-moz-placeholder,  form input[type="email"]::-moz-placeholder,  form input[type="password"]::-moz-placeholder {
     color: #999;
    }
    form input[type="text"].formPref,  form input[type="email"].formPref,  form input[type="password"].formPref {
        width: 8em;
    }
    form input[type="text"].formZip1,  form input[type="email"].formZip1,  form input[type="password"].formZip1 {
        width: 5em;
    }
    form input[type="text"].formZip2,  form input[type="email"].formZip2,  form input[type="password"].formZip2 {
        width: 7em;
    }
}





.help_btn {
    background: #2f3137;
    filter: drop-shadow(3px 3px 0px rgba(0, 27, 100, 0.5));
}
a.help_btn{
    color: #ffffff;
    display: block;
    padding:25px 15px;
    font-size: 1.5rem;
}
a.help_btn:after {
    margin-left: 10px;
    content: "\f105";
    font-family: "FontAwesome";
    font-weight: 900;
    color: #ffffff;
}
@media screen and (max-width: 767px) {
    a.help_btn{
        color: #ffffff;
        display: block;
        padding:15px 15px;
        font-size: 1rem;
    }    
}

/*お手伝い*/
.help {
    background: #1F5AB2;
    color: #ffffff;
    position: relative;
    text-align: center;
    padding: 100px 0;
}
.help_triangle{
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    margin: auto;
    width: 0;
    height: 0;
    border-left: 30px solid transparent;
    border-right: 30px solid transparent;
    border-top: 20px solid #FDFDFD;
}
.help h1 { margin: 0; padding: 0;}
.help h1 span {
    background: #fff;
    border: 4px solid #001b64;
    color: #001B64;
    font-size: 1rem;
    padding: 4px 15px;
    border-radius: 50px;
    vertical-align: middle;
    margin-right: 15px;
}
.help .box {
    border-radius: 15px;
    background: #fff;
    padding: 50px;
    margin-top: 45px;
    width: 910px;
}
.help .box ul {
    padding: 0; margin: 0;
    width: 55%;
    display: inline-block;
    font-size: 0;
    vertical-align: middle;
}
.help .box ul li {
    text-align:left;
    list-style: none;
    color: #160707;
    font-weight: bold;
    font-size: 1.25rem;
    padding-left: 1.5em;
    text-indent: -1.6em;    
}
.help .box ul li:before {
    content: "";
    display: inline-block;
    width: 29px;
    height: 21px;
    vertical-align: middle;
    background: url(../img/contents/check_pc.png) no-repeat left top;
    background-size: 29px 21px;
    margin-right: 10px;
}
.help .box a { display: inline-block; width: 400px; }
@media screen and (max-width: 767px) {
    .help {padding: 50px 0;}    
    .help h1  { font-size:1.25rem; }
    .help h1 span {
        display: block;
        width: 40%;
        margin: auto;
    }
    .help .box {
        padding: 20px;
        margin-top: 45px;
        width: 80%;
    } 
    .help .box ul {
        width: 100%;
        display: block;
    }
    .help .box ul li {
        font-size: 1rem;
    }
    .help .box ul li:before {
        width: 18px;
        height: 12px;
        background-size: 18px 12px;
    }    
}

.marker {
    background:linear-gradient(transparent 75%, #F6E124 75%);
    font-weight:bold; 
}


.b_fukidashi {
    background: #1f5ab2;
    padding: 15px;
    color: #ffffff;
    font-weight: bold;
    font-size: 1.25rem;
    border-radius: 50px;
    max-width: 690px;
    position: relative;
    margin: auto;
    text-align: center;
}

.b_fukidashi:before {
  content: "";
  position: absolute;
  top: 100%;
  left: 50%;
  margin-left: -15px;
  border: 15px solid transparent;
  border-top: 15px solid #1f5ab2;
}
@media print, screen and (min-width: 768px) {
    .sp { display: none;}
    .pc {display: block;}    
}

@media screen and (max-width: 767px) {
    .sp { display: block;}
    .pc {display: none;}
    .b_fukidashi { font-size: 1rem;  width: 80%; margin: auto;}
}

.archive .contents.information dl,
.blog .contents.list dl{
    border-bottom: solid 1px #eeeeee;
}

.archive .contents.information dt, 
.archive .contents.information dd,
.blog .contents.list dt, 
.blog .contents.list dd{display: inline-block; padding: 15px;}
.archive .contents.information dt,
.blog .contents.list dt{width: 15%;　letter-spacing: 0.075em;}

.archive .contents.information dl:first-child,
.blog .contents.list dl:first-child{border-top: solid 1px #eeeeee;}
.archive .contents.information dl,
.blog .contents.list dl{border-bottom: solid 1px #eeeeee;}

@media screen and (max-width: 767px) {
    .archive .contents.information dt,
    .archive .contents.information dd,
    .blog .contents.list dt,
    .blog .contents.list dd  { margin: 0; padding: 0; width: 100%; display: block;}
    .archive .contents.information dt,
    .blog .contents.list dt{ padding-top: 15px;}
    .archive .contents.information dd,
    .blog .contents.list dd{ padding-bottom: 15px; margin: auto;}
    .archive .contents.information dl:first-child,
    .blog .contents.list dl:first-child{
        margin-top: 30px;
    }    
}
/* --- widget.css の末尾に追加 --- */

/* ボタン・CTAの操作性向上 */
a.pinkbtn, a.button {
  display: inline-block;
  min-height: 50px;
  line-height: 50px;
  border-radius: 25px;
  box-shadow: 0 4px 6px rgba(0,0,0,0.1);
  transition: transform 0.2s;
}

a.pinkbtn:active, a.button:active {
  transform: translateY(2px);
}

/* AIO / SEO 最適化スタイル (Q&Aセクション用) */
.faq-section {
  margin: 40px 0;
}
.faq-item {
  background: #fff;
  border: 1px solid #ddd;
  border-radius: 8px;
  margin-bottom: 15px;
  padding: 20px;
}
.faq-question {
  font-weight: bold;
  color: #5e7aa2; /* var(--color-main) が効かない場合の直書き */
  position: relative;
  padding-left: 1.5em;
  margin-bottom: 10px;
}
.faq-question::before {
  content: "Q.";
  position: absolute;
  left: 0;
  color: #bc9760; /* var(--color-accent) */
  font-weight: 900;
}
.faq-answer {
  padding-left: 1.5em;
  font-size: 1rem;
  line-height: 1.8;
}
