@charset "UTF-8";
@import url('https://fonts.googleapis.com/css2?family=Hind:wght@400;700&family=Noto+Sans+JP:wght@400;500;700;900&family=Noto+Serif+JP:wght@400;500;700&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 { font-size: 62.5%; }
body { background: #fff; color: #000; font-family: 'Noto Sans JP', sans-serif; font-size: 1.0rem; position: relative; }
img { max-width: 100%; vertical-align: bottom; }
a { color: #000; cursor: pointer; text-decoration: none; transition: all .3s; }
a:hover { color: #ae0629; }
input[type=submit] { cursor: pointer; }
ul,
ol { list-style: none; }
@media (min-width: 768px) {
  .spOnly { display: none !important; }
  img { height: auto; max-width: 100%; }
  #page-top { bottom: 30px; position: fixed; right: 30px; z-index: 10; }
  #page-top a { background: url("../image/icon_pagetop.png") no-repeat 50% 50%; display: block; height: 61px; text-align: center; text-indent: -9999px; width: 61px; }
  hr { border: none; border-top: 1px #9b9b9b solid; height: 1px; }
}
@media (max-width: 767px) {
  .pcOnly { display: none !important; }
  img { height: auto; width: 100%; }
  #page-top { bottom: 3vw; position: fixed; right: 3vw; z-index: 10; }
  #page-top a { background: url("../image/icon_pagetop.png") no-repeat 50% 50% / 12vw auto; display: block; height: 12vw; text-align: center; text-indent: -9999px; width: 12vw; }
  hr { border: none; border-top: 0.2vw #9b9b9b solid; height: 0.2vw; }
}

#vueRootArea[v-cloak] {display: none;}

/*====================================

  1. Header

====================================*/
@media (min-width: 768px) {
  header { font-size: 1.6rem; font-weight: 500; margin: 0 auto; padding: 10px calc(50% - 500px) 15px; position: relative; border-top: 5px solid #d2002b; height: 150px; }
  header h1 { font-size: 2.8rem; float: left; }
  header h1 img { margin-right: 35px; }
  header .cmnNav { background: #f6f7f7; position: absolute; left: 0; top: 100px; width: 100%; padding: 0 calc(50% - 500px); }
  header .cmnNav > ul { display: flex; }
  header .cmnNav > ul > li { position: relative; text-align: center; width: calc(1000px/3); }
  header .cmnNav > ul > li::before { position: absolute; content: ""; width: 1px; height: 25px; background: #8c8786; left: 0; top: 0; bottom: 0; margin: auto; }
  header .cmnNav > ul > li:last-child::after { position: absolute; content: ""; width: 1px; height: 25px; background: #8c8786; right: 0; top: 0; bottom: 0; margin: auto; }
  header .cmnNav > ul > li > a,
  header .cmnNav > ul > li > span { display: inline-block; padding: 17px 20px; line-height: 1; position: relative; cursor: pointer; }
  header .cmnNav > ul > li.has-child > span::before { content: ""; position: absolute; right: 0; top: 0; bottom: 0; margin: auto; width: 0; height: 0; border-left: 6px solid transparent; border-right: 6px solid transparent; border-top: 9px solid #000; }
  header .cmnNav > ul > li.has-child ul { position: absolute; left: 0; top: 50px; z-index: 4; background-image: -webkit-linear-gradient( -90deg, rgb(215,215,215) 0%, rgb(231,231,231) 10%, rgb(246,247,247) 100%); box-shadow: 0px 10px 6.72px 0.28px rgba(0, 0, 0, 0.53); width: 350px; visibility: hidden; opacity: 0; transition: all .3s; padding: 20px; text-align: left; font-size: 1.4rem; }
  header .cmnNav > ul > li.has-child:hover > ul,
  header .cmnNav > ul > li.has-child:active > ul { visibility: visible; opacity: 1; }
  header .cmnNav > ul > li.has-child li { padding: 10px 0; border-bottom: 1px solid #999; }
  header .cmnNav > ul > li.has-child li a { padding-left: 25px; position: relative; }
  header .cmnNav > ul > li.has-child li a::after { position: absolute; content: ""; width: 20px; height: 20px; background: url("../image/icon_arrow_red.svg") no-repeat; top: 0; bottom: 0; left: 0; margin: auto; }
  header .contactNav { float: right; margin-top:20px; }
  header .contactNav ul { display: flex; align-items: center; }
  header .contactNav li { margin-left: 20px; }
}
@media (max-width: 767px) {
  header { height: 19vw; padding: 3vw 3vw 0 5vw; border-top: 5px solid #d2002b; }
  header h1 { font-size: 5.6vw; float: left; }
  header h1 img { width: 8vw; margin-right: 2vw; }
  #gnav { height: 0; position: absolute; right: 0; top: 0; width: 100%; z-index: 1000; } 
  #panel-btn { background: #ae0629; border-radius: 1vw; cursor: pointer; display: inline-block; float: right; height: 10.6vw; margin: 5vw 4vw 0 0; position: relative; text-indent: -9999px; width: 10.6vw; z-index: 1100; } 
  #panel-btn-icon { background: #fff; display: block; height: 1px; left: 50%; margin: -0.5px 0 0 -3.125vw; position: absolute; top: 50%; transition: .2s; width: 6.25vw; }
  #panel-btn-icon:before,
  #panel-btn-icon:after { background: #fff; content: ""; display: block; height: 1px; left: 0; position: absolute; top: 50%; transition: .3s; width: 6.25vw; } 
  #panel-btn-icon:before { margin-top: -2.5vw; }
  #panel-btn-icon:after { margin-top: 2.2vw; } 
  #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; font-size: 3.7vw; padding: 0 5vw 7vw; position: absolute; right: 0; top: 19vw; width: 100%; z-index: 1000; } 
  header .cmnNav > ul { border-top: 0.2vw solid #333; }
  header .cmnNav > ul > li { border-bottom: 0.2vw solid #333; }
  header .cmnNav > ul > li > a,
  header .cmnNav > ul > li > span { font-size: 5vw; font-weight: 500; display: block; padding: 5vw 10vw 5vw 0; position: relative; }
  header .cmnNav > ul > li.has-child > span::after { content: ""; position: absolute; right: 0; top: 0; bottom: 0; margin: auto; width: 5vw; height: 5vw; background: url("../image/icon_head_open.svg") no-repeat 0 0 / 5vw auto; }
  header .cmnNav > ul > li.has-child.active > span::after { background: url("../image/icon_head_close.svg") no-repeat 0 0 / 5vw auto; }
  header .cmnNav > ul > li.has-child ul { display: none; }
  header .cmnNav > ul > li.has-child li { margin-bottom: 5vw; }
  header .cmnNav > ul > li.has-child li a { padding-left: 25px; position: relative; }
  header .cmnNav > ul > li.has-child li a::after { position: absolute; content: ""; width: 4vw; height: 4vw; background: url("../image/icon_arrow_red.svg") no-repeat 0 0 / 4vw auto; top: 0; bottom: 0; left: 0; margin: auto; }
  header .contactNav ul { display: flex; flex-wrap: wrap; justify-content: space-between; }
  header .contactNav li { margin-top: 6vw; }
  /*header .contactNav li:last-child { width: 100%; padding: 0 15vw; }*/
}



/*====================================

  2. Footer

====================================*/
@media (min-width: 768px) {
  footer { display: flex; font-size: 1.4rem; font-weight: 500; justify-content: space-between; margin: 0 auto; padding: 40px calc(50% - 500px); background: #f6f7f7; }
  footer .leftBlock { width: 360px; }
  footer .rightBlock { width: 540px; }
  footer .subNav { display: flex; margin-bottom: 25px; }
  footer .subNav li { margin-right: 20px; }
  footer .officialNav { display: flex; flex-wrap: wrap; margin-bottom: 15px; }
  footer .officialNav li { padding-right: 20px; position: relative; }
  footer .service { border-bottom: 1px solid #333; font-size: 2.8rem; font-weight: 700; margin-bottom: 20px; padding-bottom: 15px; }
  footer .service span { font-size: 2rem; }
  footer dt { float: left; }
  footer dd { margin-bottom: 8px; padding-left: 120px; }
  footer p { font-size: 1.2rem; }
}
@media (max-width: 767px) {
  footer { padding: 5vw; background: #f6f7f7; }
  footer .subNav { display: flex; margin-bottom: 5vw; }
  footer .subNav li { margin-right: 4vw; }
  footer .officialNav { display: flex; flex-wrap: wrap; font-size: 2.8vw; margin-bottom: 3vw; }
  footer .officialNav li { margin-bottom: 2vw; padding: 0 2vw; min-width: 45vw; text-align: center; }
  footer .service { font-size: 5vw; font-weight: 700; margin-bottom: 2vw; }
  footer .service span { font-size: 3vw; }
  footer dl { border-top: 0.2vw solid #999; margin-bottom: 4vw; }
  footer dt { float: left; padding-top: 2vw; }
  footer dd { margin-bottom: 2vw; padding: 2vw 0 2vw 10em; border-bottom: 0.2vw solid #999; }
  footer p { font-size: 3vw; }
}



/*====================================

  3. Main

====================================*/
@media (min-width: 768px) {
  main { font-size: 1.6rem; line-height: 1.6; background: url("../image/bg_main.png") 50% 0; padding-bottom: 1px; }
  main a { text-decoration: underline; }
  main p { line-height: 1.6; }
}
@media (max-width: 767px) {
  main { font-size: 3.75vw; line-height: 1.6; position: relative; }
  main a { text-decoration: underline; }
  main a:hover { color: #ae0629; }
}


/*-----------------------------------------------------
Text
------------------------------------------------------*/
.komeTxt { padding-left: 1em; text-indent: -1em; }
.komeNumTxt { padding-left: 3.5em; text-indent: -3.5em; }
.chuTxt { padding-left: 3em; text-indent: -3em; }
.chuTxt02 { margin-left: -3em;}
.taR { text-align: right; }
.taL { text-align: left; }
.taC { text-align: center; }
.fwN { font-weight: 400; }
.fwM { font-weight: 500; }
.fwB { font-weight: 700; }
.fwBB { font-weight: 900; }
.fcBlue { color: #2b4f81; }
.fcRed { color: #ae0629; }
.marker { background:linear-gradient(transparent 70%, #fdf512 70%) }
.mt1em { margin-top: 1em; }
.mt2em { margin-top: 2em; }
.mb05em { margin-bottom: 0.5em; }
.mb1em { margin-top: 1em; }
.mb2em { margin-bottom: 2em; }
@media (min-width: 768px) {
  hr { border: none; border-top: 1px solid #ccc; height: 1px; margin: 40px 0; }
  .fsM { font-size: 1.8rem; }
  .fsL { font-size: 2.2rem; }
}
@media (max-width: 767px) {
  hr { border: none; border-top: 0.2vw solid #ccc; height: 0.2vw; margin: 8vw 0; }
  .fsM { font-size: 4vw; }
  .fsL { font-size: 4.6vw; }
}

/*-----------------------------------------------------
Btn
------------------------------------------------------*/
.btn { display: inline-block; line-height: 1.2 !important; position: relative; text-align: center; text-decoration: none; }
.btn:hover { opacity: 0.8; color: #000; }
.icon { display: inline-block; line-height: 1 !important; position: relative; text-decoration: none; }
.icon.blank { padding-right: 1.2em; }
.icon.blank::after { background: url("/assets/image/icon_blank.svg") no-repeat 50% 50% / 0.8em auto; bottom: 0; content: ""; height: 0.8em; margin: auto; position: absolute; right: 0; top: 0; width: 0.8em; }
@media (min-width: 768px) {
  .btn.btnGray { border: 1px solid #999; padding: 14px 14px 14px 40px; border-radius: 10px; background-image: -webkit-linear-gradient( 90deg, rgb(240,240,240) 0%, rgb(255,255,255) 100%); box-shadow: 3px 3px 0px 0px rgba(153, 153, 153, 0.8); font-size: 1.4rem; }
  .btn.btnGray.contact::before { position: absolute; content: ""; width: 20px; height: 20px; left: 13px; top: 0; bottom: 0; margin: auto; background: url("../image/icon_contact.svg") no-repeat 50% 50% / 20px auto; }
  .btn.btnGray.estimate::before { position: absolute; content: ""; width: 20px; height: 20px; left: 13px; top: 0; bottom: 0; margin: auto; background: url("../image/icon_estimate.svg") no-repeat 50% 50% / auto 20px; }
  .btn.btnNext { min-width: 300px; border: 1px solid #999; padding: 20px 100px; border-radius: 10px; background-image: -webkit-linear-gradient( 90deg, rgb(240,240,240) 0%, rgb(255,255,255) 100%); box-shadow: 3px 3px 0px 0px rgba(153, 153, 153, 0.8); font-size: 2.2rem; font-weight: 700; display: inline-flex; align-items: center; }
  .btn.btnNext::after { background: url("../image/icon_arrow_red.svg") no-repeat 0 50% / 28px auto; bottom: 0; content: ""; height: 28px; margin: auto; position: absolute; right: 35px; top: 0; width: 28px; }
  .btn.btnPrev { min-width: 300px; border: 1px solid #999; padding: 20px 100px; border-radius: 10px; background-image: -webkit-linear-gradient( 90deg, rgb(240,240,240) 0%, rgb(255,255,255) 100%); box-shadow: 3px 3px 0px 0px rgba(153, 153, 153, 0.8); font-size: 2.2rem; font-weight: 700; }
  .btn.btnPrev::after { background: url("../image/icon_arrow_red.svg") no-repeat 0 50% / 28px auto; bottom: 0; content: ""; height: 28px; margin: auto; position: absolute; left: 35px; top: 0; width: 28px; -webkit-transform: rotate(180deg); transform: rotate(180deg); }

  .btn.btnMore { background: #3d6cca; border: 2px solid #f4f4f5; border-radius: 3em; box-shadow: 5px 5px 15px 2px rgba(34, 24, 21, 0.4); color: #fff; font-size: 1.6rem; font-weight: 700; padding: 20px 60px 20px 40px; }
  .btn.btnMore::after { background: url("../image/icon_arrow.svg") no-repeat 0 50% / 15px auto; bottom: 0; content: ""; height: 15px; margin: auto; position: absolute; right: 25px; top: 0; width: 15px; }
}
@media (max-width: 767px) {
  .btn.btnGray { border: 1px solid #999; padding: 3vw 2vw 3vw 6vw; border-radius: 1vw; background-image: -webkit-linear-gradient( 90deg, rgb(240,240,240) 0%, rgb(255,255,255) 100%); box-shadow: 0.6vw 0.6vw 0px 0px rgba(153, 153, 153, 0.8); width: 42vw; font-size: 3vw; }
  .btn.btnGray.contact::before { position: absolute; content: ""; width: 4vw; height: 4vw; left: 4vw; top: 0; bottom: 0; margin: auto; background: url("../image/icon_contact.svg") no-repeat 50% 50% / 4vw auto; }
  .btn.btnGray.estimate::before { position: absolute; content: ""; width: 4vw; height: 4vw; left: 4vw; top: 0; bottom: 0; margin: auto; background: url("../image/icon_estimate.svg") no-repeat 50% 50% / auto 4vw; }
  .btn.btnNext { min-width: 40vw; border: 0.2vw solid #999; padding: 2vw 10vw; border-radius: 1vw; background-image: -webkit-linear-gradient( 90deg, rgb(240,240,240) 0%, rgb(255,255,255) 100%); box-shadow: 0.6vw 0.6vw 0px 0px rgba(153, 153, 153, 0.8); font-size: 4vw; font-weight: 700; }
  .btn.btnNext::after { background: url("../image/icon_arrow_red.svg") no-repeat 0 50% / 4vw auto; bottom: 0; content: ""; height: 4vw; margin: auto; position: absolute; right: 4vw; top: 0; width: 4vw; }
  .btn.btnNext span { display: block; }
  .btn.btnNext img { width: auto; height: 1.6em; }
  .btn.btnPrev { min-width: 40vw; border: 0.2vw solid #999; padding: 2vw 10vw; border-radius: 1vw; background-image: -webkit-linear-gradient( 90deg, rgb(240,240,240) 0%, rgb(255,255,255) 100%); box-shadow: 0.6vw 0.6vw 0px 0px rgba(153, 153, 153, 0.8); font-size: 4vw; font-weight: 700; }
  .btn.btnPrev::after { background: url("../image/icon_arrow_red.svg") no-repeat 0 50% / 4vw auto; bottom: 0; content: ""; height: 4vw; margin: auto; position: absolute; left: 4vw; top: 0; width: 4vw; -webkit-transform: rotate(180deg); transform: rotate(180deg); }
  .btn.btnMore { background: #3d6cca;  border: 0.4vw solid #f4f4f5; border-radius: 3em; box-shadow: 1vw 1vw 3vw 0.4vw rgba(34, 24, 21, 0.4); color: #fff; padding: 4vw 10vw; }
  .btn.btnMore::after { background: url("../image/icon_arrow.svg") no-repeat 0 50% / 3vw auto; bottom: 0; content: ""; height: 3vw; margin: auto; position: absolute; right: 3vw; top: 0; width: 3vw; }
}

/*-----------------------------------------------------
List
------------------------------------------------------*/
main ol { margin: 0; }
main ul { margin: 0; }
.komeList li { padding-left: 1em; text-indent: -1em; }
.kanaList li { padding-left: 2em; text-indent: -2em; }
.komeNumList li { padding-left: 3.5em; text-indent: -3.5em; }

/*-----------------------------------------------------
Title
------------------------------------------------------*/
@media (min-width: 768px) {
  .title00_top { background: #020725 url("/assets/image/top_bg01.png") no-repeat 50% 50%; padding: 82px calc(50% - 500px); }
  .title00 { background: #020725 url("/assets/image/bg_title00.png") no-repeat 50% 0; color: #fff; font-size: 4rem; font-weight: 700; height: 170px; line-height: 1; margin-bottom: 50px; display: flex; justify-content: center; align-items: center; text-shadow: 2px 3px 3px rgba(0, 0, 0, 0.4); flex-wrap: wrap; text-align: center; }
  .title00 span.fsS { font-size: 2rem; text-align: center; margin-top: 0.5em; }
  .title01 { border: 2px solid #ae0629; padding: 5px; font-size: 3.2rem; text-align: center; line-height: 1; margin-bottom: 25px; }
  .title01 span { border: 1px solid #ae0629; padding: 25px; display: block; }
  .title01 img { vertical-align: middle; }
  .title02 { font-size: 2rem; line-height: 1.2; margin: 20px 0; padding-bottom: 5px; border-bottom: 2px solid #ae0629; }
  .title03 { font-weight: 500; font-size: 1.6rem; margin: 15px 0; position: relative; padding-left: 12px; }
  .title03::before { position: absolute; content: ""; width: 3px; height: 24px; background: #ae0629; top: 0; left: 0; }
  .title04 { background: url("../image/option_bg01.png") no-repeat 50% 50%; color: #fff; font-size: 2.8rem; margin: 0 -30px 30px; padding: 20px 5px; line-height: 1; text-align: center; }
  .title04 span { font-size: 2rem; }

}
@media (max-width: 767px) {
  .title00 { background: #020725 url("/assets/image/bg_title00.png") no-repeat 50% 50% / cover; color: #fff; font-size: 6vw; font-weight: 700; height: 30vw; line-height: 1; margin-bottom: 5vw; display: flex; justify-content: center; align-items: center; text-shadow: 0.4vw 0.6vw 0.6vw rgba(0, 0, 0, 0.4); text-align: center; }
  .title00 span.fsS { font-size: 3.4vw; text-align: center; margin-top: 0.5em; }
  .title01 { border: 0.4vw solid #ae0629; padding: 1vw; font-size: 4.8vw; text-align: center; line-height: 1; margin-bottom: 3vw; }
  .title01 span { border: 0.2vw solid #ae0629; padding: 2vw; display: block; }
  .title01 img { width: auto; height: 2em; margin: 0 auto; display: block; }
  .title02 { font-size: 4.3vw; line-height: 1.2; margin: 2vw 0; padding-bottom: 1vw; border-bottom: 0.4vw solid #ae0629; }
  .title03 { font-weight: 500; font-size: 4.3vw; margin: 2vw 0; position: relative; padding-left: 3vw; }
  .title03::before { position: absolute; content: ""; width: 1vw; height: 4vw; background: #ae0629; top: 1vw; left: 0; }
  .title04 { background: url("../image/option_bg01.png") no-repeat 50% 50% / cover; color: #fff; font-size: 4.6vw; margin: 0 -3vw 3vw; padding: 2vw 5px; line-height: 1.4; text-align: center; }
  .title04 span { font-size: 3vw; display: block; }
}

/*-----------------------------------------------------
Columns
------------------------------------------------------*/
@media (min-width: 768px) {
  .flex { display: flex; flex-wrap: wrap; }
  .flex.row-reverse { flex-direction: row-reverse; }
  .flex.space-between { justify-content: space-between; }
  .flex.justify-center { justify-content: center; }
  .flex.align-items-center { align-items: center; }
  .flex.align-items-end { align-items: flex-end; }
}
@media (max-width: 767px) {
  .spflex { display: flex; flex-wrap: wrap; }
  .spflex.space-between { justify-content: space-between; }
  .spflex.justify-center { justify-content: center; }
  .spflex.align-items-center { align-items: center; }
  .spflex.align-items-end { align-items: flex-end; }
}

/*-----------------------------------------------------
Background
------------------------------------------------------*/
@media (min-width: 768px) {
  .bgGray { background: #eee; padding: 40px; }
.bgBrown { background: #e7e1da url("../image/bg_main2.png") repeat-y 50% 0; overflow: hidden; }
.bgBlue { background: #dae0e8 url("../image/bg_main2.png") repeat-y 50% 0; overflow: hidden; }
}
@media (max-width: 767px) {
  .bgGray { background: #eee; padding: 4vw; }
.bgBrown { background: #e7e1da url("../image/sp_bg_main2.png") repeat-y 0 0 / 100vw auto; overflow: hidden; }
.bgBlue { background: #dae0e8 url("../image/sp_bg_main2.png") repeat-y 0 0 / 100vw auto; overflow: hidden; }
}



/*-----------------------------------------------------

トップページ

------------------------------------------------------*/
@media (min-width: 768px) {
  .bgtop01 { background: #eae3e4 url("../image/bg_main2.png") repeat-y 50% 0; overflow: hidden; }
  .bgtop02 { background: #eee url("../image/bg_main2.png") repeat-y 50% 0; overflow: hidden; }
  .topBlock01 { margin: 70px auto; width: 1000px; }
  .topBlock01 p { margin: 1em 0; }
  .topBlock01 .txtBox { width: 620px; }
  .topBlock01 .txt01 { font-size: 3.6rem; font-weight: 900; color: #ae0629; width: -moz-fit-content; width: fit-content; margin: 0 auto 20px; padding-bottom: 4px; border-bottom: 7px solid #ae0629; }
  .topBlock01 .txt02 { font-weight: 700; width: -moz-fit-content; width: fit-content; font-size: 2.8rem; color: #fff; background: #ae0629; padding: 10px 40px; border-radius: 50%; }
  .topBlock01 .txt03 { font-weight: 700; font-size: 3.2rem; line-height: 1.2; }
  .topBlock01 .txt03_1 { font-size: 7rem; font-weight: 900; }
  .topBlock01 .txt03_2 { font-size: 4rem; }
  .topBlock02 { margin: 70px auto; width: 880px; }
  .topBlock02 h3 { font-size: 3.6rem; text-align: center; }
  .topBlock02 h4 { font-size: 2.8rem; text-align: center; }
  .topBlock02 p { margin: 1em 0; }
  .topBlock02 .bgWhite { background: #fff; border-radius: 20px; padding: 40px; }
  .topBlock02 .priceBox { margin-bottom: 30px; font-weight: 500; font-size: 1.8rem;  }
  .topBlock02 .priceBox li { margin-top: 30px; width: 253px; height: 100px; border: 1px solid #ccc; display: flex; justify-content: center; align-items: center; text-align: center; border-radius: 10px;padding: 10px 20px; }
  .topBlock03 { margin: 70px auto; width: 1000px; }
  .topBlock03 p { margin: 1em 0; }
  .topBlock03 .suppBox { border: 1px solid #AE0629; border-radius: 20px; padding: 50px 40px 40px; position: relative; margin: 90px 0 60px; }
  .topBlock03 .suppBox h3 { position: absolute; top: -30px; left: 0; right: 0; margin: auto; background-image: -webkit-linear-gradient( -90deg, rgb(237,43,83) 0%, rgb(174,6,41) 100%); width: 850px; text-align: center; color: #fff; font-size: 2.4rem; padding: 15px; border-radius: 2em; line-height: 1.2; }
  .topBlock03 .suppBox h4 { font-size: 2.4rem; width: -moz-fit-content; width: fit-content; border: 2px solid #000; padding: 12px 30px; margin: 0 auto; border-radius: 2em; position: relative; z-index: 1; background: #fff; }
  .topBlock03 .flex .suppBox2 { width: 440px; margin: 15px 0 25px; }
  .topBlock03 .suppBox2 { border-radius: 20px; padding: 30px 40px; text-align: center; }
  .topBlock03 .suppBox2 .title1 { font-size: 2rem; font-weight: 700; width: -moz-fit-content; width: fit-content; background: #fff; padding: 10px 30px; margin: 0 auto 15px; border-radius: 10px; }
  .topBlock03 .suppBox2 .title2 { font-size: 3.6rem; font-weight: 700; line-height: 1.2; }
  .topBlock03 .suppBox2.type01 { background: #e7e1da; }
  .topBlock03 .suppBox2.type02 { background: #dae0e8; }
  .topBlock03 .suppBox2.type03 { background: #eee; margin-top: -30px; padding-top: 50px; }
  .topBlock03 .suppBox2.type04 { border: 1px solid #999; }
  .topBlock03 .suppBox2.type04 figure { margin: 0 15px; }
  .topBlock03 .suppBox2.type03 .title2  { font-size: 2.6rem; }
  .topBlock03 .set { font-size: 1.6rem; display: inline-block; padding: 5px 10px; background: #eee; border-radius: 2em; margin-right: 1em; }
  .topBlock03 .plus { position: relative; padding-top: 60px; }
  .topBlock03 .plus::before { position: absolute; content: ""; top: 0; left: 0; right: 0; margin: auto; background: url("../image/icon_plus.svg") no-repeat; width: 40px; height: 40px; }
  .topBlock03 .recommend { color: #ae0629; text-align: center; font-weight: 700; font-size: 2.2rem; margin-bottom: 5px; }
  .topBlock03 .arrowB { margin-bottom: 75px; position: relative; }
  .topBlock03 .arrowB::after { position: absolute; content: ""; width: 110px; height: 36px; left: 0; right: 0; bottom: -50px; margin: auto; background: url("../image/arrow_next.svg") no-repeat; }
  .topBlock04 { margin: 70px auto; width: 1000px; }
  .topBlock04 p { margin: 1em 0; }
  .topBlock04 .featureBox { border: 1px solid #a0a0a0; width: 490px; margin: 10px 0; }
  .topBlock04 .featureBox dl { margin: 20px; }
  .topBlock04 .featureBox dt { font-size: 2.2rem; margin-bottom: 15px; font-weight: 700; }
  .topBlock04 .featureBox dd { font-size: 1.8rem; font-weight: 500; }
}
@media (max-width: 767px) {
  .bgtop01 { background: #eae3e4 url("../image/sp_bg_main2.png") repeat-y 0 0 / 100vw auto; overflow: hidden; }
  .bgtop02 { background: #eee url("../image/sp_bg_main2.png") repeat-y 0 0 / 100vw auto; overflow: hidden; }
  .topBlock01 { margin: 10vw 5vw; }
  .topBlock01 p { margin: 1em 0; }
  .topBlock01 .txt01 { font-size: 5.6vw; font-weight: 900; color: #ae0629; width: -moz-fit-content; width: fit-content; margin: 0 auto 4vw; padding-bottom: 1vw; border-bottom: 1vw solid #ae0629; text-align: center; }
  .topBlock01 .txt02 { font-weight: 700; width: -moz-fit-content; width: fit-content; font-size: 5.2vw; color: #fff; background: #ae0629; padding: 2vw 5vw; border-radius: 50%; margin: 0 auto; }
  .topBlock01 .txt03 { font-weight: 700; font-size: 4.8vw; line-height: 1.2; text-align: center; }
  .topBlock01 .txt03_1 { font-size: 10vw; font-weight: 900; }
  .topBlock01 .txt03_2 { font-size: 6.25vw; }
  .topBlock01 figure { text-align: center; }
  .topBlock01 figure img { width: 60vw; }
  .topBlock02 { margin: 7vw 5vw; }
  .topBlock02 p { margin: 1em 0; }
  .topBlock02 h3 { font-size: 5.6vw; text-align: center; }
  .topBlock02 h4 { font-size: 5vw; text-align: center; }
  .topBlock02 .bgWhite { background: #fff; border-radius: 2vw; padding: 4vw; }
  .topBlock02 .priceBox { margin-bottom: 3vw; font-weight: 500; }
  .topBlock02 .priceBox li { margin-top: 3vw; width: 40vw; border: 0.2vw solid #ccc; text-align: center; border-radius: 1vw; padding: 3vw 2vw; display: flex; justify-content: center; align-items: center; }
  .topBlock03 { margin: 7vw 5vw; }
  .topBlock03 p { margin: 1em 0; }
  .topBlock03 .suppBox { border: 0.2vw solid #AE0629; border-radius: 2vw; padding: 8vw 3vw 4vw; position: relative; margin: 18vw 0 12vw; }
  .topBlock03 .suppBox h3 { position: absolute; top: -8vw; left: 0; right: 0; margin: auto; background-image: -webkit-linear-gradient( -90deg, rgb(237,43,83) 0%, rgb(174,6,41) 100%); width: 80vw; text-align: center; color: #fff; font-size: 3.4vw; padding: 2vw; border-radius: 3em; line-height: 1.2; }
  .topBlock03 .suppBox h4 { font-size: 4vw; width: -moz-fit-content; width: fit-content; border: 0.4vw solid #000; padding: 2vw 3vw; margin: 0 auto; border-radius: 2em; position: relative; z-index: 1; background: #fff; }
  .topBlock03 .flex .suppBox2 { margin: 2vw 0 3vw; }
  .topBlock03 .suppBox2 { border-radius: 2vw; padding: 3vw 4vw; text-align: center; }
  .topBlock03 .suppBox2 .title1 { font-size: 4vw; font-weight: 700; width: -moz-fit-content; width: fit-content; background: #fff; padding: 1vw 3vw; margin: 0 auto 2vw; border-radius: 1vw; }
  .topBlock03 .suppBox2 .title2 { font-size: 4.4vw; font-weight: 700; line-height: 1.2; }
  .topBlock03 .suppBox2.type01 { background: #e7e1da; }
  .topBlock03 .suppBox2.type02 { background: #dae0e8; }
  .topBlock03 .suppBox2.type03 { background: #eee; margin-top: -3vw; padding-top: 5vw; }
  .topBlock03 .suppBox2.type04 { border: 0.2vw solid #999; }
  .topBlock03 .suppBox2.type04 figure { margin: 0 2vw; }
  .topBlock03 .suppBox2.type04 figure img { width: auto; height: 14vw; }
  .topBlock03 .suppBox2.type04 figcaption { font-size: 3vw; }
  .topBlock03 .suppBox2 .fsL { font-size: 4vw; }
  .topBlock03 .set { display: block; padding: 1vw 5vw; background: #eee; border-radius: 2em; margin: 0 20vw 1vw; }
  .topBlock03 .plus { position: relative; padding-top: 6vw; }
  .topBlock03 .plus::before { position: absolute; content: ""; top: 0; left: 0; right: 0; margin: auto; background: url("../image/icon_plus.svg") no-repeat 0 0 / 4vw auto; width: 4vw; height: 4vw; }
  .topBlock03 .recommend { color: #ae0629; text-align: center; font-weight: 700; margin-bottom: 1vw; }
  .topBlock03 .arrowB { margin-bottom: 13vw; position: relative; }
  .topBlock03 .arrowB::after { position: absolute; content: ""; width: 15vw; height: 6vw; left: 0; right: 0; bottom: -9vw; margin: auto; background: url("../image/arrow_next.svg") no-repeat 0 0 / 15vw auto; }
  .topBlock04 { margin: 7vw 5vw; }
  .topBlock04 p { margin: 1em 0; }
  .topBlock04 .featureBox { border: 0.2vw solid #a0a0a0; margin-top: 3vw; }
  .topBlock04 .featureBox dl { margin: 3vw; }
  .topBlock04 .featureBox dt { font-size: 4vw; margin-bottom: 2vw; font-weight: 700; }
  .topBlock04 .featureBox dd { font-weight: 500; }
}



/*-----------------------------------------------------

企業活動とサイバーリスク

------------------------------------------------------*/
@media (min-width: 768px) {
  .activityBlock01 { margin: 0 auto 80px; width: 1000px; }
  .activityBlock01 p { margin: 1em 0; }
  .activityBlock01 h4 { background: #ae0629; color: #fff; font-size: 2rem; padding: 10px; text-align: center; margin: 0 auto 15px; border-radius: 2em; width: 450px; }
  .activityBlock01 .actiBox { margin: 50px 0 60px; padding: 0 30px 20px; border-radius: 20px; overflow: hidden; border: 1px solid #ae0629; }
  .activityBlock01 .enviBox { width: 458px; padding: 20px 15px; background: #eee; display: flex; justify-content: space-between; flex-wrap: wrap; margin-bottom: 20px; }
  .activityBlock01 .enviBox dt { width: 100%; text-align: center; font-weight: 700; font-size: 2.2rem; }
  .activityBlock01 .enviBox dd { background: #fff; width: 206px; height: 100px; margin-top: 15px; padding: 0 15px; display: flex; align-items: center; font-size: 2rem; line-height: 1.1; border-radius: 10px; }
  .activityBlock01 .enviBox dd i { width: 55px; }
  .activityBlock01 .enviBox dd span { width: 120px; }
  .activityBlock01 .fsLL { font-size: 2.6rem; }
  .activityBlock01 .arrowB { margin-bottom: 40px; padding-bottom: 50px; position: relative; }
  .activityBlock01 .arrowB::after { position: absolute; content: ""; width: 110px; height: 36px; left: 0; right: 0; bottom: 0; margin: auto; background: url("../image/arrow_next.svg") no-repeat; }
  .activityBlock01 .riskTag { width: 220px; height: 70px; display: flex; justify-content: center; align-items: center; padding: 5px 30px; margin-top: 20px; border-radius: 10px; border: 1px solid #999; font-size: 1.8rem; font-weight: 700; text-align: center; line-height: 1.1; }
  .activityBlock01 .riskTag.wide { width: 458px; }
  .activityBlock01 .flowBox { margin: 50px 0 60px; padding: 0 30px 20px; border-radius: 20px; overflow: hidden; border: 1px solid #ae0629; }
  .activityBlock01 .factorBox { width: 458px; padding: 0 13px 13px; }
  .activityBlock01 .factorBox h5 { text-align: center; padding: 12px; font-size: 2.2rem; margin: 0 -13px 20px; }
  .activityBlock01 .factorBox h6 { width: -moz-fit-content; width: fit-content; border: 1px solid #999; font-weight: 500; font-size: 1.6rem; padding: 4px 20px; margin: 0 auto 10px; border-radius: 5px; }
  .activityBlock01 .factorBox hr { margin: 20px 0; }
  .activityBlock01 .factorBox .komeList { font-size: 1.4rem; width: 300px; }
  .activityBlock01 .factorBox .etcList { font-size: 1.4rem; padding: 10px; display: flex; flex-wrap: wrap; margin-top: 20px; }
  .activityBlock01 .factorBox .etcList li { margin-right: 2em; }
  .activityBlock01 .factorBox.naibu { border: 1px solid #e7e1da; }
  .activityBlock01 .factorBox.naibu h5 { background: #e7e1da; }
  .activityBlock01 .factorBox.naibu .etcList { background: #e7e1da; }
  .activityBlock01 .factorBox.gaibu { border: 1px solid #dae0e8; }
  .activityBlock01 .factorBox.gaibu h5 { background: #dae0e8; }
  .activityBlock01 .factorBox.gaibu .etcList { background: #dae0e8; }
  .activityBlock01 .systemBox { margin: 30px 0; background: #eee; padding: 15px 20px; }
  .activityBlock01 .systemBox dt { text-align: center; font-size: 1.8rem; font-weight: 700; padding-bottom: 10px; margin-bottom: 10px; border-bottom: 1px solid #000; }
  .activityBlock01 .caseBox { width: 458px; padding: 13px; border: 1px solid #999; border-radius: 10px; margin-top: 20px; }
  .activityBlock01 .caseBox h5 { text-align: center; font-size: 2rem; margin: 0 0 20px; }
  .activityBlock01 .caseBox .komeList { font-size: 1.4rem; width: 320px; }
  .activityBlock01 .caseBox .etcList { font-size: 1.4rem; padding: 10px; margin-top: 20px; background: #eee; width: auto; }
  .activityBlock01 .hisBox { margin: 50px 0 60px; padding: 0 30px 20px; border-radius: 20px; overflow: hidden; border: 1px solid #ae0629; }
  .activityBlock01 .hisBox h5 { text-align: center; font-size: 2rem; }
  .activityBlock01 .hisBox h5.risk { color: #2b4f81; }
  .activityBlock01 .hisBox h5.cyber { color: #ae0629; }
  .activityBlock01 .hisBox figure { margin: 10px 0; }
  .activityBlock01 .arrowR { position: relative; }
  .activityBlock01 .arrowR::before { width: 0; height: 0; position: absolute; content: ""; border-top: 45px solid transparent; border-bottom: 45px solid transparent; border-left: 30px solid #2b4f81; top: 0; left: 0; right: 0; bottom: 0; margin: auto; }
}
@media (max-width: 767px) {
  .activityBlock01 { margin: 0 5vw 10vw; }
  .activityBlock01 p { margin: 1em 0; }
  .activityBlock01 h4 { background: #ae0629; color: #fff; font-size: 4vw; padding: 2vw; text-align: center; margin: 0 auto; border-radius: 2em; }
  .activityBlock01 .actiBox { margin: 5vw 0 6vw; padding: 0 3vw 2vw; border-radius: 2vw; overflow: hidden; border: 0.2vw solid #ae0629; }
  .activityBlock01 .enviBox { padding: 2vw; background: #eee; margin-bottom: 2vw; }
  .activityBlock01 .enviBox dt { text-align: center; font-weight: 700; font-size: 4.6vw; }
  .activityBlock01 .enviBox dd { background: #fff;margin-top: 2vw; padding: 3vw; display: flex; justify-content: space-between; align-items: center; font-size: 4vw; line-height: 1.1; border-radius: 1vw; }
  .activityBlock01 .enviBox dd i { width: 7vw; text-align: center; }
  .activityBlock01 .enviBox dd span { width: 62vw; }
  .activityBlock01 .fsLL { font-size: 4.6vw; }
  .supplychainBlock01 .arrowB { margin-bottom: 4vw; padding-bottom: 6vw; position: relative; }
  .supplychainBlock01 .arrowB::after { position: absolute; content: ""; width: 11vw; height: 3.6vw; left: 0; right: 0; bottom: 0; margin: auto; background: url("../image/arrow_next.svg") no-repeat 0 0 / 11vw auto; }
  .activityBlock01 .riskTag { width: 40vw; padding: 2vw 3vw; margin-top: 3vw; border-radius: 1vw; border: 0.2vw solid #999; font-size: 4vw; font-weight: 500; text-align: center; line-height: 1.2; display: flex; align-items: center; justify-content: center; }
  .activityBlock01 .riskTag.wide { width: 100%; }
  .activityBlock01 .flowBox { margin: 5vw 0 6vw; padding: 0 3vw 2vw; border-radius: 2vw; overflow: hidden; border: 0.2vw solid #ae0629; }
  .activityBlock01 .factorBox { padding: 0 3vw 3vw; margin-top: 3vw; }
  .activityBlock01 .factorBox h5 { text-align: center; padding: 2vw; font-size: 4.4vw; margin: 0 -3vw 20px; }
  .activityBlock01 .factorBox h6 { width: -moz-fit-content; width: fit-content; border: 0.2vw solid #999; font-weight: 500; font-size: 3.75vw; padding: 1vw 4vw; margin: 0 auto 10px; border-radius: 1vw; }
  .activityBlock01 .factorBox hr { margin: 2vw 0; }
  .activityBlock01 .factorBox figure { margin: 2vw 30vw; }
  .activityBlock01 .factorBox .komeList { font-size: 3.125vw; }
  .activityBlock01 .factorBox .etcList { font-size: 3.125vw; padding: 2vw 0 2vw 2vw; display: flex; flex-wrap: wrap; margin-top: 2vw; }
  .activityBlock01 .factorBox .etcList li { margin-right: 1.5em; }
  .activityBlock01 .factorBox.naibu { border: 0.2vw solid #e7e1da; }
  .activityBlock01 .factorBox.naibu h5 { background: #e7e1da; }
  .activityBlock01 .factorBox.naibu .etcList { background: #e7e1da; }
  .activityBlock01 .factorBox.gaibu { border: 0.2vw solid #dae0e8; }
  .activityBlock01 .factorBox.gaibu h5 { background: #dae0e8; }
  .activityBlock01 .factorBox.gaibu .etcList { background: #dae0e8; }
  .activityBlock01 .systemBox { margin: 3vw 0; background: #eee; padding: 3vw; }
  .activityBlock01 .systemBox dt { text-align: center; font-size: 4vw; font-weight: 700; padding-bottom: 2vw; margin-bottom: 2vw; border-bottom: 0.2vw solid #000; }
  .activityBlock01 .caseBox { padding: 3vw; border: 0.2vw solid #999; border-radius: 1vw; margin-top: 2vw; }
  .activityBlock01 .caseBox h5 { text-align: center; font-size: 2rem; margin: 0 0 20px; }
  .activityBlock01 .caseBox figure { margin: 2vw 30vw; }
  .activityBlock01 .caseBox .komeList { font-size: 3.125vw; }
  .activityBlock01 .caseBox .etcList { font-size: 3.125vw; padding: 2vw; margin-top: 2vw; background: #eee; }
  .activityBlock01 .hisBox { margin: 5vw 0 6vw; padding: 0 3vw 2vw; border-radius: 2vw; overflow: hidden; border: 0.2vw solid #ae0629; }
  .activityBlock01 .hisBox h5 { text-align: center; font-size: 4.4vw; }
  .activityBlock01 .hisBox h5.risk { color: #2b4f81; }
  .activityBlock01 .hisBox h5.cyber { color: #ae0629; }
  .activityBlock01 .hisBox figure { margin: 2vw 0; }
  .activityBlock01 .arrowR { position: relative; }
  .activityBlock01 .arrowR::before { width: 0; height: 0; position: absolute; content: ""; border-left: 6vw solid transparent; border-right: 6vw solid transparent; border-top: 4vw solid #2b4f81; top: calc(50% - 8vw); left: 0; right: 0; margin: auto; }
}



/*-----------------------------------------------------

サイバー保険の基本補償内容

------------------------------------------------------*/
@media (min-width: 768px) {
  .coverageBlock01 { margin: 0 auto 80px; width: 1000px; }
  .coverageBlock01 p { margin: 1em 0; }
  .coverageBlock01 .suppBox { border: 1px solid #AE0629; border-radius: 20px; padding: 70px 40px 40px; position: relative; margin: 60px 0; }
  .coverageBlock01 .suppBox h3 { position: absolute; top: -40px; left: 0; right: 0; margin: auto; background-image: -webkit-linear-gradient( -90deg, rgb(237,43,83) 0%, rgb(174,6,41) 100%); width: 850px; text-align: center; color: #fff; font-size: 2.4rem; padding: 15px; border-radius: 2em; line-height: 1.2; }
  .coverageBlock01 .suppBox h4 { font-size: 2.4rem; width: -moz-fit-content; width: fit-content; border: 2px solid #000; padding: 12px 30px; margin: 0 auto; border-radius: 2em; position: relative; z-index: 1; background: #fff; }
  .coverageBlock01 .flex .suppBox2 { width: 440px; margin: 15px 0 25px; }
  .coverageBlock01 .suppBox2 { border-radius: 20px; padding: 30px 40px; text-align: center; }
  .coverageBlock01 .suppBox2 a { display: block; text-align: center; background: #fff; border: 1px solid #ccc; text-decoration: none; position: relative; max-width: 360px; margin: 0 auto; font-weight: 500; }
  .coverageBlock01 .suppBox2 a::before { position: absolute; content: ""; width: 20px; height: 20px; top: 0; bottom: 0; left: 20px; margin: auto; }
  .coverageBlock01 .suppBox2 a::after { position: absolute; content: ""; width: 20px; height: 20px; top: 0; bottom: 0; right: 20px; margin: auto; }
  .coverageBlock01 .suppBox2.type01 a,
  .coverageBlock01 .suppBox2.type02 a { padding: 15px 15px 15px 40px; }
  .coverageBlock01 .suppBox2.type03 a { padding: 15px 40px 15px 15px; }
  .coverageBlock01 .suppBox2.type01 a::before { background: url("../image/icon_arrow_brown.svg") no-repeat; -webkit-transform: rotate(90deg); transform: rotate(90deg); }
  .coverageBlock01 .suppBox2.type02 a::before { background: url("../image/icon_arrow_blue.svg") no-repeat; -webkit-transform: rotate(90deg); transform: rotate(90deg); }
  .coverageBlock01 .suppBox2.type03 a::after { background: url("../image/icon_arrow_red.svg") no-repeat; }
  .coverageBlock01 .suppBox2 .title1 { font-size: 2rem; font-weight: 700; width: -moz-fit-content; width: fit-content; background: #fff; padding: 10px 30px; margin: 0 auto 15px; border-radius: 10px; }
  .coverageBlock01 .suppBox2 .title2 { font-size: 3.6rem; font-weight: 700; line-height: 1.2; }
  .coverageBlock01 .suppBox2.type01 { background: #e7e1da; }
  .coverageBlock01 .suppBox2.type02 { background: #dae0e8; }
  .coverageBlock01 .suppBox2.type03 { background: #eee; margin-top: -30px; padding-top: 50px; }
  .coverageBlock01 .suppBox2.type04 { border: 1px solid #999; }
  .coverageBlock01 .suppBox2.type04 figure { margin: 0 15px; }
  .coverageBlock01 .suppBox2.type03 .title2  { font-size: 2.6rem; }
  .coverageBlock01 .set { font-size: 1.6rem; display: inline-block; padding: 5px 10px; background: #eee; border-radius: 2em; margin-right: 1em; }
  .coverageBlock01 .plus { position: relative; padding-top: 60px; }
  .coverageBlock01 .plus::before { position: absolute; content: ""; top: 0; left: 0; right: 0; margin: auto; background: url("../image/icon_plus.svg") no-repeat; width: 40px; height: 40px; }
  .coverageBlock01 .recommend { color: #ae0629; text-align: center; font-weight: 700; font-size: 2.2rem; margin-bottom: 5px; }
  .coverageBlock01 .arrowB { margin-bottom: 75px; position: relative; }
  .coverageBlock01 .arrowB::after { position: absolute; content: ""; width: 110px; height: 36px; left: 0; right: 0; bottom: -50px; margin: auto; background: url("../image/arrow_next.svg") no-repeat; }

  .coverageBlock02 { margin: 60px auto 50px; width: 1000px; }
  .coverageBlock02 p { margin: 1em 0; }
  .coverageBlock02 h3 { font-size: 2rem; margin: 1.5em 0 0.5em; }
  .coverageBlock02 table { border-collapse: collapse; margin: 10px 0; width: 100%; }
  .coverageBlock02 table th { border: 1px solid #000; padding: 10px; background: #eee; font-weight: 500; font-size: 1.8rem; text-align: center; }
  .coverageBlock02 table td { border: 1px solid #000; padding: 10px; }

  .coverageBlock03 { margin: 0 auto 130px; width: 1000px; background: #eee; padding: 0 25px 25px; line-height: 1.8; position: relative; }
  .coverageBlock03 h2 { background: #2b4f81; margin: 0 -25px; color: #fff; font-size: 2rem; padding: 15px 25px; line-height: 1.4; }
  .coverageBlock03 h3 { font-size: 1.8rem; margin-top: 25px; }
  .coverageBlock03 .etc { position: relative; }
  .coverageBlock03 .etc::after { position: absolute; bottom: 0; right: 0; content: "など"; }
  .coverageBlock03 p.notice { position: absolute; bottom: -2.5em; left: 0; }

  .coverageBlock04 { margin: 90px auto; width: 1000px; }
  .coverageBlock04 h3 { font-size: 3.4rem; text-align: center; margin-bottom: 30px;  }
  .coverageBlock04 .bgWhite { background: #fff; border-radius: 20px; padding: 40px; }
  .coverageBlock04 .topics { margin-bottom: 40px; display: flex; justify-content: space-between; align-items: center; }
  .coverageBlock04 .topics dt { width: 230px; height: 190px; display: flex; justify-content: center; align-items: center; font-size: 2.4rem; font-weight: 700; text-align: center; background: #eee; border-radius: 10px; }
  .coverageBlock04 .topics dt.type01 { background: #e7e1da; }
  .coverageBlock04 .topics dt.type02 { background: #dae0e8; }
  .coverageBlock04 .topics dd { width: 660px; font-size: 1.8rem; }
  .coverageBlock04 .noticeBox1 { border: 1px solid #999; padding: 20px; border-radius: 10px; margin: 15px 0; width: 440px; display: flex; flex-direction: row-reverse; flex-wrap: wrap; justify-content: space-between; }
  .coverageBlock04 .noticeBox1.wide { width: 920px; }
  .coverageBlock04 .noticeBox1 dt { font-size: 2.4rem; font-weight: 700; width: 100%; }
  .coverageBlock04 .noticeBox1 dd { font-size: 1.8rem; }
  .coverageBlock04 .noticeBox1 dd:last-child { width: 220px; }
  .coverageBlock04 .noticeBox1.wide dd:last-child { width: 700px; }
  .coverageBlock04 .noticeBox1 .ex { background: #eee; padding: 10px; font-size: 1.2rem; padding-left: 3em; text-indent: -2em; margin-top: 10px; }
  .coverageBlock04 .result { position: relative; padding-top: 60px; text-align: center; font-weight: 700; font-size: 2.2rem; padding-left: 120px; margin-top: 30px; }
  .coverageBlock04 .result::before { width: 0; height: 0; position: absolute; content: ""; border-left: 45px solid transparent; border-right: 45px solid transparent; border-top: 30px solid #2b4f81; top: 0; left: 0; right: 0; margin: auto; }
  .coverageBlock04 .result::after { width: 123px; height: 106px; position: absolute; content: ""; bottom: 0; left: 210px; background: url("../image/coverage_img09.svg") no-repeat; }
  .coverageBlock04 .noticeBox2 { border: 1px solid #999; padding: 20px; border-radius: 10px; margin-top: 20px; width: 440px; font-size: 1.4rem; font-weight: 500; }
  .coverageBlock04 .noticeBox2 dl { display: flex; flex-direction: row-reverse; flex-wrap: wrap; justify-content: space-between; }
  .coverageBlock04 .noticeBox2 dt { font-size: 2rem; font-weight: 700; width: 100%; text-align: center; margin-bottom: 15px; }
  .coverageBlock04 .noticeBox2 dd:last-child { width: 310px; }
  .coverageBlock04 .noticeBox2 .tag { display: flex; margin: 10px 0; }
  .coverageBlock04 .noticeBox2 .tag li { border: 1px solid #000; padding: 4px 14px; border-radius: 10px; }
  .coverageBlock04 .noticeBox2 .tag li:not(:last-child) { margin-right: 10px; }
  .coverageBlock04 .noticeBox2 .komeList { background: #eee; padding: 10px; }
  .coverageBlock04 .gfpr { text-align: center; font-weight: 700; background: #ae0629; color: #fff; width: -moz-fit-content; width: fit-content; margin: 0 auto 5px; padding: 3px 10px; }
}
@media (max-width: 767px) {
  .coverageBlock01 { margin: 0 5vw 10vw; }
  .coverageBlock01 p { margin: 1em 0; }
  .coverageBlock01 .suppBox { border: 1px solid #AE0629; border-radius: 2vw; padding: 10vw 3vw 4vw; position: relative; margin: 12vw 0; }
  .coverageBlock01 .suppBox h3 { position: absolute; top: -8vw; left: 0; right: 0; margin: auto; background-image: -webkit-linear-gradient( -90deg, rgb(237,43,83) 0%, rgb(174,6,41) 100%); width: 80vw; text-align: center; color: #fff; font-size: 3.4vw; padding: 2vw; border-radius: 3em; line-height: 1.2; }

  .coverageBlock01 .suppBox h4 { font-size: 4vw; width: -moz-fit-content; width: fit-content; border: 0.4vw solid #000; padding: 2vw 3vw; margin: 0 auto; border-radius: 2em; position: relative; z-index: 1; background: #fff; }
  .coverageBlock01 .flex .suppBox2 { margin: 2vw 0 3vw; }
  .coverageBlock01 .suppBox2 a { display: block; text-align: center; background: #fff; border: 1px solid #ccc; text-decoration: none; position: relative; font-size: 3.125vw; font-weight: 500; }
  .coverageBlock01 .suppBox2 a::before { position: absolute; content: ""; width: 4vw; height: 4vw; top: 0; bottom: 0; left: 4vw; margin: auto; }
  .coverageBlock01 .suppBox2 a::after { position: absolute; content: ""; width: 4vw; height: 4vw; top: 0; bottom: 0; right: 4vw; margin: auto; }
  .coverageBlock01 .suppBox2.type01 a,
  .coverageBlock01 .suppBox2.type02 a { padding: 2vw 2vw 2vw 5vw; }
  .coverageBlock01 .suppBox2.type03 a { padding: 2vw 2vw 2vw 2vw; }
  .coverageBlock01 .suppBox2.type01 a::before { background: url("../image/icon_arrow_brown.svg") no-repeat 0 0 / 4vw auto; -webkit-transform: rotate(90deg); transform: rotate(90deg); }
  .coverageBlock01 .suppBox2.type02 a::before { background: url("../image/icon_arrow_blue.svg") no-repeat 0 0 / 4vw auto; -webkit-transform: rotate(90deg); transform: rotate(90deg); }
  .coverageBlock01 .suppBox2.type03 a::after { background: url("../image/icon_arrow_red.svg") no-repeat 0 0 / 4vw auto; }
  .coverageBlock01 .suppBox2 { border-radius: 2vw; padding: 3vw 4vw; text-align: center; }
  .coverageBlock01 .suppBox2 .title1 { font-size: 4vw; font-weight: 700; width: -moz-fit-content; width: fit-content; background: #fff; padding: 1vw 3vw; margin: 0 auto 2vw; border-radius: 1vw; }
  .coverageBlock01 .suppBox2 .title2 { font-size: 4.4vw; font-weight: 700; line-height: 1.2; }
  .coverageBlock01 .suppBox2.type01 { background: #e7e1da; }
  .coverageBlock01 .suppBox2.type02 { background: #dae0e8; }
  .coverageBlock01 .suppBox2.type03 { background: #eee; margin-top: -3vw; padding-top: 5vw; }
  .coverageBlock01 .suppBox2.type04 { border: 0.2vw solid #999; }
  .coverageBlock01 .suppBox2.type04 figure { margin: 0 2vw; }
  .coverageBlock01 .suppBox2.type04 figure img { width: auto; height: 14vw; }
  .coverageBlock01 .suppBox2.type04 figcaption { font-size: 3vw; }
  .coverageBlock01 .suppBox2 .fsL { font-size: 4vw; }
  .coverageBlock01 .set { display: block; padding: 1vw 5vw; background: #eee; border-radius: 2em; margin: 0 20vw 1vw; }
  .coverageBlock01 .plus { position: relative; padding-top: 6vw; }
  .coverageBlock01 .plus::before { position: absolute; content: ""; top: 0; left: 0; right: 0; margin: auto; background: url("../image/icon_plus.svg") no-repeat 0 0 / 4vw auto; width: 4vw; height: 4vw; }
  .coverageBlock01 .recommend { color: #ae0629; text-align: center; font-weight: 700; margin-bottom: 1vw; }
  .coverageBlock01 .arrowB { margin-bottom: 13vw; position: relative; }
  .coverageBlock01 .arrowB::after { position: absolute; content: ""; width: 15vw; height: 6vw; left: 0; right: 0; bottom: -9vw; margin: auto; background: url("../image/arrow_next.svg") no-repeat 0 0 / 15vw auto; }

  .coverageBlock02 { margin: 6vw 5vw 5vw; }
  .coverageBlock02 p { margin: 1em 0; }
  .coverageBlock02 h3 { font-size: 4.4vw; margin: 1.5em 0 0.5em; }
  .coverageBlock02 table { border-collapse: collapse; margin: 1vw 0; width: 100%; }
  .coverageBlock02 table th { border: 1px solid #000; padding: 1vw; background: #eee; font-weight: 500; font-size: 4vw; text-align: center; }
  .coverageBlock02 table td { border: 1px solid #000; padding: 1vw; }

  .coverageBlock03 { margin: 0 5vw 30vw; background: #eee; padding: 0 3vw 3vw; line-height: 1.8; position: relative; }
  .coverageBlock03 h2 { background: #2b4f81; margin: 0 -3vw; color: #fff; font-size: 5vw; padding: 2vw 3vw; line-height: 1.4; }
  .coverageBlock03 h3 { font-size: 4.4vw; margin-top: 3vw; }
  .coverageBlock03 .etc { position: relative; }
  .coverageBlock03 .etc::after { position: absolute; bottom: 0; right: 0; content: "など"; }
  .coverageBlock03 p.notice { position: absolute; bottom: -6em; left: 0; }

  .coverageBlock04 { margin: 9vw 5vw; }
  .coverageBlock04 h3 { font-size: 5.6vw; text-align: center; margin-bottom: 3vw;  }
  .coverageBlock04 .bgWhite { background: #fff; border-radius: 2vw; padding: 4vw; }
  .coverageBlock04 .topics { margin-bottom: 4vw; }
  .coverageBlock04 .topics dt { font-size: 5vw; font-weight: 700; text-align: center; background: #eee; border-radius: 1vw; padding: 3vw 0; margin-bottom: 3vw; }
  .coverageBlock04 .topics dt.type01 { background: #e7e1da; }
  .coverageBlock04 .topics dt.type02 { background: #dae0e8; }
  .coverageBlock04 .noticeBox1 { border: 0.2vw solid #999; padding: 2vw; border-radius: 1vw; margin: 3vw 0 1vw; display: flex; flex-direction: row-reverse; flex-wrap: wrap; justify-content: space-between; }
  .coverageBlock04 .noticeBox1 dt { font-size: 4.4vw; font-weight: 700; width: 100%; margin-bottom: 1.4vw; }
  .coverageBlock04 .noticeBox1 dd img { width: 20vw; }
  .coverageBlock04 .noticeBox1 dd:last-child { width: 50vw; }
  .coverageBlock04 .noticeBox1 .ex { background: #eee; padding: 2vw 2vw 2vw 3em; font-size: 2.8vw; text-indent: -2em; margin-top: 2vw; width: 76vw; }
  .coverageBlock04 .result { position: relative; padding-top: 6vw; text-align: center; font-weight: 700; font-size: 4vw; padding-left: 12vw; margin-top: 3vw; }
  .coverageBlock04 .result::before { width: 0; height: 0; position: absolute; content: ""; border-left: 6vw solid transparent; border-right: 6vw solid transparent; border-top: 4vw solid #2b4f81; top: 0; left: 0; right: 0; margin: auto; }
  .coverageBlock04 .result::after { width: 12vw; height: 10vw; position: absolute; content: ""; bottom: 0; left: 0; background: url("../image/coverage_img09.svg") no-repeat 0 0 / 12vw auto; }
  .coverageBlock04 .noticeBox2 { border: 0.2vw solid #999; padding: 2vw; border-radius: 1vw; margin: 3vw 0 1vw; font-weight: 500; }
  .coverageBlock04 .noticeBox2 dl { display: flex; flex-direction: row-reverse; flex-wrap: wrap; justify-content: space-between; }
  .coverageBlock04 .noticeBox2 dt { font-size: 2rem; font-weight: 700; width: 100%; text-align: center; margin-bottom: 15px; }
  .coverageBlock04 .noticeBox2 dd img { width: 20vw; }
  .coverageBlock04 .noticeBox2 dd:last-child { width: 50vw; }
  .coverageBlock04 .noticeBox2 .tag { display: flex; flex-wrap: wrap; margin: 2vw 0; font-size: 3.4vw;}
  .coverageBlock04 .noticeBox2 .tag li { border: 0.2vw solid #000; padding: 1vw 2vw; margin-right: 1vw; border-radius: 1vw; }
  .coverageBlock04 .noticeBox2 .komeList { background: #eee; padding: 2vw; }
  .coverageBlock04 .gfpr { text-align: center; font-weight: 700; background: #ae0629; color: #fff; width: -moz-fit-content; width: fit-content; margin: 0 auto 5px; padding: 1vw 2vw; font-size: 3.4vw; }
}


/*-----------------------------------------------------

オプション補償

------------------------------------------------------*/
@media (min-width: 768px) {
  .optionsBlock01 { margin: 0 auto 100px; width: 1000px; }
  .optionsBlock01 p { margin: 1em 0; }
  .optionsBlock01 .opBox { margin: 50px 0 60px; padding: 0 30px 20px; border-radius: 20px; overflow: hidden; border: 1px solid #ae0629; font-size: 1.8rem; }
  .optionsBlock01 .opBox h4 { font-size: 2.2rem; margin-bottom: 20px; }
  .optionsBlock01 .caseBox { border-radius: 10px; border: 1px solid #ae0629; padding: 50px 30px 30px; margin: 50px 0 20px; position: relative; }
  .optionsBlock01 .caseBox h5 { position: absolute; top: -25px; left: 0; right: 0; background: #ae0629; color: #fff; font-size: 2rem; padding: 10px; text-align: center; margin: auto; border-radius: 2em; width: 630px; }
  .optionsBlock01 .caseBox dl { display: flex; flex-direction: row-reverse; }
  .optionsBlock01 .caseBox dt { width: 190px; text-align: right; }
  .optionsBlock01 .caseBox dd { width: 690px; }
  .optionsBlock01 .caseBox hr { border: none; border-top: 1px #ae0629 solid; height: 1px; margin: 20px 0; }
  .optionsBlock01 .typeBox { border: 1px solid #999; display: flex; align-items: center; margin: 15px 0; background: #eee; }
  .optionsBlock01 .typeBox dt { font-weight: 700; width: 140px; padding: 15px; text-align: center; }
  .optionsBlock01 .typeBox dd { background: #fff; width: 800px; padding: 15px; }
  .optionsBlock01 .flex dt { width: 190px; text-align: right; }
  .optionsBlock01 .flex dd { width: 740px; }
  .optionsBlock01 .whatsBox { background: #eee; padding: 20px 30px 30px; font-size: 1.6rem; margin-top: 30px; }
  .optionsBlock01 .whatsBox h5 { font-size: 1.8rem; }
  .optionsBlock01 .whatsBox figure { padding: 20px; text-align: center; background: #fff; }
}
@media (max-width: 767px) {
  .optionsBlock01 { margin: 0 5vw 10vw; }
  .optionsBlock01 p { margin: 1em 0; }
  .optionsBlock01 .opBox { margin: 5vw 0 6vw; padding: 0 3vw 2vw; border-radius: 2vw; overflow: hidden; border: 1px solid #ae0629; }
  .optionsBlock01 .opBox h4 { font-size: 4.4vw; margin-bottom: 2vw; }
  .optionsBlock01 .caseBox { border-radius: 1vw; border: 0.2vw solid #ae0629; padding: 12vw 3vw 3vw; margin: 10vw 0 2vw; position: relative; }
  .optionsBlock01 .caseBox h5 { position: absolute; top: -8vw; left: 0; right: 0; background: #ae0629; color: #fff; font-size: 4vw; padding: 2vw; text-align: center; margin: auto; border-radius: 2em; width: 74vw; }
  .optionsBlock01 .caseBox dt { text-align: center; margin-bottom: 3vw; }
  .optionsBlock01 .caseBox dt img { width: 30vw; }
  .optionsBlock01 .caseBox hr { border: none; border-top: 0.2vw #ae0629 solid; height: 0.2vw; margin: 3vw 0; }
  .optionsBlock01 .typeBox { border: 0.2vw solid #999; margin: 2vw 0; }
  .optionsBlock01 .typeBox dt { font-weight: 700; padding: 2vw; text-align: center; background: #eee; }
  .optionsBlock01 .typeBox dd { padding: 2vw; }
  .optionsBlock01 .flex dt { text-align: center; margin-bottom: 3vw; }
  .optionsBlock01 .flex dt img { width: 30vw; }
  .optionsBlock01 .whatsBox { background: #eee; padding: 4vw; margin-top: 4vw; }
  .optionsBlock01 .whatsBox h5 { font-size: 4vw; }
  .optionsBlock01 .whatsBox figure { padding: 3vw; background: #fff; }
}


/*-----------------------------------------------------

保険料例とお支払いする保険金例

------------------------------------------------------*/
@media (min-width: 768px) {
  .feeBlock01 { margin: 0 auto 100px; width: 1000px; }
  .feeBlock01 p { margin: 1em 0; }
  .feeBlock01 .termsBox { background: #eee; padding: 30px 40px; }
  .feeBlock01 .termsBox h3 { display: inline-block; color: #fff; background: #ae0629; margin-bottom: 10px; padding: 8px 15px; font-size: 2rem; }
  .feeBlock01 .termsBox p:not(.komeTxt) { border-bottom: 1px solid #ae0629; margin: 0 !important; padding: 12px 0; font-size: 1.8rem; font-weight: 500; }
  .feeBlock01 .arrowB { margin-bottom: 135px; position: relative; }
  .feeBlock01 .arrowB::after { position: absolute; content: ""; width: 110px; height: 36px; left: 0; right: 0; bottom: -70px; margin: auto; background: url("../image/arrow_next.svg") no-repeat; }
  .feeBlock01 table { border-collapse: collapse; margin: 25px 0 15px; width: 100%; line-height: 1.4; font-size: 2rem; }
  .feeBlock01 table caption { font-weight: 700; text-align: left; margin-bottom: 8px; }
  .feeBlock01 table th { border: 2px solid #fff; padding: 10px; background: #2b4f81; color: #fff; }
  .feeBlock01 table td { border: 2px solid #fff; padding: 10px 20px; background: #dfe5ec; font-weight: 500; }
  .feeBlock01 .caseBox { background: #dfe5ec; padding: 20px 30px; display: flex; justify-content: space-between; margin: 90px 0 10px; position: relative; }
  .feeBlock01 .caseBox h3 { width: 169px; height: 169px; position: absolute; top: -90px; right: 10px; }
  .feeBlock01 .caseBox dl { background: #fff; width: 205px; padding: 10px; }
  .feeBlock01 .caseBox dl:last-child { width: 485px; }
  .feeBlock01 .caseBox dt { color: #2b4f81; font-weight: 700; font-size: 2rem; margin-bottom: 10px; }
  .feeBlock01 .caseBox dd { font-weight: 500; }
  .feeBlock01 .resultBox { margin-top: 50px; padding: 20px 35px; font-size: 2.2rem; font-weight: 700; border: 1px solid #2b4f81; box-shadow: 0px 5px 0px 0px #2b4f81; border-radius: 10px; margin-bottom: 100px; position: relative; }
  .feeBlock01 .resultBox::before { width: 0; height: 0; position: absolute; content: ""; border-left: 45px solid transparent; border-right: 45px solid transparent; border-top: 30px solid #2b4f81; top: -40px; left: 0; right: 0; margin: auto; }
}
@media (max-width: 767px) {
  .feeBlock01 { margin: 0 5vw 10vw; }
  .feeBlock01 p { margin: 1em 0; }
  .feeBlock01 .termsBox { background: #eee; padding: 4vw; }
  .feeBlock01 .termsBox h3 { display: inline-block; color: #fff; background: #ae0629; margin-bottom: 2vw; padding: 1vw 2vw; font-size: 4.3vw; }
  .feeBlock01 .termsBox p:not(.komeTxt) { border-bottom: 0.2vw solid #ae0629; margin: 0 !important; padding: 2vw 0; font-size: 4vw; font-weight: 500; }
  .feeBlock01 .arrowB { margin-bottom: 13vw; position: relative; }
  .feeBlock01 .arrowB::after { position: absolute; content: ""; width: 15vw; height: 6vw; left: 0; right: 0; bottom: -9vw; margin: auto; background: url("../image/arrow_next.svg") no-repeat 0 0 / 15vw auto; }
  .feeBlock01 table { border-collapse: collapse; margin: 3vw 0 1vw; width: 100%; line-height: 1.4; }
  .feeBlock01 table caption { font-weight: 700; text-align: left; margin-bottom: 8px; }
  .feeBlock01 table th { border: 1px solid #fff; padding: 2vw; background: #2b4f81; color: #fff; }
  .feeBlock01 table td { border: 1px solid #fff; padding: 2vw 3vw; background: #dfe5ec; font-weight: 500; }
  .feeBlock01 .caseBox { background: #dfe5ec; padding: 4vw 4vw 1vw; margin: 12vw 0 2vw; position: relative; }
  .feeBlock01 .caseBox h3 { width: 26vw; height: 26vw; position: absolute; top: -10vw; right: 1vw; }
  .feeBlock01 .caseBox dl { background: #fff; padding: 3vw; margin-bottom: 3vw; }
  .feeBlock01 .caseBox dt { color: #2b4f81; font-weight: 700; font-size: 4vw; margin-bottom: 2vw; }
  .feeBlock01 .caseBox dd { font-weight: 500; }
  .feeBlock01 .resultBox { margin-top: 8vw; padding: 2vw 3vw; font-size: 4.4; font-weight: 700; border: 0.2vw solid #2b4f81; box-shadow: 0px 1vw 0px 0px #2b4f81; border-radius: 2vw; margin-bottom: 10vw; position: relative; }
  .feeBlock01 .resultBox::before { width: 0; height: 0; position: absolute; content: ""; border-left: 6vw solid transparent; border-right: 6vw solid transparent; border-top: 4vw solid #2b4f81; top: -6vw; left: 0; right: 0; margin: auto; }
}


/*-----------------------------------------------------

緊急時サポート総合サービス

------------------------------------------------------*/
@media (min-width: 768px) {
  .supportBlock01 { margin: 0 auto 100px; width: 1000px; }
  .supportBlock01 p { margin: 1em 0; }
  .supportBlock01 .troubleBox dt { font-size: 3rem; font-weight: 700; text-align: center; margin-bottom: 20px; }
  .supportBlock01 .troubleBox dd { padding-left: 210px; position: relative; }
  .supportBlock01 .troubleBox dd::before { position: absolute; content: ""; width: 209px; height: 148px; left: 0; bottom: 0; background: url("../image/support_img01.png") no-repeat; }
  .supportBlock01 .troubleBox ul { display: flex; }
  .supportBlock01 .troubleBox li { margin-left: 20px; width: 245px; border-radius: 20px; background: #eee; padding: 20px; font-size: 2.2rem; text-align: center; }
  .supportBlock01 .arrowB { margin-bottom: 65px; padding-bottom: 70px; position: relative; }
  .supportBlock01 .arrowB::after { position: absolute; content: ""; width: 110px; height: 36px; left: 0; right: 0; bottom: 0; margin: auto; background: url("../image/arrow_next.svg") no-repeat; }
  .supportBlock01 .serviceBox { border: 1px solid #AE0629; border-radius: 20px; padding: 60px 25px 40px; position: relative; margin: 60px 0; }
  .supportBlock01 .serviceBox h3 { position: absolute; top: -40px; left: 0; right: 0; margin: auto; background-image: -webkit-linear-gradient( -90deg, rgb(237,43,83) 0%, rgb(174,6,41) 100%); width: 600px; text-align: center; color: #fff; font-size: 2.4rem; padding: 15px; border-radius: 2em; line-height: 1.2; }
  .supportBlock01 .serviceBox h3 span { font-size: 1.6rem; }
  .supportBlock01 .serviceBox dl { border: 1px solid #999; padding: 13px 10px; border-radius: 10px; width: 180px; font-size: 1.4rem; }
  .supportBlock01 .serviceBox dt { border-radius: 10px; background: #eee; margin-bottom: 10px; padding: 10px; height: 90px; display: flex; justify-content: center; align-items: center; text-align: center; }
  .supportBlock01 .serviceBox dd { font-weight: 500; }
  .supportBlock02 { margin: 0 auto 100px; width: 1000px; border: 1px solid #2b4f81; }
  .supportBlock02 h3 { margin-bottom: 20px; padding: 20px; color: #fff; font-size: 2.4rem; text-align: center; background: #2b4f81; }
  .supportBlock02 figure { margin: 40px; }
}
@media (max-width: 767px) {
  .supportBlock01 { margin: 0 5vw 10vw; }
  .supportBlock01 p { margin: 1em 0; }
  .supportBlock01 .troubleBox dt { font-size: 4.3vw; font-weight: 700; text-align: center; margin-bottom: 2vw; }
  .supportBlock01 .troubleBox dd { padding-bottom: 25vw; position: relative; }
  .supportBlock01 .troubleBox dd::before { position: absolute; content: ""; width: 30vw; height: 25vw; left: 0; right: 0; margin: auto; bottom: 0; background: url("../image/support_img01.png") no-repeat 0 100% / 30vw auto; }
  .supportBlock01 .troubleBox li { margin-top: 2vw; border-radius: 2vw; background: #eee; padding: 2vw; text-align: center; }
  .supportBlock01 .arrowB { margin-bottom: 4vw; padding-bottom: 8vw; position: relative; }
  .supportBlock01 .arrowB::after { position: absolute; content: ""; width: 11vw; height: 3.6vw; left: 0; right: 0; bottom: 0; margin: auto; background: url("../image/arrow_next.svg") no-repeat 0 0 / 11vw auto; }
  .supportBlock01 .serviceBox { border: 1px solid #AE0629; border-radius: 2vw; padding: 6vw 3vw 4vw; position: relative; margin: 12vw 0; }
  .supportBlock01 .serviceBox h3 { position: absolute; top: -8vw; left: 0; right: 0; margin: auto; background-image: -webkit-linear-gradient( -90deg, rgb(237,43,83) 0%, rgb(174,6,41) 100%); width: 80vw; text-align: center; color: #fff; font-size: 3.4vw; padding: 2vw; border-radius: 3em; line-height: 1.2; }
  .supportBlock01 .serviceBox h3 span { font-size: 3.1vw; }
  .supportBlock01 .serviceBox dl { border: 0.2vw solid #999; padding: 3vw; border-radius: 1vw; font-size: 3.4vw; margin-top: 3vw; }
  .supportBlock01 .serviceBox dt { border-radius: 1vw; background: #eee; margin-bottom: 2vw; padding: 2vw; text-align: center; }
  .supportBlock01 .serviceBox dd { font-weight: 500; }
  .supportBlock02 { border: 1px solid #2b4f81; margin: 0 5vw 10vw; padding-bottom: 1vw; }
  .supportBlock02 h3 { margin-bottom: 4vw; padding: 2vw; color: #fff; font-size: 4vw; text-align: center; background: #2b4f81; }
  .supportBlock02 figure { margin: 4vw; }
}


/*-----------------------------------------------------

GDPR対応支援サービス

------------------------------------------------------*/
@media (min-width: 768px) {
  .gdprBlock01 { margin: 0 auto 100px; width: 1000px; }
  .gdprBlock01 p { margin: 1em 0; }
  .gdprBlock01 .exampleBox { border: 1px solid #ae0629; padding: 30px; margin-bottom: 80px; }
  .gdprBlock01 .exampleBox h3 { margin: 0 240px 20px; padding: 10px; text-align: center; font-size: 2rem; border-radius: 2em; color: #fff; background: #ae0629; }
  .gdprBlock01 .example2Box { padding: 20px; background: #f6f7f7; }
  .gdprBlock01 .example2Box dt { text-align: center; border-bottom: 1px solid #000; font-weight: 700; margin-bottom: 15px; padding-bottom: 10px; font-size: 1.8rem; }
  .gdprBlock01 .example2Box dt span { font-size: 1.6rem; color: #fff; background: #2b4f81; font-weight: 500; border-radius: 5px; padding: 5px 15px; margin-right: 0.5em; }
  .gdprBlock01 cite { font-size: 1.2rem; font-style: normal; }
  .gdprBlock01 .title { font-weight: 700; font-size: 2rem; margin: 40px 0 25px; position: relative; padding-left: 17px; }
  .gdprBlock01 .title::before { position: absolute; content: ""; width: 7px; height: 25px; background: #ae0629; top: 0; bottom: 0; left: 0; margin: auto; }
}
@media (max-width: 767px) {
  .gdprBlock01 { margin: 0 5vw 10vw; }
  .gdprBlock01 p { margin: 1em 0; }
  .gdprBlock01 .exampleBox { border: 0.2vw solid #ae0629; padding: 3vw; margin-bottom: 8vw; }
  .gdprBlock01 .exampleBox h3 { margin: 0 0 2vw; padding: 1vw; text-align: center; font-size: 4.3vw; border-radius: 2em; color: #fff; background: #ae0629; }
  .gdprBlock01 .example2Box { padding: 4vw; background: #f6f7f7; }
  .gdprBlock01 .example2Box dt { text-align: center; border-bottom: 0.2vw solid #000; font-weight: 700; margin-bottom: 2vw; padding-bottom: 1vw; font-size: 4vw; }
  .gdprBlock01 .example2Box dt span { font-size: 3.75vw; color: #fff; background: #2b4f81; font-weight: 500; border-radius: 1vw; padding: 1vw; margin: 0 20vw 0.5em; display: block; }
  .gdprBlock01 cite { font-size: 2.8vw; font-style: normal; }
  .gdprBlock01 .title { font-weight: 700; font-size: 4.3vw; margin: 5vw 0 2vw; position: relative; padding-left: 2.2vw; }
  .gdprBlock01 .title::before { position: absolute; content: ""; width: 1.2vw; height: 5vw; background: #ae0629; top: 0; bottom: 0; left: 0; margin: auto; }
}


/*-----------------------------------------------------

グループ・サプライチェーン包括団体保険

------------------------------------------------------*/
@media (min-width: 768px) {
  .supplychainBlock01 { margin: 0 auto 100px; width: 1000px; }
  .supplychainBlock01 p { margin: 1em 0; }
  .supplychainBlock01 .featureBox { border: 1px solid #a0a0a0; border-radius: 10px; width: 490px; padding: 30px 25px 25px; margin: 30px 0; }
  .supplychainBlock01 .featureBox dt { margin: 0 50px 20px; padding: 10px; text-align: center; font-size: 2rem; border-radius: 2em; background: #eee; font-weight: 700; }
  .supplychainBlock01 .featureBox dd { margin-top: 20px; }
  .supplychainBlock01 .fsLL { font-size: 2.6rem; }
  .supplychainBlock01 .arrowB { margin-bottom: 40px; padding-bottom: 55px; position: relative; }
  .supplychainBlock01 .arrowB::after { position: absolute; content: ""; width: 110px; height: 36px; left: 0; right: 0; bottom: 0; margin: auto; background: url("../image/arrow_next.svg") no-repeat; }
  .supplychainBlock01 .meritBox { border: 1px solid #a0a0a0; width: 490px; margin: 10px 0; }
  .supplychainBlock01 .meritBox dd { padding: 20px; }
  .supplychainBlock01 .disBox li { border-top: 4px solid #ae0629; border-right: 4px solid #2b4f81; border-bottom: 4px solid #2b4f81; border-left: 4px solid #ae0629; border-radius: 20px; margin-top: 20px; padding: 30px; font-size: 1.8rem; }
}
@media (max-width: 767px) {
  .supplychainBlock01 { margin: 0 5vw 10vw; }
  .supplychainBlock01 p { margin: 1em 0; }
  .supplychainBlock01 .featureBox { border: 0.2vw solid #a0a0a0; border-radius: 1vw; padding: 3vw; margin: 3vw 0; }
  .supplychainBlock01 .featureBox dt { margin: 0 5vw 2vw; padding: 1vw; text-align: center; font-size: 4.3vw; border-radius: 2em; background: #eee; font-weight: 700; }
  .supplychainBlock01 .featureBox dd img { width: 30vw; }
  .supplychainBlock01 .featureBox dd { margin-top: 3vw; }
  .supplychainBlock01 .fsLL { font-size: 4.6vw; }
  .supplychainBlock01 .arrowB { margin-bottom: 4vw; padding-bottom: 6vw; position: relative; }
  .supplychainBlock01 .arrowB::after { position: absolute; content: ""; width: 11vw; height: 3.6vw; left: 0; right: 0; bottom: 0; margin: auto; background: url("../image/arrow_next.svg") no-repeat 0 0 / 11vw auto; }
  .supplychainBlock01 .meritBox { border: 0.2vw solid #a0a0a0; margin: 3vw 0; }
  .supplychainBlock01 .meritBox dd { padding: 2vw; }
  .supplychainBlock01 .disBox li { border-top: 0.8vw solid #ae0629; border-right: 0.8vw solid #2b4f81; border-bottom: 0.8vw solid #2b4f81; border-left: 0.8vw solid #ae0629; border-radius: 2vw; margin-top: 3vw; padding: 3vw; font-size: 3.7vw; }
}


/*-----------------------------------------------------

よくあるご質問

------------------------------------------------------*/
@media (min-width: 768px) {
  .faqBlock01 { margin: 0 auto 100px; width: 1000px; }
  .faqBlock01 p { margin: 1em 0; }
  .faqBlock01 .anchorLiist { display: flex; flex-wrap: wrap; border-top: 1px solid #ccc; border-left: 1px solid #ccc; margin: 30px 0; }
  .faqBlock01 .anchorLiist li { width: 50%; border-right: 1px solid #ccc; border-bottom: 1px solid #ccc; padding: 15px 20px; }
  .faqBlock01 .anchorLiist a { display: inline-block; padding-left: 35px; position: relative; }
  .faqBlock01 .anchorLiist a::before { position: absolute; content: ""; width: 25px; height: 25px; margin: auto; top: 0; bottom: 0; left: 0; background: url("../image/icon_arrow_red.svg") no-repeat 0 0 / 25px auto; -webkit-transform: rotate(90deg); transform: rotate(90deg); }
  .faqBlock01 h2 { font-size: 2rem; line-height: 1.2; background: #eee; border-left: 8px solid #ae0629; padding: 12px 20px; margin: 50px 0 28px; }
  .faqBlock01 .is-accordion { margin-bottom: 30px; }
  .faqBlock01 .is-head { font-size: 1.8rem; line-height: 1.2; border-bottom: 2px solid #000; padding: 20px 20px 20px 35px; font-weight: 700; position: relative; cursor: pointer; }
  .faqBlock01 .is-head::before { position: absolute; content: "Q."; color: #ae0629; font-size: 2rem; top: 17px; left: 0; }
  .faqBlock01 .is-head::after { position: absolute; content: ""; width: 20px; height: 20px; top: 20px; right: 20px; background: url("../image/icon_open.svg") no-repeat; }
  .faqBlock01 .is-head.is-open::after { background:url("../image/icon_close.svg") no-repeat; }
  .faqBlock01 .is-body { position: relative; padding: 0 0 0 25px; margin-top: 20px; }
  .faqBlock01 .is-body::before { position: absolute; content: "A."; font-size: 1.8rem; top: 0; left: 0; font-weight: 700; }
  .faqBlock01 .is-body >*:first-child { margin-top: 0; }
  .faqBlock01 .is-body >*:last-child { margin-bottom: 0; }
}
@media (max-width: 767px) {
  .faqBlock01 { margin: 0 5vw 10vw; }
  .faqBlock01 p { margin: 1em 0; }
  .faqBlock01 .anchorLiist { display: flex; flex-wrap: wrap; border-top: 0.2vw solid #ccc; border-left: 0.2vw solid #ccc; margin: 3vw 0; }
  .faqBlock01 .anchorLiist li { width: 100%; border-right: 0.2vw solid #ccc; border-bottom: 0.2vw solid #ccc; padding: 3vw; }
  .faqBlock01 .anchorLiist a { display: inline-block; padding-left: 7vw; position: relative; }
  .faqBlock01 .anchorLiist a::before { position: absolute; content: ""; width: 5vw; height: 5vw; margin: auto; top: 0; bottom: 0; left: 0; background: url("../image/icon_arrow_red.svg") no-repeat 0 0 / 5vw auto; -webkit-transform: rotate(90deg); transform: rotate(90deg); }
  .faqBlock01 h2 { font-size: 4.3vw; line-height: 1.2; background: #eee; border-left: 1vw solid #ae0629; padding: 2vw 3vw; margin: 5vw 0 3vw; }
  .faqBlock01 .is-accordion { margin-bottom: 3vw; }
  .faqBlock01 .is-head { font-size: 4vw; line-height: 1.2; border-bottom: 0.4vw solid #000; padding: 3.2vw 8vw; font-weight: 700; position: relative; }
  .faqBlock01 .is-head::before { position: absolute; content: "Q."; color: #ae0629; font-size: 4.3vw; top: 2vw; left: 0; }
  .faqBlock01 .is-head::after { position: absolute; content: ""; width: 20px; height: 4vw; top: 4vw; right: 0; background: url("../image/icon_open.svg") no-repeat 0 0 / 4vw auto; }
  .faqBlock01 .is-head.is-open::after { background:url("../image/icon_close.svg") no-repeat 0 0 / 4vw auto; }
  .faqBlock01 .is-body { position: relative; padding: 0 0 0 5vw; margin-top: 3vw; }
  .faqBlock01 .is-body::before { position: absolute; content: "A."; font-size: 4vw; top: 0; left: 0; font-weight: 700; }
  .faqBlock01 .is-body >*:first-child { margin-top: 0; }
  .faqBlock01 .is-body >*:last-child { margin-bottom: 0; }
}


/*-----------------------------------------------------

お問合わせ

------------------------------------------------------*/
@media (min-width: 768px) {
  .formBlock01 { margin: 0 auto 100px; width: 1000px; }
  .formBlock01 h4 { font-weight: 500; font-size: 1.6rem; }
  .formBlock01 h5 { font-weight: 400; font-size: 1.6rem; margin-bottom: 0.4em; }
  .formBlock01 table.style01 { border-collapse: collapse; border: 1px solid #d1d1d1; margin: 20px 0 40px; width: 100%; line-height: 1.4; }
  .formBlock01 table.style01 th { border-bottom: 1px solid #d1d1d1; font-weight: 500; padding: 17px 10px; text-align: left; vertical-align: top; width: 250px; background: #eee; }
  .formBlock01 table.style01 td { border-bottom: 1px solid #d1d1d1; padding: 10px 40px; }
  .formBlock01 table.style02 { border-collapse: collapse; border: 1px solid #d1d1d1; margin: 20px 0 40px; width: 100%; }
  .formBlock01 table.style02 > tbody > tr > th { font-weight: 500; padding: 20px 30px; background: #e7e1da; }
  .formBlock01 table.style02 > tbody > tr > td { padding: 20px 30px; }
  .formBlock01 table.style03 { border-collapse: collapse; width: 100%; }
  .formBlock01 table.style03 > tbody > tr > th { border: 1px solid #d1d1d1; font-weight: 500; padding: 15px; background: #eee; }
  .formBlock01 table.style03 > tbody > tr > td { border: 1px solid #d1d1d1; padding: 20px 10px; }
  .formBlock01 table.style03 td.borderNone { border: none; }
  .formBlock01 input[type="text"],
  .formBlock01 input[type="tel"],
  .formBlock01 input[type="email"],
  .formBlock01 input[type="url"],
  .formBlock01 input[type="number"] { background: #fff; border: 1px solid #d1d1d1; border-radius: 5px; padding: 8px; width: 100%; }
  .formBlock01 input[type="number"]::-webkit-outer-spin-button,
  .formBlock01 input[type="number"]::-webkit-inner-spin-button {-webkit-appearance: none; margin: 0; }
  .formBlock01 input[type="number"] {-moz-appearance:textfield; }
  .formBlock01 input.sizeL { width: 500px; }
  .formBlock01 input.sizeM { width: 235px; }
  .formBlock01 input.sizeS { width: 100px; }
  .formBlock01 input.sizeSS { width: 50px; }
  .formBlock01 textarea { background: #fff; border: 1px solid #d1d1d1; border-radius: 5px; height: 12em; padding: 8px; width: 100%; }
  .formBlock01 textarea.sizeS { height: 5em; }
  .formBlock01 label { margin-right: 1em; }
  .formBlock01 .certbody label {display:block;}
  .formBlock01 label input { margin-right: 0.4em; }
  .formBlock01 .required { background: #ae0629; color: #fff; display: inline-block; font-size: 1.2rem; line-height: 1; margin-right: 0.4em; padding: 4px 8px; }
  .formBlock01 .optional { background: #2b4f81; color: #fff; display: inline-block; font-size: 1.2rem; line-height: 1; margin-right: 0.4em; padding: 4px 8px; }
  .formBlock01 .txtL { width: calc(100% - 180px); }
  .formBlock01 .txtM { width: calc(100% - 280px); }
  .formBlock01 .sum { border-top: 1px solid #d1d1d1; font-size: 2rem; text-align: center; }
  .formBlock01 .borderBox { border: 1px solid #d1d1d1; margin: 20px 0; padding: 15px 30px; }
  .formBlock01 .submitBtn { margin: 40px 0; text-align: center; }
  .formBlock01 .submitBtn >* { margin: 0 10px; }
  .formBlock01 .optionalBlock { display: none; }
  .formBlock02 { font-size: 1.6rem; margin: 0 auto 100px; width: 1000px; border:2px solid #eee; padding: 40px; }
  .formBlock02 p { margin-bottom: 1.5em; }
  .formBlock01 .telBox { margin: 20px 0; padding: 20px; border-radius: 20px; overflow: hidden; border: 1px solid #ae0629; font-size: 1.8rem; }
}
@media (max-width: 767px) {
  .formBlock01 { margin: 0 5vw 10vw; }
  .formBlock01 h4 { font-weight: 500; font-size: 4vw; }
  .formBlock01 h5 { font-weight: 400; font-size: 3.75vw; margin-bottom: 0.4em; }
  .formBlock01 table.style01 { border-collapse: collapse; border: 1px solid #d1d1d1; margin: 2vw 0 4vw; width: 100%; line-height: 1.4; }
  .formBlock01 table.style01 th { border-bottom: 1px solid #d1d1d1; font-weight: 500; padding: 2vw 3vw; text-align: left; vertical-align: top; background: #eee; display: block; }
  .formBlock01 table.style01 td { border-bottom: 1px solid #d1d1d1; padding: 2vw 3vw; display: block; }
  .formBlock01 table.style02 { border-collapse: collapse; border: 0.2vw solid #d1d1d1; margin: 2vw 0 4vw; width: 100%; }
  .formBlock01 table.style02 > tbody > tr > th { font-weight: 500; padding: 2vw 3vw; background: #e7e1da; }
  .formBlock01 table.style02 > tbody > tr > td { padding: 2vw 3vw; }
  .formBlock01 table.style03 { border-collapse: collapse; width: 100%; }
  .formBlock01 table.style03 > tbody > tr > th { border: 1px solid #d1d1d1; font-weight: 500; padding: 2vw; background: #eee; }
  .formBlock01 table.style03 > tbody > tr > td { border: 1px solid #d1d1d1; padding: 2vw;; }
  .formBlock01 table.style03 td.borderNone { display: none; }
  .formBlock01 input[type="text"],
  .formBlock01 input[type="tel"],
  .formBlock01 input[type="email"],
  .formBlock01 input[type="url"],
  .formBlock01 input[type="number"] { background: #fff; border: 0.2vw solid #d1d1d1; border-radius: 1vw; padding: 2vw; width: 100%; }
  .formBlock01 input[type="number"]::-webkit-outer-spin-button,
  .formBlock01 input[type="number"]::-webkit-inner-spin-button {-webkit-appearance: none; margin: 0; }
  .formBlock01 input[type="number"] {-moz-appearance:textfield; }
  .formBlock01 input.sizeM { width: 25vw; }
  .formBlock01 input.sizeS { width: 12vw; }
  .formBlock01 input.sizeSS { width: 8vw; }
  .formBlock01 textarea { background: #fff; border: 0.2vw solid #d1d1d1; border-radius: 1vw; height: 8em; padding: 2vw; width: 100%; }
  .formBlock01 textarea.sizeS { height: 5em; }
  .formBlock01 .required { background: #ae0629; color: #fff; display: inline-block; font-size: 2.5vw; line-height: 1; margin-right: 0.4em; padding: 1vw 2vw; }
  .formBlock01 .optional { background: #2b4f81; color: #fff; display: inline-block; font-size: 2.5vw; line-height: 1; margin-right: 0.4em; padding: 1vw 2vw; }
  .formBlock01 .txtL { width: 100%; margin-bottom: 0.5em; }
  .formBlock01 .txtM { width: 100%; }
  .formBlock01 .sum { border-top: 0.2vw solid #d1d1d1; font-size: 2rem; text-align: center; }
  .formBlock01 .borderBox { border: 0.2vw solid #d1d1d1; margin: 2vw 0; padding: 1vw 3vw; }
  .formBlock01 label { margin-right: 1em; }
  .formBlock01 label input { margin-right: 0.2em; }
  .formBlock01 .submitBtn { margin: 5vw 0; text-align: center; }
  .formBlock01 .submitBtn >* { margin: 0 2vw; }
  .formBlock01 .optionalBlock { display: none; }
  .formBlock02 { margin: 0 5vw 10vw; border: 0.4vw solid #eee; padding: 4vw; }
  .formBlock02 p { font-size: 3.4vw; margin-bottom: 1.5em; }
  .formBlock01 .telBox { margin: 5vw 0; padding: 2vw; border-radius: 2vw; overflow: hidden; border: 1px solid #ae0629; }
}

/*-----------------------------------------------------

お問合わせ

------------------------------------------------------*/
@media (min-width: 768px) {
  .ex01 { box-shadow: 0px 0px 15px 0px rgba(0, 0, 0, 0.25); width: 1000px; margin: 40px auto; padding: 30px 40px; background: #fff; font-size: 1.8rem; }
  .ex01 h1 { color: #af2326; font-size: 2rem; margin-bottom: 20px; }
  .ex01 .borderBox { border: 1px solid #000; margin-top: 30px; }
  .ex01 h2 { background: #eee; text-align: center; font-size: 2.2rem; padding: 15px 0; }
  .ex01 dl { padding: 20px 40px; border-top: 1px solid #000; }
  .ex01 dt { font-weight: bold; margin-bottom: 5px; }
}
@media (max-width: 767px) {
  .ex01 { box-shadow: 0px 0px 2vw 0px rgba(0, 0, 0, 0.25); margin: 5vw; padding: 3vw 4vw; background: #fff; font-size: 3.75vw; }
  .ex01 h1 { color: #af2326; font-size: 4.6vw; margin-bottom: 2vw; }
  .ex01 .borderBox { border: 0.2vw solid #000; margin-top: 3vw; }
  .ex01 h2 { background: #eee; text-align: center; font-size: 4vw; padding: 2vw 0; }
  .ex01 dl { padding: 2vw 4vw; border-top: 0.2vw solid #000; }
  .ex01 dt { font-weight: bold; margin-bottom: 1vw; }
}


/*-----------------------------------------------------

フォーム共通：エラーメッセージ

------------------------------------------------------*/
.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;
}

/*-----------------------------------------------------

フォーム共通

------------------------------------------------------*/
.formBlock01 label input {
  margin-right: 0.2em;
}
.formBlock01 label {
  margin-right: 1em;
}
.formBlock01 td .zipcode{
  display: inline-block;
  margin-left: 10px;
}
.formBlock01 .is-disabled{
  background: #f3f3f3;
}
.formBlock01 .label-w100 label{
  display: inline-block;
}
.label-row{
  display: flex;
  flex-direction: column;
}
.indent-list li{
  margin-left: 1em;
  text-indent: -1em;
}
.price-box input{
  width: 235px!important;
}
.price-box p{
  display: inline-block;
  width: 40px;
  text-align: right;
}
.price-box--narrow input{
  width: calc(100% - 40px)!important;
}
.notice{
  font-size: 90%;
}
.formBlock01 .estimate_select label{
  display: inline-block;
  margin-bottom: 12px;
}
.duty-to-notify{
  margin-bottom: 12px;
}
.confirm-radio-value{
  display: inline-block;
  margin-top: 10px;
  margin-left: 15px;
}
.request_notice{
  font-weight: bold;
  margin: 20px 0;
}

@media (max-width: 767px) {
  .label-row{
    display: block;
  }
  .price-box input{
    width: calc(100% - 40px)!important;
  }
}

/* ダウンロードページ */
.pdfDlBox .pdfDlBox_inner {display: flex; justify-content: center; margin-top: 1.5em;}
.pdfDlBox .pdfDlBox_item{text-align: center;}
.pdfDlBox .pdfDlBox_item + .pdfDlBox_item{margin-left: 30px;}
.pdfDlBox .pdfDlBox_item .itemImg,
.pdfDlBox .pdfDlBox_item .btnLine{margin-top: 1.5em;}
.pdfDlBox .pdfDlBox_item .btn.btnNext{min-width: auto; padding: 20px 53px 20px 20px; font-size: 2rem;}
.pdfDlBox .pdfDlBox_item .btn.btnNext::after{right: 15px;}
.pdfDlBox .itemImg img{max-width: none; max-height: 150px; border: 1px solid #ccc;}
.pdfDlBox p{font-size: 16px;}
.pdfDlBox .note{display: inline-block; margin: 10px 0 0 1em; font-size: 12px; text-align: left; text-indent: -1em; line-height: 1.5;}
@media (max-width: 767px) {
  .pdfDlBox .pdfDlBox_inner {display: block;}
  .pdfDlBox .itemImg img{width: 60%; max-height: none;}
  .pdfDlBox .pdfDlBox_item + .pdfDlBox_item{margin: 50px 0 0;}
  .pdfDlBox .pdfDlBox_item .btn.btnNext{min-width: 40vw; padding: 2vw 10vw; font-size: 4vw;}
  .pdfDlBox .pdfDlBox_item .btn.btnNext::after{right: 4vw;}
}



/*---------------------
  見た目追加 202605
---------------------*/
/* 売上高ブロック */
.sales-heading{ font-size: 17px; font-weight: bold; }
.sales-body{ margin-top: 10px; }
.inputNumber::placeholder{ color: #ccc; }

/* 1年間の売上高 */
.salesView{ margin-top: 15px; padding: 18px; border: 1px solid #d6d6d6; border-radius: 5px; background: #fafafa; }
.salesView_txt{ color: #444; font-size: 30px; font-weight: bold; line-height: 1; }

.sales-block + .sales-note{ margin-top: 10px!important; }

@media (max-width: 767px) {
  /* 売上高ブロック */
  .sales-heading{ font-size: 15px; }

  /* 1年間の売上高 */
  .salesView{ padding: 14px; }
  .salesView_txt{ font-size: 32px; }

  /* テーブル内見た目調整 */
  .formBlock01 table.style03.col1,
  .formBlock01 table.style03.col1 tbody,
  .formBlock01 table.style03.col1 tr,
  .formBlock01 table.style03.col1 th,
  .formBlock01 table.style03.col1 td{
    display: block;
    width: 100%;
  }
  .formBlock01 table.style03.col1 th:not(.spBorder),
  .formBlock01 table.style03.col1 td:not(.spBorder){
    border-top: none;
  }
  .formBlock01 table.style03.col1 .spflex{
    display: block;
  }
  .formBlock01 table.style03.col1 input.sizeM{
    width: 140px;
  }
  
}


