@import url('https://fonts.googleapis.com/css2?family=Marcellus+SC&family=Noto+Sans+JP:wght@400;700&family=Noto+Serif+JP:wght@500;600;700&family=Montserrat:wght@700&family=Allura&display=swap');

/*!
 * ress.css • v4.0.0
 * MIT License
 * github.com/filipelinhares/ress
 */
html { box-sizing: border-box; -webkit-text-size-adjust: 100%; word-break: normal; -moz-tab-size: 4; tab-size: 4; } *,::before,::after { background-repeat: no-repeat; box-sizing: inherit; } ::before,::after { text-decoration: inherit; vertical-align: inherit; } * { padding: 0; margin: 0; } hr { overflow: visible; height: 0; color: inherit; } details,main { display: block; } summary { display: list-item; } small { font-size: 80%; } [hidden] { display: none; } abbr[title] { border-bottom: none; text-decoration: underline; text-decoration: underline dotted; } a { background-color: transparent; } a:active,a:hover { outline-width: 0; } code,kbd,pre,samp { font-family: monospace, monospace; } pre { font-size: 1em; } b,strong { font-weight: bolder; } sub,sup { font-size: 75%; line-height: 0; position: relative; vertical-align: baseline; } sub { bottom: -0.25em; } sup { top: -0.5em; } table { border-color: inherit; text-indent: 0; } input { border-radius: 0; } [disabled] { cursor: default; } [type='number']::-webkit-inner-spin-button,[type='number']::-webkit-outer-spin-button { height: auto; } [type='search'] { -webkit-appearance: textfield; outline-offset: -2px; } [type='search']::-webkit-search-decoration { -webkit-appearance: none; } textarea { overflow: auto; resize: vertical; } button,input,optgroup,select,textarea { font: inherit; } optgroup { font-weight: bold; } button { overflow: visible; } button,select { text-transform: none; } button,[type='button'],[type='reset'],[type='submit'],[role='button'] { cursor: pointer; color: inherit; } button::-moz-focus-inner,[type='button']::-moz-focus-inner,[type='reset']::-moz-focus-inner,[type='submit']::-moz-focus-inner { border-style: none; padding: 0; } button:-moz-focusring,[type='button']::-moz-focus-inner,[type='reset']::-moz-focus-inner,[type='submit']::-moz-focus-inner { outline: 1px dotted ButtonText; } button,html [type='button'],[type='reset'],[type='submit'] { -webkit-appearance: button; } button,input,select,textarea { background-color: transparent; border-style: none; } a:focus,button:focus,input:focus,select:focus,textarea:focus { outline-width: 0; } select { -moz-appearance: none; -webkit-appearance: none; } select::-ms-expand { display: none; } select::-ms-value { color: currentColor; } legend { border: 0; color: inherit; display: table; max-width: 100%; white-space: normal; } ::-webkit-file-upload-button { -webkit-appearance: button; color: inherit; font: inherit; } img { border-style: none; } progress { vertical-align: baseline; } [aria-busy='true'] { cursor: progress; } [aria-controls] { cursor: pointer; } [aria-disabled='true'] { cursor: default; }



