@charset "utf-8";

.title_l {
    margin: 0 0 20px 0;
    text-align: center;
    font-size: 3.2rem;
    line-height: 1.3;
}
.blogbox_inn p.b_tit{
   margin: 0 0 5px 0 ;
   font-size: 1.8rem;
   font-weight: 700;
}
.blogbox_inn .txt {
    margin: 0 0 15px 10px;
    font-size: 1.5rem;
}
.blogbox_inn{
   margin-bottom: 30px;
}
 .blogbox_inn .txt {
    margin: 0 0 15px 0;
    font-size: 1.5rem;
    line-height: 1.4;
}

.blogbox_inn h3.tit{
    margin: 0px 0px 0px 0px;
    font-weight: 700;
    font-size: 2.0rem;
}


.flexbox {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
    margin-bottom: 10px;
}

.ullistcopy {
    font-weight: 700;
    line-height: 2.0;
    margin: 15px 0;
}
.flexbox .ph .memoph {
    display: block;
    font-size: 1.4rem;
    text-align: left;
}

.flexbox02a {
  width: 980px;
    margin: 0 auto 10px auto;
  display: grid;
  grid-template-columns: 1fr 1fr;   /* 左右２分割 */
  grid-template-rows: auto auto;    /* 上下２行 */
  gap: 10px;                        /* 行間・列間ともに10px */
}

/* ph08：左上 */
.flexbox02a li:nth-child(1) {
  grid-column: 1;
  grid-row: 1;
}

/* ph09：左下 */
.flexbox02a li:nth-child(3) {
  grid-column: 1;
  grid-row: 2;
        margin-bottom: 10px;
}

/* ph10：右側で上下２行分を占有 */
.flexbox02a li:nth-child(2) {
  grid-column: 2;
  grid-row: 1 / 3;   /* row-start = 1, row-end = 3 → span 2 rows */

}

/* 画像はli幅にフィットさせる */
.flexbox02a .ph_img img {
  width: 100%;
  display: block;
}
.flexbox02a li .ph_txt {
    font-size: 1.4rem;
}




.btn_link a {
color: #fff !important;
    background-color: #8c733d;
    display: block;
    margin: 30px auto;
    width: 90%;
    text-align: center;
    padding: 5px 0;
    border: 1px solid #8c733d;
    text-decoration: none;
    font-size: 1.6rem;
}
.btn_link a:hover {
background-color: #fff !important;
    color: #8c733d !important;
}
@media screen and (max-width: 767px) {

.sp_pd {
    padding-left: 5px !important;
    padding-right: 5px !important;
}
.flexbox,
.flexbox.rev,
.flexbox02,
.flexbox02a {
  width: 100%;
  display: block;
}

.flexbox .ph {
    width: 100%;
    text-align: center;
}
.flexbox .ph img {
    width: 98%;
}
.flexbox .txtbox {
    width: 100%;
}
.flexbox02 li {
    width: 100%;
}

.blogbox_inn h3.tit{
    margin: 0px 0px 0px 0px;
    font-weight: 700;
    font-size: 1.8rem;
}

}
h4.tit02{
    margin: 15px 0 0 0;
    font-size: 1.8rem;
}
.qa_tit{
    font-weight: 700;
    font-size: 1.8rem;
    margin-bottom: 5px;
}
.qa_q{
    font-weight: 700;
    font-size: 1.6rem;
    margin-bottom: 5px;
}
.qa_a{
    margin-bottom: 5px;
}
span.taltxt{
    display: block;
    text-align: left;
    font-size: 1.3rem;
}
.relate_link{
    margin: 0 0 20px 20px;
}
.relate_link span{
    font-weight: 700;
    font-size: 1.6rem;
    display: block;
}
.relate_link a{
    color: #333;
    display: block;
    margin: 0 0 0 1em;
}


.interview_tit{
 margin-bottom: 30px;
 margin-top: 50px;
}

.interview_inn{
 margin: 0 auto 0 auto;
 width: 94%;
}

.tac.ph {
    width: 100%;
    text-align: center;
}
.tac.ph img {
    width: 98%;
}
@media screen and (max-width: 767px) {
.relate_link{
    margin: 0 0 20px 5px;
}
.relate_link span{
    font-weight: 700;
    font-size: 1.4rem;
    display: block;
}
.relate_link a{
    color: #333;
    display: block;
    margin: 0 0 0 0;
}
}

#c01,
#c02,
#c03,
#c04,
#c05,
#c06{
    margin-top: -110px;
    padding-top: 110px;
}
.highlightbox{
    background-color: #dfdfdf;
    padding: 15px;
}
.highlightbox .tit{
    font-size: 2.4rem;
    color: rgb(54, 81, 202);
}
.highlightbox .highlight_li{
    margin: 15px 0;
    list-style-type: disc;
    margin-left: 30px;
}
.highlightbox .highlight_li li a{
    margin-bottom: 5px;
    color: #575757;
    display: block;
    text-decoration: none;
}
.highlightbox .highlight_li li a:hover{
    text-decoration: underline;
}
.highlightbox .highlight_li li a span{
    font-weight: 700;
}
.sbox{
    margin-top: 15px;
}
.blogbox_inn .outline{
    font-weight: 700;
    padding: 5px 10px;
    background-color: rgba(195, 208, 224 ,0.5);
    margin: 10px 0;
}

.flexbox_03{
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
    margin-bottom: 20px;
}
.flexbox_03 .ph{
    text-align: center;
}
.flexbox_03 .ph img{
    width: 100%;
}
.flexbox31{
    display: grid;
    grid-template-columns: 2fr 1fr;
    gap: 20px;
    margin-bottom: 10px;
}
.flexbox11{
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
    margin-bottom: 20px;
}
.flexbox12{
    display: grid;
    grid-template-columns: 1fr 2fr;
    gap: 20px;
}
.flexbox .ph img,
.flexbox31 .ph img,
.flexbox11 .ph img,
.flexbox12 .ph img{
    width: 100%; /* 親要素の幅に合わせてリサイズ */
    height: auto; /* 物理的な比率を維持（歪まない） */
}

.capbox{
    margin:-10px 0 30px 0 ;
    font-size: 1.4rem;
}