/*====================================

	0. General

====================================*/
html { background: #fff; font-size: 62.5%; }
body { color: #000; font-weight: 500; font-size: 1.0rem; font-family: 'Noto Sans JP', serif; }
img { max-width: 100%; height: auto; vertical-align: middle; }

a { color: #000; text-decoration: none; }
a.underline { text-decoration: underline; }
a:hover { opacity: 0.7; }
a:hover img { opacity: 0.8; }
ul, ol { list-style: none; }



@media (min-width: 768px) {
    .pcOnly { visibility: visible; }
    .spOnly { visibility: hidden; display: none !important; }
    #page-top { position: fixed; right: 20px; bottom: 20px; z-index: 1000; }
    #page-top a { display: block; width: 61px; height: 61px; background: url("/assets/image/icon_pagetop.png") no-repeat 0 0; text-indent:-9999px; }
}

@media screen and (max-width: 767px) {
    .pcOnly { visibility: hidden; display: none !important; }
    .spOnly { visibility: visible; }
    #page-top { position: fixed; right: 5vw; bottom: 5vw; z-index: 100; }
    #page-top a { display: block; width: 10vw; height: 10vw; background: url("/assets/image/icon_pagetop.png") no-repeat 0 0 / 10vw auto; text-indent:-9999px; }
}



/*====================================

	1. Header

====================================*/

@media (min-width: 768px) {
    #panel-btn { display: none; }
    header { background: #fff; box-shadow: 0px 2px 10px rgba(0,0,0,0.1); display: flex; justify-content: space-between; min-width: 1400px; padding: 30px 50px; position: relative; }
    header h1 { text-align: center; }
    header h1 img { height: auto; width: 400px; }
    header nav { align-items: center; display: flex; }
    header .cmnNav { display: flex; }
    header .cmnNav >* { margin-left: 16px; }
    header .cmnNav a { background: #fff; border-radius: 9999px; box-shadow: 0px 4px 6px 0px rgba(0, 0, 0, 0.2); display: inline-block; font-size: 1.4rem; font-weight: 700; padding: 15px 25px; }
    header .cmnNav a span { display: none; }
    header .subNav { display: flex; }
    header .subNav >* { margin-left: 18px; }
}
@media screen and (max-width: 767px) {
    header { font-size: 4.3vw; height: 23vw; margin: 0; }
    header h1 { float: left;; margin: 5vw 0 0 5vw; }
    header h1 img { height: auto; vertical-align: top; width: 72vw; }
    #gnav { position: absolute; right: 0; top: 0; width: 0; z-index: 1000; }
    #gnav.width100 { width: 100vw; }
    #gnav::after { position: absolute; content: ""; width: 8.6vw; height: 2vw; background: url("/assets/image/sp_menu.png") no-repeat 0 0 / 8.6vw auto; top: 14vw; right: 4.6vw; }
    #panel-btn { display: inline-block; float: right; height: 20vw; position: relative; text-indent: -9999px; width: 18vw; z-index: 1100; }
    #panel-btn-icon { background: rgba(0,0,0,0.00); display: block; height: 0.3vw; left: 50%; margin: -0.15vw 0 0 -4.3vw; position: absolute; top: 50%; transition: .2s; width: 8.6vw; }
    #panel-btn-icon:before,
    #panel-btn-icon:after { content: ""; display: block; height: 0.3vw; left: 0; position: absolute; top: 50%; transition: .3s; width: 8.6vw; } 
    #panel-btn-icon:before { background: #112957; margin-top: -1.15vw; }
    #panel-btn-icon:after { background: #ad924d; margin-top: 1vw; } 
    #panel-btn .close { background: transparent; }
    #panel-btn .close:before,
    #panel-btn .close:after { margin-top: 0; } 
    #panel-btn .close:before { -webkit-transform: rotate(-135deg); transform: rotate(-135deg); }
    #panel-btn .close:after { -webkit-transform: rotate(-45deg); transform: rotate(-45deg); }
    header .gnav { background: #fff; display: none; padding: 0 6.25vw; position: absolute; top: 23vw; width: 100%; z-index: 1000; }
    header .gnav.open { display: block; }
    header .cmnNav {}
    header .cmnNav >* { margin-bottom: 8vw; }
    header .cmnNav a { display: block; font-size: 5.9vw; font-weight: 700; }
    header .cmnNav a .montserrat { color: #e8e8ec; display: block; font-size: 4.5vw; }
    header .subNav { border-top: 0.2vw solid #bbb; padding: 8vw 5vw 0; }
    header .subNav >* { margin-bottom: 8vw; }
}


/*====================================

	2. Footer

====================================*/

@media (min-width: 768px) {
    footer { background: #fff; border-top: 1px solid #939393; display: flex; font-size: 1.4rem; justify-content: space-between; min-width: 1400px; padding: 30px 50px; position: relative; }
    footer .logo img { height: auto; width: 400px; }
    footer div { text-align: right; }
    footer .subNav { display: flex; justify-content: flex-end; margin-bottom: 25px; }
    footer .subNav >* { margin-left: 18px; }
    footer .officialNav { display: flex; margin-bottom: 20px; }
    footer .officialNav >* { margin-left: 30px; }
    .footBlock01 { margin: 95px auto 40px; width: 1090px; }
    .footBlock01 h2 { font-size: 3rem; margin-bottom: 10px; text-align: center; }
    .footBlock01 h3 { align-items: center; display: flex; font-size: 1.8rem; justify-content: center; margin-bottom: 20px; }
    .footBlock01 h3 .circle { align-items: center; background-image: -webkit-linear-gradient( -65deg, rgb(55,66,157) 0%, rgb(36,42,94) 100%); border-radius: 50%; box-shadow: 0px 4px 6px 0px rgba(0, 0, 0, 0.2); color: #fff; display: flex; font-size: 2rem; height: 150px; justify-content: center; margin-right: 30px; width: 150px; }
    .footBlock02 { margin: 0 auto 120px !important; padding: 70px 70px 0; width: 1090px; }
    .footBlock02 p { font-size: 1.6rem; line-height: 2; }
    .footBlock02 .footBlock03 { margin: 40px -70px 0; }
    .footBlock03 { background-image: -webkit-linear-gradient( 90deg, rgb(55,66,157) 0%, rgb(36,42,94) 100%); color: #fff; margin: 40px 0 0; padding: 40px 110px; }
    .footBlock03 h3 { font-size: 2.6rem; margin-bottom: 20px; text-align: center; }
    .footBlock03 h3 span { font-size: 3rem; }
    .footBlock03 h4 { color: #ddc36b; font-size: 2.2rem; margin-bottom: 10px; text-align: center; }
    .footBlock03 hr { border: none; border-top: 1px #868c98 solid; height: 1px; margin: 30px 0; }
    .footBlock03 .btn { margin-bottom: 10px; }
    .footBlock03 .tel { color: #fff; display: inline-block; font-size: 4.6rem; font-weight: 700; line-height: 1.2; padding-left: 40px; position: relative; }
    .footBlock03 .tel::before { background: url("/assets/image/icon_tel.svg") no-repeat; bottom: 0; content: ""; height: 33px; left: 0; margin: auto; position: absolute; top: 0; width: 33px; }
    .footBlock03 .estimateL { background-image: -webkit-linear-gradient( 0deg, rgb(209,92,92) 0%, rgb(174,45,45) 100%); border-radius: 9999px; box-shadow: 0px 4px 6px 0px rgba(0, 0, 0, 0.2); color: #fff; font-size: 2.6rem; font-weight: 700; height: 100px; padding: 25px 25px 25px 56px; width: 420px; }
    .footBlock03 .estimateL::before { background: url("/assets/image/icon_estimate.svg") no-repeat 50% 50% / auto 36px; bottom: 0; content: ""; height: 36px; left: 20px; margin: auto; position: absolute; top: 0; width: 36px; }
    .footBlock03 .estimateL img { height: auto; width: 120px; }
    .footBlock03 .contactL { background: #ad924d; border-radius: 9999px; box-shadow: 0px 4px 6px 0px rgba(0, 0, 0, 0.2); color: #fff; font-size: 2.6rem; font-weight: 700; height: 100px; padding: 35px 25px 35px 60px; width: 420px; }
    .footBlock03 .contactL::before { background: url("/assets/image/icon_contact.svg") no-repeat 50% 50% / 36px auto; bottom: 0; content: ""; height: 36px; left: 50px; margin: auto; position: absolute; top: 0; width: 36px; }
    .footBlock03 .dot { position: relative; }
    .footBlock03 .dot::before { background: url("../image/bg_dot.png") no-repeat; content: ""; height: 6px; left: 10px; position: absolute; top: -5px; width: 277px; }
}
@media screen and (max-width: 767px) {
    footer { border-top: 0.2vw solid #939393; font-size: 3.125vw; padding: 7vw 11vw; }
    footer .subNav { display: none; }
    footer .officialNav { display: flex; flex-wrap: wrap; line-height: 1.2; margin: 6vw 0; }
    footer .officialNav li { border-left: 0.2vw solid #9fa0a0; border-right: 0.2vw solid #9fa0a0; margin-bottom: 3vw; margin-left: -0.2vw; width: 39vw; }
    footer .officialNav li:last-child { width: 78vw; }
    footer .officialNav a { display: block; text-align: center; }
    footer p { text-align: center; }
    .footBlock01 { margin: 9vw 6.25vw; }
    .footBlock01 h2 { font-size: 5vw; margin-bottom: 2vw; text-align: center; }
    .footBlock01 h3 { align-items: center; display: flex; font-size: 3.43vw; justify-content: space-between; margin-bottom: 4vw; }
    .footBlock01 h3 .circle { align-items: center; background-image: -webkit-linear-gradient( -65deg, rgb(55,66,157) 0%, rgb(36,42,94) 100%); border-radius: 50%; box-shadow: 0px 4px 6px 0px rgba(0, 0, 0, 0.2); color: #fff; display: flex; height: 25vw; justify-content: center; margin-right: 3vw; width: 25vw; }
    .footBlock01 h3 .txt { width: 58vw; }
    .footBlock02 { margin: 0 6.25vw 12vw !important; padding: 7vw 6vw 0; }
    .footBlock02 .footBlock03 { margin: 4vw -6vw 0; }
    .footBlock03 { background-image: -webkit-linear-gradient( 90deg, rgb(55,66,157) 0%, rgb(36,42,94) 100%); color: #fff; font-size: 3.125vw; margin: 4vw 0 0; padding: 5vw; }
    .footBlock03 h3 { font-size: 4.2vw; margin-bottom: 2vw; text-align: center; }
    .footBlock03 h3 span { font-size: 4.9vw; }
    .footBlock03 h4 { color: #ddc36b; font-size: 4vw; margin-bottom: 2vw; text-align: center; }
    .footBlock03 hr { border: none; border-top: 0.2vw #868c98 solid; height: 0.2vw; margin: 4vw 0; }
    .footBlock03 .flex >* { margin: 5vw 0; }
    .footBlock03 .tel { color: #fff; display: inline-block; font-size: 8.4vw; font-weight: 700; line-height: 1.2; padding-left: 7vw; position: relative; }
    .footBlock03 .tel::before { background: url("/assets/image/icon_tel.svg") no-repeat 0 0 / 6vw auto; bottom: 0; content: ""; height: 6vw; left: 0; margin: auto; position: absolute; top: 0; width: 6vw; }
    .footBlock03 .estimateL { background-image: -webkit-linear-gradient( 0deg, rgb(209,92,92) 0%, rgb(174,45,45) 100%); border-radius: 9999px; box-shadow: 0px 4px 6px 0px rgba(0, 0, 0, 0.2); color: #fff; display: block; font-size: 4.6vw; font-weight: 700; padding: 4vw 25px 4vw 56px; }
    .footBlock03 .estimateL::before { background: url("/assets/image/icon_estimate.svg") no-repeat 50% 50% / auto 6vw; bottom: 0; content: ""; height: 6vw; left: 8vw; margin: auto; position: absolute; top: 0; width: 6vw; }
    .footBlock03 .estimateL img { height: auto; width: 16vw; margin-right: 1vw; }
    .footBlock03 .contactL { background: #ad924d; border-radius: 9999px; box-shadow: 0px 4px 6px 0px rgba(0, 0, 0, 0.2); color: #fff; display: block; font-size: 4.6vw; font-weight: 700; padding: 6vw 25px 6vw 60px; }
    .footBlock03 .contactL::before { background: url("/assets/image/icon_contact.svg") no-repeat 50% 50% / 6vw auto; bottom: 0; content: ""; height: 6vw; left: 12vw; margin: auto; position: absolute; top: 0; width: 6vw; }
    .footBlock03 .dot { position: relative; }
    .footBlock03 .dot::before { background: url("../image/bg_dot.png") no-repeat 0 0 / 44vw auto; content: ""; height: 1vw; left: 2vw; position: absolute; top: -1vw; width: 44vw; }
}
.formBlock01 .subsidiary-notice{ font-size: 1.4rem; line-height: 1.6; margin-left: 60px; font-weight: normal;}


/*====================================

	3. Main

====================================*/

@media (min-width: 768px) {
    main { font-size: 1.6rem; min-width: 1400px; overflow: hidden; position: relative; }
    main::before { background: url("../image/bg_main_l.png") repeat-y 0 0; content: ""; height: 100%; position: absolute; right: calc(50% + 630px); top: 0; width: 84px; z-index: 10; }
    main::after { background: url("../image/bg_main_r.png") repeat-y 0 0; content: ""; height: 100%; left: calc(50% + 630px); position: absolute; top: 0; width: 67px; z-index: 10; }
    main.page-top { background: #eef3fd url("/assets/image/bg_title_top.png") no-repeat 50% 0 / 100% auto; }
    main.page-suggestion { background: url("/assets/image/bg_title_suggestion.png") no-repeat 50% 0 / 100% auto; }
    main.page-column,
    main.archive-post,
    main.single-post { background: url("/assets/image/bg_title_column.png") no-repeat 50% 0 / 100% auto; }
    main.page-estimate,
    main.page-estimate-confirm,
    main.page-estimate-done { background: url("/assets/image/bg_title_estimate.png") no-repeat 50% 0 / 100% auto; }
    main.page-contact,
    main.page-contact-confirm,
    main.page-contact-done { background: url("/assets/image/bg_title_contact.png") no-repeat 50% 0 / 100% auto; }
}
@media screen and (max-width: 767px) {
    main { font-size: 3.75vw; overflow: hidden; position: relative; }
    main::before { background: url("../image/sp_bg_main_l.png") repeat-y 0 0 / 4.6vw auto; content: ""; height: 100%; position: absolute; left: 0; top: 0; width: 4.6vw; z-index: 10; }
    main::after { background: url("../image/sp_bg_main_r.png") repeat-y 0 0 / 4.6vw auto; content: ""; height: 100%; right: 0; position: absolute; top: 0; width: 4.6vw; z-index: 10; }
    main.page-top { background: #eef3fd url("/assets/image/sp_bg_title_top.png") no-repeat 50% 0 / 100% auto; }
    main.page-suggestion { background: url("/assets/image/bg_title_suggestion.png") no-repeat 50% 0 / 100% auto; }
    main.page-column,
    main.archive-post,
    main.single-post { background: url("/assets/image/bg_title_column.png") no-repeat 50% 0 / 100% auto; }
    main.page-estimate,
    main.page-estimate-confirm,
    main.page-estimate-done { background: url("/assets/image/bg_title_estimate.png") no-repeat 50% 0 / 100% auto; }
    main.page-contact,
    main.page-contact-confirm,
    main.page-contact-done { background: url("/assets/image/bg_title_contact.png") no-repeat 50% 0 / 100% auto; }
}


/*---------------
	List
---------------*/
.discList > li { line-height: 1.6; padding-left: 1em; position: relative; }
.discList > li:before { content: "・"; left: 0; position: absolute; top: 0; }
.komeList > li { line-height: 1.6; padding-left: 1em; text-indent: -1em; }

/*---------------
	Icon
---------------*/
.icon { display: inline-block; line-height: 1.2; position: relative; }
.icon.arrow { padding-right: 1.2em; }
.icon.arrow::after { background: url("/assets/image/icon_arrow2.svg") no-repeat 50% 50% / auto 0.7em; bottom: 0; content: ""; height: 1em; margin: auto; position: absolute; right: 0; top: 0; width: 1em; }
@media screen and (max-width: 767px) {
	.icon.zoom::after { background: url("/assets/image/icon_zoom.png") no-repeat 50% 50% / 12.5vw auto; content: ""; height: 5.5vw; position: absolute; right: 0; top: -4vw; width: 12.5vw; }
}

/*---------------
	Btn
---------------*/
.btn { position: relative; display: inline-block; line-height: 1; text-align: center; }
.btn.forward:disabled,
.btn.forward.is-disabled {
  background-image: none;
  background: #9aa3b7;
  box-shadow: none;
  color: #e8ebf2;
  cursor: not-allowed;
  opacity: 0.75;
}
.btn.forward:disabled::after,
.btn.forward.is-disabled::after {
  opacity: 0.35;
}
.receptionStopNotice { background: #fff5f4; border: 1px solid #e4b7b7; border-left: 5px solid #b52e32; margin: 20px 0 24px; padding: 20px 24px; }
.receptionStopNotice__label { background: #b52e32; color: #fff; display: inline-block; font-size: 1.2rem; font-weight: 700; line-height: 1.4; margin: 0 0 8px; padding: 3px 8px !important; }
.receptionStopNotice h2 { color: #7f1f28; font-size: 2rem; line-height: 1.4; margin: 0 0 10px; }
.receptionStopNotice__body { line-height: 1.8; margin: 0; }
.formBlock01 input[type]:disabled,
.formBlock01 select:disabled,
.formBlock01 textarea:disabled { background: #e9e9e9; background-image: none; cursor: not-allowed; }

@media (max-width: 667px) {
  .receptionStopNotice { border-left-width: 1vw; margin-bottom: 5vw; padding: 4vw; }
  .receptionStopNotice__label { font-size: 1.2rem; margin-bottom: 2vw; padding: 1vw 2vw !important; }
  .receptionStopNotice h2 { font-size: 4vw; margin-bottom: 2vw; }
}
@media (min-width: 768px) {
    .btn.moreInfo { background: #fff; border: 1px solid #242a5e; border-radius: 9999px; color: #242a5e; padding: 13px 40px; }
    .btn.estimate { background-image: -webkit-linear-gradient( 0deg, rgb(209,92,92) 0%, rgb(174,45,45) 100%); border-radius: 9999px; box-shadow: 0px 4px 6px 0px rgba(0, 0, 0, 0.2); color: #fff; font-size: 1.6rem; font-weight: 700; padding: 10px 25px 10px 56px; }
    .btn.estimate::before { background: url("/assets/image/icon_estimate.svg") no-repeat 50% 50%; bottom: 0; content: ""; height: 24px; left: 26px; margin: auto; position: absolute; top: 0; width: 24px; }
    .btn.estimate img { height: auto; width: 90px; }
    .btn.contact { background: #ad924d; border-radius: 9999px; box-shadow: 0px 4px 6px 0px rgba(0, 0, 0, 0.2); color: #fff; font-size: 1.6rem; font-weight: 700; padding: 23px 25px 23px 60px; }
    .btn.contact::before { background: url("/assets/image/icon_contact.svg") no-repeat 50% 50%; bottom: 0; content: ""; height: 24px; left: 26px; margin: auto; position: absolute; top: 0; width: 24px; }
    .btn.service { align-items: center; background-image: -webkit-linear-gradient( -65deg, rgb(55,66,157) 0%, rgb(36,42,94) 100%); border-radius: 9999px; box-shadow: 0px 4px 6px 0px rgba(0, 0, 0, 0.2); color: #fff; display: flex; font-size: 1.6rem; font-weight: 700; height: 90px; line-height: 1.2; margin: 15px 20px; padding: 15px; text-align: left; width: 430px; }
    .btn.service::after { background: url("/assets/image/icon_arrow.svg") no-repeat 0 0 / auto 18px; bottom: 0; content: ""; height: 18px; margin: auto; position: absolute; right: 25px; top: 0; width: 7px; }
    .btn.service .genre { align-items: center; background: #fff; border-radius: 9999px; color: #242a5e; display: inline-flex;flex-wrap: wrap; font-size: 1.2rem; height: 55px; justify-content: center; margin-right: 10px; width: 150px; }
    .btn.forward { background-image: -webkit-linear-gradient( -65deg, rgb(55,66,157) 0%, rgb(36,42,94) 100%); border-radius: 9999px; box-shadow: 0px 4px 6px 0px rgba(0, 0, 0, 0.2); color: #fff; font-size: 2rem; font-weight: 700; height: 90px; margin: 15px 20px; padding: 0 100px; }
    .btn.forward::after { background: url("/assets/image/icon_arrow.svg") no-repeat 0 0 / auto 18px; bottom: 0; content: ""; height: 18px; margin: auto; position: absolute; right: 35px; top: 0; width: 7px; }
    .btn.back { display: flex; align-items: center; justify-content: center; background: #bbb; border-radius: 9999px; box-shadow: 0px 4px 6px 0px rgba(0, 0, 0, 0.2); color: #fff; font-size: 2rem; font-weight: 700; height: 90px; margin: 15px 20px; padding: 0 100px; }
    .btn.back::after { background: url("/assets/image/icon_arrow.svg") no-repeat 0 0 / auto 18px; bottom: 0; content: ""; height: 18px; left: 35px; margin: auto; position: absolute; top: 0; transform:rotate(180deg); width: 7px; }
}
@media screen and (max-width: 767px) {
    .btn.moreInfo { background: #fff; border: 0.2vw solid #242a5e; border-radius: 9999px; color: #242a5e; padding: 4.5vw 12.5vw; }
    .btn.estimate { background-image: -webkit-linear-gradient( 0deg, rgb(209,92,92) 0%, rgb(174,45,45) 100%); border-radius: 9999px; box-shadow: 0px 4px 6px 0px rgba(0, 0, 0, 0.2); color: #fff; display: block; font-size: 3.75vw; font-weight: 700; padding: 4vw 6vw 4vw 13vw; }
    .btn.estimate::before { background: url("/assets/image/icon_estimate.svg") no-repeat 50% 50% / auto 7vw; bottom: 0; content: ""; height: 7vw; left: 10vw; margin: auto; position: absolute; top: 0; width: 7vw; }
    .btn.estimate img { height: auto; width: 16vw; }
    .btn.contact { background: #ad924d; border-radius: 9999px; box-shadow: 0px 4px 6px 0px rgba(0, 0, 0, 0.2); color: #fff; display: block; font-size: 3.75vw; font-weight: 700; padding: 6vw 6vw 6vw 13vw; }
    .btn.contact::before { background: url("/assets/image/icon_contact.svg") no-repeat 50% 50% / 7vw auto; bottom: 0; content: ""; height: 7vw; left: 10vw; margin: auto; position: absolute; top: 0; width: 7vw; }
    .btn.service { align-items: center; background-image: -webkit-linear-gradient( -65deg, rgb(55,66,157) 0%, rgb(36,42,94) 100%); border-radius: 9999px; box-shadow: 0px 4px 6px 0px rgba(0, 0, 0, 0.2); color: #fff; display: flex; font-size: 3.125vw; font-weight: 700; height: 16vw; line-height: 1.2; margin: 3vw 0; padding: 0 2vw; text-align: left; }
    .btn.service::after { background: url("/assets/image/icon_arrow.svg") no-repeat 0 0 / auto 3vw; bottom: 0; content: ""; height: 3vw; margin: auto; position: absolute; right: 5vw; top: 0; width: 1vw; }
    .btn.service .genre { align-items: center; background: #fff; border-radius: 9999px; color: #242a5e; display: inline-flex;flex-wrap: wrap; font-size: 2.6vw; height: 12vw; justify-content: center; margin-right: 4vw; width: 22vw; }

    .btn.forward { background-image: -webkit-linear-gradient( -65deg, rgb(55,66,157) 0%, rgb(36,42,94) 100%); border-radius: 9999px; box-shadow: 0px 4px 6px 0px rgba(0, 0, 0, 0.2); color: #fff; font-weight: 700; height: 16vw; margin: 3vw 2vw; padding: 0 10vw; }
    .btn.forward::after { background: url("/assets/image/icon_arrow.svg") no-repeat 0 0 / auto 3vw; bottom: 0; content: ""; height: 3vw; margin: auto; position: absolute; right: 5vw; top: 0; width: 1vw; }
    .btn.back { display: flex; align-items: center; background: #bbb; border-radius: 9999px; box-shadow: 0px 4px 6px 0px rgba(0, 0, 0, 0.2); color: #fff; font-weight: 700; height: 16vw; margin: 3vw 2vw; padding: 0 10vw;}
    .btn.back::after { background: url("/assets/image/icon_arrow.svg") no-repeat 0 0 / auto 3vw; bottom: 0; content: ""; height: 3vw; left: 5vw; margin: auto; position: absolute; top: 0; transform:rotate(180deg); width: 1vw; }
}


/*---------------
	Text
---------------*/
.ul { text-decoration: underline; }
.taC { text-align: center; }
.taR { text-align: right; }
.taL { text-align: left; }
.fwB { font-weight: 700; }
.fcNavy { color: #242a5e; }
.fcGold { color: #c3ae68; }
.fcBlue { color: #383bb4; }
.komeTxt { padding-left: 1em; text-indent: -1em; }
.allura { font-family: "Allura", cursive; font-weight: 400; }
.montserrat { font-family: "Montserrat", sans-serif; }
.marker { background:linear-gradient(transparent 80%, #cebe94 80%); }
.marker1 { background: linear-gradient(transparent 50%, #FFFF66 50%); }
@media screen and (max-width: 767px) {
    .sptaC { text-align: center !important; }
    .sptaR { text-align: right !important; }
    .sptaL { text-align: left !important; }
}



/*---------------
	Title
---------------*/
@media (min-width: 768px) {
    .title00 { font-family: 'Noto Serif JP', serif; font-size: 5.4rem; font-weight: 700; height: 330px; padding: 120px calc(50% - 500px); position: relative; }
    .title00 .allura { color: #ccd1ff; font-size: 9rem; font-style: italic; margin: 0 0 0 -170px; position: absolute; top: 145px; transform:rotate(-5deg); z-index: -1; }
    .title01 { color: #242a5e; font-size: 3rem; margin-bottom: 80px; position: relative; text-align: center; z-index: 0; }
    .title01 span { color: #e8e8ec; font-size: 5.2rem; left: 0; margin: auto; position: absolute; right: 0; top: -38px; z-index: -1; }
    .title01::after { background: #ad924d; bottom: -20px; content: ""; height: 4px; left: 0; margin: auto; position: absolute; right: 0; width: 100px; }
    .title02 { color: #242a5e; font-size: 1.8rem; font-weight: 700; margin-bottom: 20px; }
    .title02 .montserrat { color: #ad924d; display: block; font-size: 1.4rem; }
    .title03 { font-size: 2.2rem; margin: 60px 0; text-align: center; }
    .title04 { color: #242a5e; font-size: 3.4rem; margin: 10px 0; }
    .title05 { font-size: 3rem; margin: 30px 0; text-align: center; }
    .title06 { font-size: 2rem; font-weight: 700; margin: 0 0 15px; }
}
@media screen and (max-width: 767px) {
    .title00 { font-family: 'Noto Serif JP', serif; font-size: 7vw; font-weight: 700; height: 36vw; padding: 10vw 6.25vw; position: relative; z-index: 1; }
    .title00 .allura { color: #ccd1ff; font-size: 14vw; font-style: italic; margin: 0 0 0 -17vw; position: absolute; top: 12vw; transform:rotate(-5deg); z-index: -1; }
    .title01 { color: #242a5e; font-size: 5.3vw; margin-bottom: 12vw; position: relative; text-align: center; z-index: 0; }
    .title01 span { color: #e8e8ec; font-size: 8.4vw; left: 0; margin: auto; position: absolute; right: 0; top: -6vw; z-index: -1; }
    .title01::after { background: #ad924d; bottom: -3vw; content: ""; height: 0.6vw; left: 0; margin: auto; position: absolute; right: 0; width: 15vw; }
    .title02 { color: #242a5e; font-size: 4vw; font-weight: 700; margin-bottom: 3vw; }
    .title02 .montserrat { color: #ad924d; display: block; font-size: 3.4vw; }
    .title03 { font-size: 4vw; margin: 6vw 0; text-align: center; }
    .title04 { color: #242a5e; font-size: 5.6vw; margin: 1vw 0; }
    .title05 { font-size: 4.6vw; margin: 3vw 0; text-align: center; }
    .title06 { font-size: 4vw; font-weight: 700; margin: 0 0 15px; }
}

/*---------------
	Block
---------------*/
.bgWhite { background: #fff; overflow: hidden; }
.bgBlue { background: #eef3fd; overflow: hidden; }
.bgGray { background: #f8f8f8; overflow: hidden; }
.bgStripe { background: #f7f4ed url("../image/bg_stripe.png") no-repeat; overflow: hidden; }
@media (min-width: 768px) {
    .shadowBox { background: #fff; border-radius: 5px; box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, 0.2); overflow: hidden; }
    .shadowBox.mt0 { margin-top: 0; }
    .shadowBox.mb0 { margin-top: 0; }
    .flex { display: flex; flex-wrap: wrap; }
    .flex.justify-between  { justify-content: space-between; }
    .flex.justify-center { justify-content: center; }
    .flex.align-center { align-items: center; }
}
@media screen and (max-width: 767px) {
    .spflex { display: flex; flex-wrap: wrap; }
    .shadowBox { background: #fff; border-radius: 1vw; box-shadow: 0px 0px 2vw 0px rgba(0, 0, 0, 0.2); overflow: hidden; }
    .shadowBox.mt0 { margin-top: 0; }
    .shadowBox.mb0 { margin-top: 0; }
}


/*------------------------------
	Top page
------------------------------*/
@media (min-width: 768px) {
    .topBlock01 { margin: 75px auto 40px; padding: 0 400px 0 50px; text-align: center; width: 1090px; }
    .topBlock01 .txt01 { color: #ad924d; font-size: 1.8rem; font-weight: 700; margin-bottom: 15px; }
    .topBlock01 .txt02 { border-bottom: 4px solid #ad924d; border-top: 4px solid #ad924d; font-size: 2.2rem; font-weight: 700; margin: 15px 0; padding: 15px 0; }
    .topBlock01 h1 { font-family: 'Noto Serif JP', serif; font-size: 5.4rem; margin: 15px 0; position: relative; }
    .topBlock01 h1 .circle { align-items: center; background-image: -webkit-linear-gradient( -65deg, rgb(55,66,157) 0%, rgb(36,42,94) 100%); border-radius: 50%; box-shadow: 0px 4px 6px 0px rgba(0, 0, 0, 0.2); color: #fff; display: flex; font-family: 'Noto Sans JP', serif; font-size: 2rem; height: 150px; justify-content: center; left: -65px; margin-right: 30px; position: absolute; top: -30px; width: 150px; }
    .topBlock01 p { font-size: 1.8rem; line-height: 1.8; position: relative; z-index: 1; }
    .topBlock01 .allura { bottom: -110px; color: #ccd1ff; font-size: 8rem; font-style: italic; line-height: 0.6em; position: absolute; right: -430px; transform:rotate(-5deg); z-index: -1; }
    .topBlock01 .logoBox { background: #ced4ec; display: flex; justify-content: center; padding: 26px 0 10px; flex-wrap: wrap; width: 615px; margin-top: 15px; }
    .topBlock01 .logoBox > div { align-items: center; background: #fff; border-radius: 5px; display: flex; min-height: 60px; justify-content: center; margin: 0 12px 16px; padding: 10px; width: 170px; }
    .topBlock01 .logoBox > div:nth-child(4) { padding: 10px 28px; }
}
@media screen and (max-width: 767px) {
    .topBlock01 { padding: 2vw 6.25vw 7vw; }
    .topBlock01 .txt01 { color: #ad924d; font-size: 3.4vw; font-weight: 700; margin-bottom: 2vw; text-align: center; }
    .topBlock01 .txt02 { border-bottom: 0.4vw solid #ad924d; border-top: 0.4vw solid #ad924d; font-size: 3.4vw; font-weight: 700; margin: 2vw 0; padding: 2vw 0; text-align: center; }
    .topBlock01 h1 { font-family: 'Noto Serif JP', serif; font-size: 7vw; margin: 23vw 22vw 3vw 0; position: relative; text-align: center; }
    .topBlock01 h1 .circle { align-items: center; background-image: -webkit-linear-gradient( -65deg, rgb(55,66,157) 0%, rgb(36,42,94) 100%); border-radius: 50%; box-shadow: 0px 4px 6px 0px rgba(0, 0, 0, 0.2); color: #fff; display: flex; font-family: 'Noto Sans JP', serif; font-size: 3.75vw; height: 17vw; justify-content: center; left: 0; margin: auto; position: absolute; right: 0; top: -19vw; width: 49vw; }
    .topBlock01 h1 .fs24 { font-size: 4.375vw; }
    .topBlock01 p { font-size: 3.43vw; line-height: 1.8; margin-right: 22vw; position: relative; text-align: center; z-index: 1; }
    .topBlock01 .allura { bottom: 0; color: #ccd1ff; font-size: 12vw; font-style: italic; line-height: 0.6em; position: absolute; right: -22vw; transform:rotate(-5deg); z-index: -1; }
    .topBlock01 .logoBox { background: #ced4ec; display: flex; justify-content: center; padding: 3vw 0 1vw; flex-wrap: wrap; margin-top: 3vw; }
    .topBlock01 .logoBox > div { align-items: center; background: #fff; border-radius: 1vw; display: flex; min-height: 8.6vw; justify-content: center; margin: 0 1.5vw 2vw; padding: 2vw; width: 24vw; }
    .topBlock01 .logoBox > div:nth-child(4) { padding: 2vw 4vw; }
    }

@media (min-width: 768px) {
    .topBlock02 { margin: 40px auto 75px; padding: 70px 70px 0; width: 1090px; }
    .topBlock02 p { line-height: 1.8; }
    .topBlock02 figure { margin: 40px 0; }
    .topBlock02 .people { margin-bottom: 60px; text-align: center; width: 200px; }
    .topBlock02 .people dd { color: #242a5e; font-size: 1.8rem; font-weight: 700; margin-top: 10px; }
    .topBlock02 .people dd:last-child { color: inherit; font-size: 1.6rem; font-weight: 400; }
    .topBlock02 .service { background: #eef3fd; border-radius: 5px; margin-bottom: 110px; padding: 40px; position: relative; }
    .topBlock02 .service::after { background: url("../image/icon_arrow3.svg") no-repeat; bottom: -80px; content: ""; height: 52px; left: 0; margin: auto; position: absolute; right: 0; width: 73px; }
    .topBlock02 .service h4 { font-size: 2.6rem; margin-bottom: 40px; text-align: center; }
    .topBlock02 .service h4 .fcBlue { font-size: 3.4rem; }
    .topBlock02 .service h4 .fcBlue span { font-size: 4.6rem; }
    .topBlock02 .serviceBox { align-items: center; background: #fff; border-radius: 5px; display: flex; height: 95px; justify-content: center; margin: 0 20px 30px; padding: 20px; width: 235px; }
    .topBlock02 .footBlock03 { margin: 0 -70px; }
}
@media screen and (max-width: 767px) {
    .topBlock02 { margin: 0 6.25vw 7vw; padding: 12vw 3vw 0; }
    .topBlock02 p { line-height: 1.8; }
    .topBlock02 figure { margin: 4vw; }
    .topBlock02 .title03 { text-align: center; }
    .topBlock02 .spflex { justify-content: center; }
    .topBlock02 .people { margin: 0 2vw 6vw; text-align: center; width: 36vw; }
    .topBlock02 .people dd { color: #242a5e; font-size: 4vw; font-weight: 700; margin-top: 1vw; }
    .topBlock02 .people dd:last-child { color: inherit; font-size: 3.2vw; font-weight: 400; }
    .topBlock02 .service { background: #eef3fd; margin: 0 -3vw 20vw; padding: 4vw; position: relative; }
    .topBlock02 .service::after { background: url("../image/icon_arrow3.svg") no-repeat 0 0 / 15vw auto; bottom: -20vw; content: ""; height: 15vw; left: 0; margin: auto; position: absolute; right: 0; width: 15vw; }
    .topBlock02 .service h4 { font-size: 4.6vw; margin-bottom: 4vw; text-align: center; }
    .topBlock02 .service h4 .fcBlue { font-size: 6vw; }
    .topBlock02 .service h4 .fcBlue span { font-size: 8vw; }
    .topBlock02 .serviceBox { align-items: center; background: #fff; border-radius: 1vw; display: flex; height: 12vw; justify-content: center; margin: 0 2vw 3vw; padding: 2vw 4vw; width: 35vw; }
    .topBlock02 .footBlock03 { margin: 0 -3vw; }
}

@media (min-width: 768px) {
    .topBlock03 { margin: 75px auto; width: 1090px; }
    .topBlock03 .fs24 { font-size: 2.4rem; }
    .topBlock03 .fs34 { font-size: 3.4rem; }
    .topBlock03 h2 { position: relative; }
    .topBlock03 h2::before { background: url("../image/top_img07.png") no-repeat; bottom: -30px; content: ""; height: 258px; position: absolute; right: 0; width: 548px; }
    .topBlock03 .bgWhite { margin-top: 40px !important; padding: 30px 40px; }
    .topBlock03 dt { font-size: 2.4rem; font-weight: 700; margin-bottom: 10px; }
    .topBlock03 dd { line-height: 1.8; }
    .topBlock03 .flex dl { width: 510px; }
    .topBlock03 .flex .txt { width: 435px; }
    .topBlock03 .flex .txt h3 { color: #242a5e; font-size: 1.8rem; font-weight: 700; margin-bottom: 20px; text-align: center; }
    .topBlock03 figcaption { font-size: 1.4rem; font-weight: 700; margin-bottom: 5px; text-align: center; }
    .topBlock03 img { margin-bottom: 15px; }
    .topBlock03 cite { display: block; font-size: 1.2rem; font-style: normal; margin-top: 10px; }
}
@media screen and (max-width: 767px) {
    .topBlock03 { margin: 8vw 6.25vw; }
    .topBlock03 .fs24 { font-size: 4vw; }
    .topBlock03 .fs34 { font-size: 5.8vw; }
    .topBlock03 h2 { padding-bottom: 44vw; position: relative; }
    .topBlock03 h2::before { background: url("../image/top_img07.png") no-repeat 0 0 / 79vw auto; bottom: 0; content: ""; height: 38vw; left: 0; margin: auto; position: absolute; right: 0; width: 79vw; }
    .topBlock03 .bgWhite { margin-top: 4vw !important; padding: 6vw 4vw; }
    .topBlock03 dt { font-size: 4vw; font-weight: 700; margin-bottom: 1vw; }
    .topBlock03 dd { line-height: 1.8; }
    .topBlock03 .flex .txt { margin-top: 8vw; }
    .topBlock03 .flex .txt h3 { color: #242a5e; font-size: 3.75vw; font-weight: 700; margin-bottom: 2vw; text-align: center; }
    .topBlock03 figcaption { font-size: 3vw; font-weight: 700; margin-bottom: 1vw; text-align: center; }
    .topBlock03 img { margin-bottom: 2vw; }
    .topBlock03 cite { display: block; font-size: 3.125vw; font-style: normal; margin-top: 1vw; }
}

@media (min-width: 768px) {
    .topBlock04 { margin: 75px auto; width: 1090px; }
    .topBlock04 .fs22 { font-size: 2.2rem; }
    .topBlock04 .fs24 { font-size: 2.4rem; }
    .topBlock04 .txtBox { margin-bottom: 90px; min-height: 530px; position: relative; }
    .topBlock04 .txtBox::after { content: ""; height: 530px; position: absolute; width: 750px; z-index: 0; }
    .topBlock04 .txtBox.txtR { padding: 0 calc(50% - 545px) 0 calc(50% + 50px); }
    .topBlock04 .txtBox.txtL { padding: 0 calc(50% + 50px) 0 calc(50% - 545px); }
    .topBlock04 .txtBox.photo01::after { background: url("../image/top_img09.png"); right: 50%; top: 0; }
    .topBlock04 .txtBox.photo02::after { background: url("../image/top_img10.png"); left: 50%; top: 0; }
    .topBlock04 .txtBox.photo03::after { background: url("../image/top_img11.png"); right: 50%; top: 0; }
    .topBlock04 h3 { background: #f8f8f8; font-size: 2.2rem; font-weight: 700; margin-bottom: 30px; padding: 20px 30px; text-align: center; }
    .topBlock04 ol > li:not(:last-child) { margin-bottom: 75px; position: relative; }
    .topBlock04 ol > li:not(:last-child)::after { background: url("../image/icon_arrow5.svg") no-repeat; bottom: -45px; content: ""; height: 20px; left: 0; margin: auto; position: absolute; right: 0; width: 53px; }
    .topBlock04 table { border-collapse: collapse; border-top: 1px solid #939393; width: 100%; }
    .topBlock04 th { border-bottom: 1px solid #939393; font-weight: 400; padding: 15px 0; vertical-align: top; width: 90px; }
    .topBlock04 td { border-bottom: 1px solid #939393; padding: 15px 0; }
}
@media screen and (max-width: 767px) {
    .topBlock04 { margin: 13vw 6.25vw 8vw; }
    .topBlock04 .fs22 { font-size: 4vw; }
    .topBlock04 .fs24 { font-size: 5vw; }
    .topBlock04 .txtBox { font-size: 3.125vw; line-height: 1.6; margin: 0 -6.25vw 9vw; padding: 53vw 6.25vw 0; position: relative; }
    .topBlock04 .txtBox::after { content: ""; height: 47vw; left: 0; position: absolute; top: 0; width: 100vw; z-index: 0; }
    .topBlock04 .txtBox.photo01::after { background: url("../image/top_img09.png") 0 0 / 100vw auto; }
    .topBlock04 .txtBox.photo02::after { background: url("../image/top_img10.png") 0 0 / 100vw auto; }
    .topBlock04 .txtBox.photo03::after { background: url("../image/top_img11.png") 0 0 / 100vw auto; }
    .topBlock04 h3 { background: #f8f8f8; font-size: 3.75vw; font-weight: 700; margin-bottom: 5vw; padding: 3vw; text-align: center; }
    .topBlock04 ol > li:not(:last-child) { margin-bottom: 13vw; position: relative; }
    .topBlock04 ol > li:not(:last-child)::after { background: url("../image/icon_arrow5.svg") no-repeat 0 0 / 15vw auto; bottom: -10vw; content: ""; height: 6vw; left: 0; margin: auto; position: absolute; right: 0; width: 15vw; }
    .topBlock04 table { border-collapse: collapse; border-top: 0.2vw solid #939393; width: 100%; }
    .topBlock04 th { border-bottom: 0.2vw solid #939393; font-weight: 400; padding: 3vw 0; vertical-align: top; width: 18vw; }
    .topBlock04 td { border-bottom: 0.2vw solid #939393; padding: 3vw 0; }
}

@media (min-width: 768px) {
    .topBlock05 { padding: 200px calc(50% - 545px) 150px; position: relative; }
    .topBlock05::before { position: absolute; content: ""; width: 100%; height: 96px; background: url("/assets/image/bg_arrow.png") no-repeat 50% 100%; top: 0; left: 0; }
    .topBlock05 .fs20 { font-size: 2rem; }
    .topBlock05 .fs28 { font-size: 2.8rem; }
    .topBlock05 .fs34 { font-size: 3.4rem; }
    .topBlock05 .title04 { margin-bottom: 160px; position: relative; }
    .topBlock05 .title04::before { background: url("../image/top_img13.png") no-repeat; bottom: 0; content: ""; height: 218px; margin: auto; position: absolute; right: -40px; top: 0; width: 755px; }
    .topBlock05 dl { background: #ced4ec; margin: 50px 0 125px; padding: 60px 0 20px; position: relative; text-align: center; }
    .topBlock05 dl::before { border-left: 545px solid transparent; border-right: 545px solid transparent; border-top: 70px solid #ced4ec; bottom: -70px; content: ""; height: 0; left: 0; position: absolute; width: 0; }
    .topBlock05 dt { color: #242a5e; font-size: 3rem; font-weight: 700; margin-bottom: 30px; }
}
@media screen and (max-width: 767px) {
    .topBlock05 { padding: 20vw 6.25vw 15vw; position: relative; }
    .topBlock05::before { position: absolute; content: ""; width: 100vw; height: 7vw; background: url("/assets/image/sp_bg_arrow.png") no-repeat 0 0 / 100vw auto; top: 0; left: 0; }
    .topBlock05 .fs20 { font-size: 3.43vw; }
    .topBlock05 .fs28 { font-size: 4.68vw; }
    .topBlock05 .fs34 { font-size: 5.4vw; }
    .topBlock05 .title04 { margin-bottom: 15vw; padding-bottom: 30vw; position: relative; text-align: center; }
    .topBlock05 .title04::before { background: url("../image/top_img13.png") no-repeat 0 0 / 87.5vw auto; bottom: 0; content: ""; height: 25vw; left: 0; margin: auto; position: absolute; right: 0; width: 87.5vw; }
    .topBlock05 dl { background: #ced4ec; margin: 5vw 0 16vw; padding: 6vw 4vw 4vw; position: relative; text-align: center; }
    .topBlock05 dl::before { border-left: 43.75vw solid transparent; border-right: 43.75vw solid transparent; border-top: 12vw solid #ced4ec; bottom: -12vw; content: ""; height: 0; left: 0; position: absolute; width: 0; }
    .topBlock05 dt { color: #242a5e; font-size: 4.6vw; font-weight: 700; margin-bottom: 3vw; }
}

@media (min-width: 768px) {
    .topBlock07 { margin: 75px auto; width: 1090px; }
    .topBlock07 .is-accordion { margin-bottom: 60px; overflow: hidden; }
    .topBlock07 .is-head { border-top: 5px solid #242a5e; font-size: 2.8rem; font-weight: 700; padding: 30px 40px; position: relative; vertical-align: middle; cursor: pointer; }
    .topBlock07 .is-head span { background: #242a5e; border-radius: 5px; color: #fff; margin-right: 15px; padding: 10px 25px; }
    .topBlock07 .is-head::after { background: url("../image/icon_arrow4.svg") no-repeat; bottom: 0; content: ""; height: 25px; margin: auto; position: absolute; right: 40px; top: 0; width: 25px; }
    .topBlock07 .is-head.is-open::after { transform: rotate(180deg); }
    .topBlock07 .is-body { padding: 20px 40px 40px; position: relative; }
    .topBlock07 .is-body::before { position: absolute; content: ""; }
    .topBlock07 .is-body.img01::before { background: url("../image/top_img15.png") no-repeat; width: 169px; height: 345px; top: 0; right: 80px; }
    .topBlock07 .is-body.img02::before { background: url("../image/top_img20.png") no-repeat; width: 300px; height: 220px; top: 0; right: 40px; }
    .topBlock07 .is-body.img03::before { background: url("../image/top_img23.png") no-repeat; width: 164px; height: 366px; top: -30px; right: 80px; }
    .topBlock07 .is-body.img04::before { background: url("../image/top_img26.png") no-repeat; width: 183px; height: 316px; top: 0; right: 80px; }
    .topBlock07 .is-body h3.height { min-height: 316px; }
    .topBlock07 h3 { font-size: 2.4rem; margin-bottom: 20px; width: 700px; }
    .topBlock07 h4 { font-size: 2rem; margin-bottom: 20px; }
    .topBlock07 p { line-height: 2; width: 700px; }
    .topBlock07 ol { font-size: 1.4rem; line-height: 2; }
    .topBlock07 hr { border: none; border-top: 1px solid #939393; height: 1px; margin: 20px 0; width: 700px; }
    .topBlock07 figure { margin: 40px 0 20px; }
    .topBlock07 figcaption { font-size: 2rem; font-weight: 700; margin: 40px 0 20px; }
    .topBlock07 .exBox { background: #f8f8f8; margin: 40px 0; padding-bottom: 30px; }
    .topBlock07 .exBox h5 { background: #50557e; color: #fff; font-size: 1.8rem; margin-bottom: 30px; padding: 5px; text-align: center; }
    .topBlock07 .exBox dl { padding: 0 40px; width: 500px; }
    .topBlock07 .exBox dl:nth-child(1) { border-right: 1px solid #939393; }
    .topBlock07 .exBox dt { background: #50557e; border-radius: 9999px; color: #fff; font-weight: 700; margin: 0 auto; min-width: 100px; padding: 5px 15px; text-align: center; width: fit-content; }
    .topBlock07 .exBox dd { font-size: 1.4rem; line-height: 1.6; margin-top: 20px; }
    .topBlock07 cite { display: block; font-size: 1.2rem; font-style: normal; margin-top: 10px; }
    .topBlock07 .txt01 { font-size: 3.4rem; font-weight: 700; margin: 130px auto 230px; position: relative; width: 620px; }
    .topBlock07 .txt01::before { background: url("../image/top_img29.png") no-repeat; bottom: 0; content: ""; height: 247px; margin: auto; position: absolute; right: 0; top: 0; width: 204px; }
    .topBlock07 .txt01::after { background: url("../image/icon_arrow6.svg") no-repeat; bottom: -160px; content: ""; height: 75px; left: 0; margin: auto; position: absolute; right: 0; width: 107px; }
}
@media screen and (max-width: 767px) {
    .topBlock07 { margin: 15vw 6.25vw 11vw; }
    .topBlock07 .is-accordion { margin-bottom: 6vw; overflow: hidden; }
    .topBlock07 .is-head { border-top: 1vw solid #242a5e; font-size: 5.2vw; font-weight: 700; padding: 4vw 8vw; position: relative; text-align: center; vertical-align: middle; cursor: pointer; }
    .topBlock07 .is-head span { background: #242a5e; border-radius: 1vw; color: #fff; margin-right: 2vw; padding: 1vw 3vw; }
    .topBlock07 .is-head::after { background: url("../image/icon_arrow4.svg") no-repeat 0 50% / 6.25vw auto; content: ""; height: 6.25vw; position: absolute; right: 4vw; top: 3vw; width: 6.25vw; }
    .topBlock07 .is-head.is-open::after { transform: rotate(180deg); }
    .topBlock07 .is-body { padding: 45vw 4vw 4vw; }
    .topBlock07 .is-body.img01 { background: url("../image/top_img15.png") no-repeat 50% 0 / auto 40vw; }
    .topBlock07 .is-body.img02 { background: url("../image/top_img20.png") no-repeat 50% 8vw / 40vw auto; }
    .topBlock07 .is-body.img03 { background: url("../image/top_img23.png") no-repeat 50% 0 / auto 40vw; }
    .topBlock07 .is-body.img04 { background: url("../image/top_img26.png") no-repeat 50% 0 / auto 40vw; }
    .topBlock07 h3 { font-size: 4.375vw; margin-bottom: 2vw; }
    .topBlock07 h4 { font-size: 3.43vw; margin-bottom: 2vw; }
    .topBlock07 ol { font-size: 3.43vw; }
    .topBlock07 hr { border: none; border-top: 0.2vw solid #939393; height: 0.2vw; margin: 3vw 0; }
    .topBlock07 figure { margin: 4vw 0 2vw; }
    .topBlock07 figcaption { font-weight: 700; margin: 4vw 0; }
    .topBlock07 .exBox { background: #f8f8f8; margin: 4vw 0; padding-bottom: 3vw; }
    .topBlock07 .exBox h5 { background: #50557e; color: #fff; font-size: 4.3vw; margin-bottom: 3vw; padding: 1vw; text-align: center; }
    .topBlock07 .exBox dl { margin: 0 4vw; padding: 4vw 0; }
    .topBlock07 .exBox dl:nth-child(1) { border-bottom: 0.2vw solid #939393; }
    .topBlock07 .exBox dt { background: #50557e; border-radius: 9999px; color: #fff; font-weight: 700; margin: 0 auto; min-width: 10vw; padding: 1vw 3vw; text-align: center; width: fit-content; }
    .topBlock07 .exBox dd { font-size: 1.4rem; line-height: 1.6; margin-top: 2vw; }
    .topBlock07 cite { display: block; font-size: 2.8vw; font-style: normal; margin-top: 1vw; }
    .topBlock07 .txt01 { font-size: 5.6vw; font-weight: 700; margin: 0 0 88vw; position: relative; text-align: center; }
    .topBlock07 .txt01::before { background: url("../image/top_img29.png") no-repeat 0 0 / 50vw auto; content: ""; height: 60vw; left: 0; margin: auto; position: absolute; right: 0; top: 19vw; width: 50vw; }
    .topBlock07 .txt01::after { background: url("../image/icon_arrow6.svg") no-repeat 0 0 / 15vw auto; content: ""; height: 11vw; left: 0; margin: auto; position: absolute; right: 0; top: 87vw; width: 15vw; }
}

@media (min-width: 768px) {
    .topBlock08 { width: 1090px; margin: 75px auto; }
    .topBlock08 .shadowBox { text-align: center; padding: 60px; }
}
@media screen and (max-width: 767px) {
    .topBlock08 { margin: 15vw 6.25vw 11vw; }
    .topBlock08 .shadowBox { text-align: center; padding: 6vw; }
}

@media (min-width: 768px) {
    .topBlock09 { width: 1090px; margin: 75px auto; padding: 40px 40px 0; }
    .topBlock09 h2 { padding-top: 60px; margin-bottom: 40px; font-size: 3rem; text-align: center; position: relative; }
    .topBlock09 h2::before { position: absolute; content: ""; background: url("../image/icon_ex.png") no-repeat; width: 38px; height: 52px; top: 0; left: 0; right: 0; margin: auto; }
    .topBlock09 .caseBox { width: 500px; margin: 0 0 60px; padding: 0 30px; position: relative; }
    .topBlock09 .caseBox:nth-child(2n) { border-left: 1px solid #939393; }
    .topBlock09 .caseBox:nth-child(1)::after,
    .topBlock09 .caseBox:nth-child(2)::after { position: absolute; content: ""; width: 440px; height: 1px; background: #939393; bottom: -30px; left: 30px; }
    .topBlock09 .caseBox figure { position: absolute; top: 0; left: 20px; }
    .topBlock09 .caseBox > dl { margin-left: 180px; }
    .topBlock09 .caseBox > dl >dt { font-size: 1.8rem; margin-bottom: 20px; font-weight: 700; }
    .topBlock09 .caseBox > dl >dd { font-size: 1.4rem; }
    .topBlock09 .caseBox .exBox { background: #f8f8f8; display: flex; font-size: 1.4rem; border-radius: 5px; padding: 20px; margin-top: 20px; margin-left: -20px; }
    .topBlock09 .caseBox .exBox dl { width: 50%; }
    .topBlock09 .caseBox .exBox dl:nth-child(1) { margin-right: 20px; padding-right: 20px; border-right: 1px solid #939393; }
}
@media screen and (max-width: 767px) {
    .topBlock09 { margin: 11vw 6.25vw; padding: 6vw 6vw 2vw; }
    .topBlock09 h2 { padding-top: 12vw; margin-bottom: 4vw; font-size: 5.6vw; text-align: center; position: relative; }
    .topBlock09 h2::before { position: absolute; content: ""; background: url("../image/icon_ex.png") no-repeat 0 0 / 7.6vw auto; width: 7.6vw; height: 10.4vw; top: 0; left: 0; right: 0; margin: auto; }
    .topBlock09 .caseBox { margin: 0 0 6vw; padding: 6vw 0; position: relative; border-bottom: 0.2vw solid #939393; }
    .topBlock09 .caseBox:last-child { margin: 0; border: none; }
    .topBlock09 .caseBox figure { text-align: center; }
    .topBlock09 .caseBox figure img { width: 45vw; }
    .topBlock09 .caseBox > dl { margin-top: 3vw; }
    .topBlock09 .caseBox > dl >dt { font-size: 4vw; margin-bottom: 3vw; font-weight: 700; text-align: center; }
    .topBlock09 .caseBox > dl >dd { font-size: 3.4vw; }
    .topBlock09 .caseBox .exBox { background: #f8f8f8; border-radius: 1vw; padding: 3vw; margin: 2vw -2vw 0; }
    .topBlock09 .caseBox .exBox dl:nth-child(1) { margin-bottom: 2vw; padding-bottom: 2vw; border-bottom: 0.2vw solid #939393; }
}

@media (min-width: 768px) {
    .topBlock10 { width: 1090px; margin: 75px auto; }
    .topBlock10 h3 { color: #242a5e; border-bottom: 2px solid #242a5e; font-size: 2.4rem; padding-bottom: 10px; margin-top: 60px; }
    .topBlock10 .is-accordion { border-bottom: 1px solid #939393; }
    .topBlock10 .is-head { margin: 30px 0; padding: 0 40px; font-size: 1.8rem; position: relative; font-weight: 700; cursor: pointer; }
    .topBlock10 .is-head::before { position: absolute; content: "Q"; font-weight: 700; font-size: 2.2rem; color: #fff; top: 0; left: 0; width: 35px ; height: 35px; background: #242a5e; display: inline-flex; justify-content: center; align-items: center; border-radius: 50%; line-height: 1; padding-bottom: 4px; }
    .topBlock10 .is-head::after { position: absolute; content: ""; top: 0; right: 10px; width: 25px; height: 25px; background: url("../image/icon_arrow4.svg") no-repeat; }
    .topBlock10 .is-head.is-open::after { transform: rotate(180deg); }
    .topBlock10 .is-body { padding: 0 40px; position: relative; margin-bottom: 30px; }
    .topBlock10 .is-body::before { position: absolute; content: "A"; font-weight: 700; font-size: 2.2rem; color: #ad924d; top: 0; left: 0; width: 35px ; height: 35px; background: #fff; display: inline-flex; justify-content: center; align-items: center; border-radius: 50%; line-height: 1; padding-bottom: 4px; }
    .topBlock10 .is-body a { text-decoration: underline; }
}
@media screen and (max-width: 767px) {
    .topBlock10 { margin: 15vw 6.25vw 11vw; }
    .topBlock10 h3 { color: #242a5e; border-bottom: 0.4vw solid #242a5e; font-size: 5vw; padding-bottom: 1vw; margin-top: 6vw; }
    .topBlock10 .is-accordion { border-bottom: 1px solid #939393; }
    .topBlock10 .is-head { margin: 5vw 0; padding: 0 10vw; position: relative; font-weight: 700; cursor: pointer; }
    .topBlock10 .is-head::before { position: absolute; content: "Q"; font-weight: 700; font-size: 5vw; color: #fff; top: -1vw; left: 0; width: 9vw; height: 9vw; background: #242a5e; display: inline-flex; justify-content: center; align-items: center; border-radius: 50%; line-height: 1; padding-bottom: 1vw; }
    .topBlock10 .is-head::after { position: absolute; content: ""; top: 0; right: 1vw; width: 6.25vw; height: 6.25vw; background: url("../image/icon_arrow4.svg") no-repeat 0 50% / 6.25vw auto; }
    .topBlock10 .is-head.is-open::after { transform: rotate(180deg); }
    .topBlock10 .is-body { padding: 0 0 0 10vw; position: relative; margin-bottom: 3vw; }
    .topBlock10 .is-body::before { position: absolute; content: "A"; font-weight: 700; font-size: 5vw; color: #ad924d; top: -1vw; left: 0; width: 9vw ; height: 9vw; background: #fff; display: inline-flex; justify-content: center; align-items: center; border-radius: 50%; line-height: 1; }
    .topBlock10 .is-body a { text-decoration: underline; }
}

@media (min-width: 768px) {
    .topNews { width: 1090px; margin: 75px auto; }
    .topNews .articleList { display: flex; flex-wrap: wrap; }
    .topNews .articleList >* { width: 240px; margin-bottom: 60px; }
    .topNews .articleList >*:not(:nth-child(4n)) { margin-right: 43px; }
    .topNews .articleList img { width: 240px; height: auto; }
    .topNews .articleList dt { margin: 10px 0; }
    .topNews .articleList dd { margin-bottom: 20px; }
    .topNews .articleList dd a { font-size: 1.8rem; font-weight: 700; text-decoration: underline; color: #242a5e; }
    .topNews .date { font-weight: 700; margin-right: 1em; font-size: 1.4rem; }
    .topNews .category { color: #50557e; font-size: 1.4rem; }
}
@media screen and (max-width: 767px) {
    .topNews { margin: 15vw 6.25vw 11vw; }
    .topNews .articleList { display: flex; flex-wrap: wrap; }
    .topNews .articleList >* { width: 42vw; margin-bottom: 8vw; }
    .topNews .articleList >*:not(:nth-child(2n)) { margin-right: 3.5vw; }
    .topNews .articleList dt { margin-top: 1vw; }
    .topNews .articleList dd { margin-top: 1vw; }
    .topNews .articleList dd a { font-size: 3.75vw; font-weight: 700; text-decoration: underline; color: #242a5e; }
    .topNews .date { font-weight: 700; display: block; font-size: 3.4vw; }
    .topNews .category { color: #50557e; display: block; font-size: 3.4vw; }
}


/*------------------------------
	Suggestion page
------------------------------*/
@media (min-width: 768px) {
    .sugBlock01 { width: 1090px; margin: 75px auto; padding: 70px 45px; }
    .sugBlock01 h2 { text-align: center; margin-bottom: 25px; }
    .sugBlock01 h3 { text-align: center; margin-bottom: 25px; font-size: 2.2rem; }
    .sugBlock01 h3 span { font-size: 1.4rem; font-weight: 500; display: block; }
    .sugBlock01 .bgGray { margin: 20px 0 50px; padding: 20px; }
    .sugBlock01 .bgGray p { margin: 1em 0; }
    .sugBlock02 { width: 1090px; margin: 75px auto 100px; font-size: 2.6rem; font-weight: 700; }
    .sugBlock02 dl >* { margin: 0 25px; }
}
@media screen and (max-width: 767px) {
    .sugBlock01 { margin: 11vw 6.25vw; padding: 5vw 4vw; }
    .sugBlock01 h2 { text-align: center; margin-bottom: 3vw; }
    .sugBlock01 h2 img { width: 60vw; }
    .sugBlock01 h3 { text-align: center; margin-bottom: 3vw; font-size: 4vw; }
    .sugBlock01 h3 span { font-size: 3vw; font-weight: 500; display: block; }
    .sugBlock01 .bgGray { margin: 2vw 0 5vw; padding: 2vw; }
    .sugBlock01 .bgGray p { margin: 1em 0; }
    .sugBlock02 { margin: 11vw 6.25vw; font-size: 4.6vw; font-weight: 700; }
    .sugBlock02 dl { display: flex; flex-wrap: wrap; }
    .sugBlock02 dt { width: 87vw; margin-bottom: 3vw; text-align: center; }
    .sugBlock02 dl dd { margin-right: 2vw; width: 27vw; }
}



/*------------------------------
	RedioRec page
------------------------------*/
@media (min-width: 768px) {
    .formBlock01 { width: 1090px; margin: 75px auto; padding: 70px 45px; }
    .formBlock01 table { width: 100%; border-collapse: collapse; margin: 60px 0; }
    .formBlock01 caption { font-size: 2.2rem; font-weight: 700; padding: 10px; text-align: left; border-bottom: 2px solid #242a5e; }
    .formBlock01 th { border-top: 1px solid #bbb; border-bottom: 1px solid #bbb; padding: 25px 0; width: 225px; font-size: 1.8rem; text-align: left; }
    .formBlock01 .est-condition th{ width: 350px; }
    .formBlock01 td { border-top: 1px solid #bbb; border-bottom: 1px solid #bbb; padding: 25px 0; }
    .formBlock01 td.org_submission_notice{ color: #ce5959; font-weight: bold; border-bottom:none;}
    .formBlock01 input[type="text"],
    .formBlock01 input[type="tel"],
    .formBlock01 input[type="url"],
    .formBlock01 input[type="email"] { background: #fff; padding: 8px; width: 480px; border: 1px solid #bbb; border-radius: 3px; }
    .formBlock01 textarea { background: #fff; padding: 10px; width: 480px; height: 10em; border: 1px solid #bab9b9; border-radius: 3px; }
    .formBlock01 .required { display: inline-block; font-size: 1.2rem; font-weight: 400; padding: 6px 10px; background: #242a5e; color: #fff; line-height: 1; margin-right: 1em; border-radius: 9999px; }
    .formBlock01 table small { display: block; margin-top: 0.5em; }
    .formBlock01 .bgGray { margin: 20px 0; padding: 30px 40px; font-size: 1.4rem; }
    .formBlock01 .bgGray p { margin: 0.5em 0; }
    .formBlock01 .bgGray p.fsL { font-size: 1.8rem; }
    .formBlock01 .btnBlock { display: flex; justify-content: center; margin-top: 60px; }
    .formBlock01 a { color: #383bb4; }
    .formBlock02 { width: 1090px; margin: 75px auto; padding: 70px 45px; }
    .formBlock02 p { margin: 1em 0; line-height: 1.6; }
    .formBlock02 a { color: #383bb4; }
}
@media screen and (max-width: 767px) {
    .formBlock01 { margin: 11vw 6.25vw; padding: 5vw 4vw; }
    .formBlock01 table { width: 100%; border-collapse: collapse; margin: 6vw 0; }
    .formBlock01 caption { font-size: 4vw; font-weight: 700; padding: 1vw; text-align: left; border-bottom: 0.4vw solid #242a5e; }
    .formBlock01 th { border-top: 0.2vw solid #bbb; font-size: 3.43vw; padding-top: 4vw; text-align: left; display: block; }
    .formBlock01 td { border-bottom: 0.2vw solid #bbb; padding: 3vw 0 4vw; display: block; }
    .formBlock01 input[type="text"],
    .formBlock01 input[type="tel"],
    .formBlock01 input[type="url"],
    .formBlock01 input[type="email"] { background: #fff; padding: 2vw; width: 70vw; border: 0.2vw solid #bbb; border-radius: 1vw; }
    .formBlock01 textarea { background: #fff; padding: 2vw; width: 100%; height: 10em; border: 0.2vw solid #bab9b9; border-radius: 1vw; }
    .formBlock01 .required { display: inline-block; font-size: 2.5vw; font-weight: 400; padding: 1vw 2vw; background: #242a5e; color: #fff; line-height: 1; margin-right: 1em; border-radius: 9999px; }
    .formBlock01 table small { display: block; margin-top: 0.5em; }
    .formBlock01 .bgGray { margin: 2vw 0; padding: 3vw 4vw; font-size: 2.8vw; }
    .formBlock01 .bgGray p { margin: 0.5em 0; }
    .formBlock01 .bgGray p.fsL { font-size: 3.4vw; }
    .formBlock01 .btnBlock { display: flex; justify-content: center; margin-top: 6vw; }
    .formBlock01 a { color: #383bb4; }
    .formBlock02 { margin: 11vw 6.25vw; padding: 5vw 4vw; }
    .formBlock02 p { margin: 1em 0; line-height: 1.6; }
    .formBlock02 a { color: #383bb4; }
}



/*------------------------------
	News page
------------------------------*/
article { line-height: 1.8; margin: 50px 0 100px; font-size: 1.4rem; }
article >* { margin-top: 0 !important; }
article h1,
article h2,
article h3,
article h4,
article h5,
article h6 { margin: 1em 0; font-weight: 600; line-height: 1.4; }
article a { text-decoration: underline; color: #000; }
article p { margin-bottom: 1em; line-height: 2; }
article ol,
article ul { margin: 1em 0 1em 2em; line-height: 1.8; }
article ol ul,
article ol ol,
article ul ul,
article ul ol { margin: 0.3em 0 0.3em 2em; }
article ol { list-style: decimal; }
article ul { list-style: disc; }
article p + ul,
article p + ol { margin-top: 0.3em; }
article blockquote { margin: 0.5em 0; padding: 1em; border: 1px solid #333; }
article table { width: 100%; border-collapse: collapse; }
article table th,
article table td { border: 1px solid #333; padding: 0.4em 0.8em; text-align: left; vertical-align: top; }
article hr { height: 1px; border: none; border-top: 1px solid #333; margin: 1.5em 0; }
article .alignnone { margin: 1em auto; }
article .alignleft { float: left; margin: 0.375em 1em 1em 0; }
article .alignright { float: right; margin: 0.375em 0 1em 1em; }
article .aligncenter { clear: both; display: block; margin: 1em auto; }
article .gallery { display: flex; flex-wrap: wrap; }
article .gallery >* { margin-bottom: 1em; text-align: center; }
article .gallery.gallery-columns-1 >* { width: 100%; }
article .gallery.gallery-columns-2 >* { width: 50%; }
article .gallery.gallery-columns-3 >* { width: 33%; }
article .gallery.gallery-columns-4 >* { width: 25%; }

@media (min-width: 768px) {
    article h1 { font-size: 2.4rem; padding-bottom: 5px; border-bottom: 5px solid #dedede; position: relative; }
    article h1::after { position: absolute; content: ""; bottom: -5px; left: 0; background: #50557e; width: 280px; height: 5px; }
    article h2 { font-size: 2.2rem; padding: 0 0 5px 10px; border-bottom: 2px solid #50557e; }
    article h3 { font-size: 2rem; padding: 0 0 0 10px; position: relative; }
    article h3::after { position: absolute; content: ""; top: 5px; left: 0; background: #50557e; width: 2px; height: 20px; }
    .articleBlock { width: 1090px; margin: 75px auto; padding: 70px 40px; display: flex; justify-content: space-between; }
    .articleBlock a { text-decoration: underline; color: #242a5e; }
    .articleBlock .article { width: 715px; }
    .articleBlock .date { font-weight: 700; margin-right: 1em; font-size: 1.4rem; }
    .articleBlock .category { color: #50557e; font-size: 1.4rem; }
    .articleBlock side { width: 240px; border-left: 1px solid #999; padding-left: 35px; }
    .articleBlock .articleTitle { margin-bottom: 20px; }
    .articleBlock .articleTitle p { margin-bottom: 10px; }
    .articleBlock .articleTitle h1 { font-size: 2.8rem; font-weight: 700; color: #242a5e; }
    .articleBlock .articleList { display: flex; flex-wrap: wrap; }
    .articleBlock .articleList >* { width: 330px; margin-bottom: 80px; }
    .articleBlock .articleList >*:not(:nth-child(odd)) { margin-left: 50px; }
    .articleBlock .articleList dt { margin: 5px 0; }
    .articleBlock .articleList dd { margin-bottom: 20px; }
    .articleBlock .articleList dd a { font-size: 1.8rem; font-weight: 700; text-decoration: underline; color: #242a5e; }
    .articleBlock .rankingList { margin-bottom: 60px; width: 210px; font-size: 1.4rem; }
    .articleBlock .rankingList >* { margin-bottom: 20px; }
    .articleBlock .rankingList a { font-weight: 700; }
    .articleBlock .rankingList dt { margin: 5px 0; }
    .articleBlock .categoryList { font-size: 1.4rem; }
    .articleBlock .categoryList li { padding-left: 1em; position: relative; margin-bottom: 10px; }
    .articleBlock .categoryList li::before { position: absolute; top: 0.4em; left: 0; content: ""; width: 1em; height: 1em; background: url("/assets/image/icon_arrow2.svg") no-repeat 0 0 / auto 0.8em; }
    .articleBlock .relatedList { display: flex; flex-wrap: wrap; }
    .articleBlock .relatedList >* { width: 165px; }
    .articleBlock .relatedList >*:not(:last-child) { margin-right: 19px; }
    .articleBlock .relatedList dt { margin: 5px 0; }
    .articleBlock .relatedList dd a { font-size: 1.4rem; font-weight: 700; text-decoration: underline; color: #242a5e; }
    .articleBlock .tagBox { background: #f8f8f8; padding: 25px; margin-bottom: 70px; }
    .articleBlock .tagList { display: flex; flex-wrap: wrap; }
    .articleBlock .tagList >* { margin-right: 20px; }
}
@media screen and (max-width: 767px) {
    article h1 { font-size: 4.6vw; padding-bottom: 1vw; border-bottom: 1vw solid #dedede; position: relative; }
    article h1::after { position: absolute; content: ""; bottom: -1vw; left: 0; background: #50557e; width: 28vw; height: 1vw; }
    article h2 { font-size: 4.3vw; padding: 0 0 1vw 2vw; border-bottom: 0.4vw solid #50557e; }
    article h3 { font-size: 4vw; padding: 0 0 0 2vw; position: relative; }
    article h3::after { position: absolute; content: ""; top: 5px; left: 0; background: #50557e; width: 0.4vw; height: 4vw; }
    .articleBlock { margin: 11vw 6.25vw; padding: 7vw 4vw; }
    .articleBlock a { text-decoration: underline; color: #242a5e; }
    .articleBlock .article { border-bottom: 0.2vw solid #999; margin-bottom: 5vw; padding-bottom: 5vw; }
    .articleBlock .date { font-weight: 700; margin-right: 1em; font-size: 3vw; }
    .articleBlock .category { color: #50557e; font-size: 3vw; }
    .articleBlock side {}
    .articleBlock .articleTitle { margin-bottom: 2vw; }
    .articleBlock .articleTitle p { margin-bottom: 1vw; }
    .articleBlock .articleTitle h1 { font-size: 5vw; font-weight: 700; color: #242a5e; }
    .articleBlock .articleList {}
    .articleBlock .articleList >* { margin-bottom: 8vw; }
    .articleBlock .articleList dt { margin: 1vw 0; }
    .articleBlock .articleList dd { margin-bottom: 2vw; }
    .articleBlock .articleList dd a { font-size: 4vw; font-weight: 700; text-decoration: underline; color: #242a5e; }
    .articleBlock .rankingList { margin-bottom: 10vw; width: 34vw; font-size: 2.8vw; }
    .articleBlock .rankingList >* { margin-bottom: 4vw; }
    .articleBlock .rankingList a { font-weight: 700; }
    .articleBlock .rankingList dt { margin: 1vw 0; }
    .articleBlock .categoryList { font-size: 2.8vw; }
    .articleBlock .categoryList li { padding-left: 1em; position: relative; margin-bottom: 1vw; }
    .articleBlock .categoryList li::before { position: absolute; top: 0.4em; left: 0; content: ""; width: 1em; height: 1em; background: url("/assets/image/icon_arrow2.svg") no-repeat 0 0 / auto 0.8em; }
    .articleBlock .relatedList { display: flex; flex-wrap: wrap; }
    .articleBlock .relatedList >* { width: 34vw; }
    .articleBlock .relatedList >*:not(:last-child) { margin-right: 3vw; }
    .articleBlock .relatedList dt { margin: 1vw 0; }
    .articleBlock .relatedList dd a { font-size: 2.8vw; font-weight: 700; text-decoration: underline; color: #242a5e; }
    .articleBlock .tagBox { background: #f8f8f8; padding: 3vw; margin-bottom: 7vw; }
    .articleBlock .tagList { display: flex; flex-wrap: wrap; }
    .articleBlock .tagList >* { margin-right: 2vw; }
}

@media (min-width: 768px) {
    .wp-pagenavi { display: -webkit-flex; display: flex; -webkit-justify-content: center; justify-content: center; margin: 40px 0 80px; }
    .wp-pagenavi a { display: -webkit-flex; display: flex; -webkit-justify-content: center; justify-content: center; -webkit-align-items: center; align-items: center; width: 40px; height: 40px; background: #0081cc; color: #fff; margin: 0 5px;  }
    .wp-pagenavi span.current { display: -webkit-flex; display: flex; -webkit-justify-content: center; justify-content: center; -webkit-align-items: center; align-items: center; width: 40px; height: 40px; color: #0081cc; border: 1px solid #0081cc; }
}
@media screen and (max-width: 767px) {
    .wp-pagenavi { display: -webkit-flex; display: flex; -webkit-justify-content: center; justify-content: center; margin: 8vw 0; }
    .wp-pagenavi a { display: -webkit-flex; display: flex; -webkit-justify-content: center; justify-content: center; -webkit-align-items: center; align-items: center; width: 10vw; height: 10vw; background: #0081cc; color: #fff; margin: 0 5px; }
    .wp-pagenavi span.current { display: -webkit-flex; display: flex; -webkit-justify-content: center; justify-content: center; -webkit-align-items: center; align-items: center; width: 10vw; height: 10vw; color: #0081cc; border: 0.15vw solid #0081cc; }
}




@media (min-width: 768px) {
    .modalBlock {}
    .modalBlock .js-modal-open,
    .modalBlock .js-modal { display: none; }
}
@media screen and (max-width: 767px) {
    .modalBlock { position: relative; }
    .modalBlock .js-modal-open { position: absolute; width: 33vw; line-height: 8vw; text-indent: -9999px; }
    .modalBlock .modal01 { top: 70vw; left: 5vw; }
    .modalBlock .modal02 { top: 70vw; left: 49vw; }
    .modalBlock .modal03 { top: 142vw; left: 5vw; }
    .modalBlock .modal04 { top: 142vw; left: 49vw; }
    .modalBlock .modal05 { top: 216vw; left: 5vw; }
    .modal { display: none; position: fixed; top: 0; left: 0; height: 100vh; width: 100%; z-index: 100; }
    .modal-bg { position: absolute; height: 100vh; width: 100%; background-color: rgba(0, 0, 0, 0.7); z-index: 101; }
    .modal-content { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); width: 80vw; z-index: 102; }
    .modal-inner { position: relative; background: white; width: 100%; min-height: 100px; max-height: 500px; padding: 6vw; overflow-x: hidden; overflow-y: auto; }
    .btn_close { display: block; position: absolute; top: -8vw; right: 0; background-color: white; border-radius: 50%; width: 7vw; height: 7vw; color: black; text-align: center; font-size: 6vw; text-decoration: none; line-height: 7vw; z-index: 105; }
}




/*-----------------------------------------------------

フォーム共通：エラーメッセージ

------------------------------------------------------*/
.error-list {
  font-size: 14px;
  color: #a94442;
  background-color: #f2dede;
  border-color: #ebccd1;
  padding: 15px 15px 15px 30px;
  margin: 20px 0;
  border: 1px solid transparent;
  border-radius: 4px;
}
.error-list li {
  margin-bottom: 3px;
  list-style-type: disc;
}
.error-list li:last-child {
  margin-bottom: 0;
}


/*-----------------------------------------------------

フォーム共通：選択

------------------------------------------------------*/
.select_wrap{
	display: flex;
	align-items: center;
}
.select_wrap .select_item{
	position: relative;
}
.select_wrap .select_item:not(:first-child){
	margin-left: 10px;
}
.select_wrap .select_item select{
	padding: 5px 18px 5px 8px;
	border: 1px solid #ccc;
}
.select_wrap .select_item::after{
	content: "";
	position: absolute;
	top: calc(50% - 3px);
	right: 5px;
	display: inline-block;
	width: 0;
	height: 0;
	border-left: 6px solid transparent;
	border-right: 6px solid transparent;
	border-top: 7px solid black;
	pointer-events: none;
}



/*-----------------------------------------------------

ホワイトペーパーDLページ

------------------------------------------------------*/
.title_pdfDl .allura{
  margin-left: -230px;
}
.pdfDlBox_title{
  padding: 10px;
  border-bottom: 2px solid #242a5e;
  font-size: 2.2rem;
  font-weight: 700;
  text-align: left;
}
.pdfDlBox p{
  margin-top: 1.5em;
  text-align: center;
}
.pdfDlBox .itemImg a{
  width: 210px;
  display: inline-block
}
.pdfDlBtn{
  position: relative;
  display: inline-block;
  margin: 15px 20px;
  padding: 30px 50px 30px 80px;
  background-image: -webkit-linear-gradient(-65deg, rgb(55, 66, 157) 0%, rgb(36, 42, 94) 100%);
  border-radius: 9999px;
  box-shadow: 0px 4px 6px 0px rgba(0, 0, 0, 0.2);
  color: #fff;
  font-size: 2rem;
  font-weight: 700;
}
.pdfDlBtn::before{
  content: "";
  position: absolute;
  top: 50%;
  left: 23px;
  transform: translateY(-50%);
  display: block;
  width: 42px;
  height: 42px;
  background: url(/assets/image/icon_pdf-w.png);
  background-size: contain;
}
.pdfDlBox .contact_link{
  color: #ad924d;
  display: inline-block;
  font-weight: bold;
}

@media (min-width: 768px) {
  .pdfDlBox{
    width: 1090px;
    margin: 75px auto;
    padding: 70px 45px;
  }
}
@media screen and (max-width: 767px) {
  .title_pdfDl .allura{
    top: 12vw;
    margin-left: -44vw;
    font-size: 12vw;
  }
  .pdfDlBox{
    margin: 11vw 6.25vw;
    padding: 5vw 4vw;
  }
  .pdfDlBox_title{
    padding: 1vw;
    border-bottom: 0.4vw solid #242a5e;
    font-size: 4vw;
    font-weight: 700;
  }
  .pdfDlBtn{
    margin: 3vw 2vw;
    padding: 5vw 10vw 5vw 20vw;
    font-size: 3.75vw;
  }

}

/* フォーム追記 202607 */
.formBlock01 label{
  margin-right: 1em;
}
.formBlock01 label.is-disabled{
  opacity: 0.5;
}
.estimateOption > table{
  margin-bottom: 0;
}
.estimateOption + p{
  margin-top: 60px;
}
.fwR { font-weight: 400; }
.fsR { font-size: 1.6rem; }

/* セレクト見た目 */
.select_wrap{
  display: flex;
  align-items: center;
}
.select_wrap .select_item{
  position: relative;
}
.select_wrap .select_item:not(:first-child){
  margin-left: 10px;
}
.select_wrap .select_item select{
  padding: 5px 24px 5px 8px;
  border: 1px solid #ccc;
}
.select_wrap .select_item::after{
  content: "";
  position: absolute;
  top: calc(50% - 3px);
  right: 5px;
  display: inline-block;
  width: 0;
  height: 0;
  border-left: 6px solid transparent;
  border-right: 6px solid transparent;
  border-top: 7px solid black;
  pointer-events: none;
}
@media screen and (max-width: 767px) {
  .fsR{
    font-size: 3.05vw;
  }
  .spRow{
    display: flex;
    flex-direction: column;
    align-items: flex-start;
  }

  .estimateOption + p{
    margin-top: 6vw;
  }
}

/* AIG DLページ */
.aigPdfDlBox .pdf_img{
  border: 1px solid #b3b7dc;
}
.aigPdfDlBox .pdfDlBox_inner{
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  margin-top: 1.5em;
}
.aigPdfDlBox .pdfDlBox_item{
  width: 50%;
}
.aigPdfDlBox .pdfDlBox_item:nth-child(n + 3){
  margin-top: 60px;
}
.aigPdfDlBox .pdfDlBox_item:nth-child(even){
  border-left: 1px solid #b3b7dc;
}
.aigPdfDlBox .itemImg a{
  width: auto;
}
.aigPdfDlBox img{
  max-width: none;
  height: 257px;
}
@media screen and (max-width: 767px) {
  .aigPdfDlBox .pdfDlBox_inner{
    display: block;
    margin-top: 1.5em;
  }
  .aigPdfDlBox .pdfDlBox_item{
    width: 100%;
  }
  .aigPdfDlBox .pdfDlBox_item + .pdfDlBox_item{
    border-top: 1px solid #b3b7dc;
    border-left: none;
    margin-top: 7vw;
    padding-top: 7vw;
  }
  .aigPdfDlBox .itemImg a{
    width: 100%;
  }
  .aigPdfDlBox img{
    max-width: 100%;
    height: auto;
  }
}


/* D&O保険 お見積り書類ダウンロード */
.pdfDl_top p{
  margin: 0;
}

/* ボタン */
.pdfDlGroup_dlLink{
  position: relative;
  display: inline-block;
  padding: 10px 10px 10px 40px;
  border-radius: 5px;
  font-size: 14px;
  font-weight: 600;
}
.pdfDlGroup_dlLink::before{
  position: absolute;
  top: 50%;
  left: 15px;
  transform: translateY(-50%);
  content: "";
  display: inline-block;
  width: 20px;
  height: 20px;
  background: url(/assets/image/icon_dl-wt.png) no-repeat center / contain;
}
.pdfDlGroup_dlLink-wt{
  border: 2px solid #fff;
  color: #fff;
}
.pdfDlGroup_dlLink-wt::before{
  background: url(/assets/image/icon_dl-wt.png) no-repeat center / contain;
}
.pdfDlGroup_dlLink-border{
  padding: 10px 28px 10px 50px;
  border: 2px solid #242a5e;
  color: #242a5e;
}
.pdfDlGroup_dlLink-border::before{
  left: 15px;
  background: url(/assets/image/icon_dl-bl.png) no-repeat center / contain;
}
.pdfDlGroup_dlLink-gd{
  background-image: -webkit-linear-gradient(-65deg, rgb(55, 66, 157) 0%, rgb(36, 42, 94) 100%);
  color: #fff;
}

.pdfDlGroup{
  margin: 30px 0 0;
  border-radius: 5px;
  overflow: hidden;
}

/* 見出し */
.pdfDlGroup_title{
  position: relative;
  margin: 0 !important;
  padding: 0 0 0 25px;
  color: #fff;
  font-size: 18px;
  font-weight: bold;
}
.pdfDlGroup_title::before{
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  content: "";
  display: inline-block;
  width: 20px;
  height: 20px;
  background: url(/assets/image/icon_company.png) no-repeat center / contain;
}

/* テーブル */
.pdfDlGroup_table{
  width: 100%;
  border-spacing: 0;
}
.pdfDlGroup_table th,
.pdfDlGroup_table td{
  padding: 8px 15px;
  text-align: left;
}
.pdfDlGroup_table tbody th{
  font-weight: normal;
}

/* 個別対応 - 東京海上日動  */
.pdfDlGroup.tmn{
  border: 2px solid #0d58a6;
}
.pdfDlGroup.tmn .pdfDlGroup_header{
  background: #0d58a6;
}
.pdfDlGroup.tmn thead th{
  background: #cce0f0;
  color: #0d58a6;
}
/* 個別対応 - 三井住友海上  */
.pdfDlGroup.ms{
  border: 2px solid #00665a;
}
.pdfDlGroup.ms .pdfDlGroup_header{
  background: #00665a;
}
.pdfDlGroup.ms thead th{
  background: #e5efee;
  color: #00665a;
}
/* 個別対応 - 損保ジャパン  */
.pdfDlGroup.sompo{
  border: 2px solid #af2326;
}
.pdfDlGroup.sompo .pdfDlGroup_header{
  background: #af2326;
}
.pdfDlGroup.sompo thead th{
  background: #fad7cf;
  color: #af2326;
}
/* 個別対応 - あいおいニッセイ同和損保  */
.pdfDlGroup.aioi{
  border: 2px solid #006e53;
}
.pdfDlGroup.aioi .pdfDlGroup_header{
  background: #006e53;
}
.pdfDlGroup.aioi thead th{
  background: #e6f8f4;
  color: #006e53;
}
/* 個別対応 - AIG損保  */
.pdfDlGroup.aig{
  border: 2px solid #001871;
}
.pdfDlGroup.aig .pdfDlGroup_header{
  background: #001871;
}
.pdfDlGroup.aig thead th{
  background: #e0f3fb;
  color: #001871;
}

@media (min-width: 768px) {
  .pdfDl_top{
    display: flex;
    align-items: center;
    justify-content: space-between;
  }

  /* 見出し */
  .pdfDlGroup_header{
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 10px 15px;
  }

  /* テーブル */
  .pdfDlGroup_table thead th:nth-child(1){
    width: calc(65% - 220px);
  }
  .pdfDlGroup_table thead th:nth-child(2){
    width: 35%;
  }
  .pdfDlGroup_table thead th:nth-child(3){
    width: 220px;
  }

  .pdfDlGroup_table tbody th,
  .pdfDlGroup_table tbody td{
    border-bottom: 1px solid #ccc;
  }
  .pdfDlGroup_table tbody tr:last-of-type th,
  .pdfDlGroup_table tbody tr:last-of-type td{
    border-bottom: none;
  }

}
@media screen and (max-width: 767px) {
  .pdfDl_top p{
    text-align: left;
  }

  /* ボタン */
  .pdfDl_top .pdfDlGroup_dlLink{
    width: 100%;
    margin-top: 10px;
    text-align: center;
  }
  .pdfDlGroup_dlLink-border::before{
    left: 8px;
    width: 18px;
    height: 18px;
  }

  /* 見出し */
  .pdfDlGroup_header{
    padding: 8px 10px 10px;
  }
  .pdfDlGroup_header .pdfDlGroup_dlLink{
    margin-top: 10px;
    width: 100%;
    text-align: center;
  }
  .pdfDlGroup_title{
    text-align: left!important;
  }

  /* テーブル */
  .pdfDlGroup_table table,
  .pdfDlGroup_table th,
  .pdfDlGroup_table td{
    display: block;
    width: 100%;
    text-align: center;
  }

  .pdfDlGroup_table thead{
    display: none;
  }

  .pdfDlGroup_table tbody tr {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 120px;
    grid-template-areas:"title button""content button";
    gap: 5px 8px;
    align-items: center;
    padding: 10px 12px;
    border-bottom: 1px solid #ddd;
  }
  .pdfDlGroup_table tbody th,
  .pdfDlGroup_table tbody td {
    display: block;
    width: auto;
    padding: 0;
    border: 0;
  }
  .pdfDlGroup_table tbody th {
    grid-area: title;
    font-size: 16px;
    font-weight: bold;
    text-align: left;
  }
  .pdfDlGroup_table tbody td:nth-of-type(1) {
    grid-area: content;
    text-align: left;
    font-size: 14px;
  }
  .pdfDlGroup_table tbody td:nth-of-type(2) {
    grid-area: button;
    justify-self: end;
  }
  .pdfDlGroup_table tbody .pdfDlGroup_dlLink {
    width: 120px;
    padding: 10px 8px 10px 30px;
    font-size: 12px;
  }

}

