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

	----------------------------------
  		Structure
  	----------------------------------

  	0. General
  	1. Header
  	2. Main
  	3. Footer

  	----------------------------------
  		Change Log
  	----------------------------------

	-2022/1/17	 Fixed all

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

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

	0. General

====================================*/
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500&display=swap');


html { font-size: 62.5%; -webkit-text-size-adjust: 100%; }
body { position: relative; color: #231815; font-size: 1.0rem; font-family: 'Noto Sans JP', sans-serif; line-height: 1.5; -webkit-animation: fadeIn 1s ease 0s 1 normal; animation: fadeIn 1s ease 0s 1 normal; }

img { max-width: 100%; height: auto; vertical-align: bottom; }
a { color: #036EB8; text-decoration: underline; }
a:hover { text-decoration: underline; opacity: 0.8; }
ul, ol { list-style: none; }

.pcOnly { display: none !important; }
#page-top { position: fixed; right: 2vw; bottom: 2vw; z-index: 100; }
#page-top a { display: block; width: 10vw; height: 10vw; background: url(../img/icon_gototop.png) no-repeat 0 0 / 10vw auto; text-indent:-9999px; }

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

	1. Header

====================================*/
header { position: relative; height: 20vw; }
.l-header__h1 { float: left; margin: 2vw 0 0 4.6vw; width: 70vw; }

#panel-btn { position: absolute; top: 3vw; right: 3vw; z-index: 2000; display: inline-block; padding: 3.7vw; width: 12.5vw; height: 12.5vw; border-radius: 1.5vw; background: #f67db3; text-indent: -9999px; } 
#panel-btn.cls { background: #ffffff; }
#panel-btn-icon { position: absolute; top: 50%; left: 50%; display: block; margin: -0.3vw 0 0 -2.1vw; width: 4.2vw; height: 2px; background: #ffffff; transition: .2s; } 
#panel-btn-icon:before,
#panel-btn-icon:after { position: absolute; top: 50%; left: 0; display: block; width: 4.2vw; height: 2px; background: #ffffff; content: ""; transition: .3s; } 
#panel-btn-icon:before { margin-top: -6px; }
#panel-btn-icon:after { margin-top: 4px; } 
#panel-btn .close { background: transparent; }
#panel-btn .close:before,
#panel-btn .close:after { margin-top: 0; } 
#panel-btn .close:before { -webkit-transform: rotate(-45deg); transform: rotate(-45deg); } 
#panel-btn .close:after { -webkit-transform: rotate(-135deg); transform: rotate(-135deg); } 
.gnav { position: absolute; top: 20vw; z-index: 1000; display: none; width: 100%; background: #f67db3; }
header nav a { text-decoration: none; font-size: 3.6vw; }
header nav.m-cmn__nav li { border-bottom: 1px solid rgba(255,255,255,0.6); }
header nav.m-cmn__nav a { display: block; padding: 3vw 5vw; color: #fff; }
header nav.m-sub__nav li { border-bottom: 1px solid rgba(255,255,255,0.6); }
header nav.m-sub__nav a.btn { display: block; padding: 3vw 5vw; color: #fff; }
/*header nav.m-sub__nav li:last-child { padding: 3vw 0; width: 100vw; text-align: center; }
header nav.m-sub__nav li:last-child img { width: 60vw; }*/



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

	2. Main

====================================*/
main { font-size: 3.6vw; line-height: 1.4; }
.bgtile { padding: 7vw 0; background: url("../img/bg_tile.gif"); }

/*====== [NODULE] tytle style ======*/
.titleStyleH1 { margin: 5vw 0 3vw; padding: 2vw; border: 0.6vw solid #ccc; background: #bd5483; box-shadow: inset 0px 9px 7px 0px #7c3756; color: #fff; text-align: center; font-size: 5.4vw; }
.titleStyleH2 { margin-top: 5vw; padding-bottom: 2vw; border-bottom: 2px solid #f67db3; vertical-align: middle; letter-spacing: -0.04em; font-size: 4vw; line-height: 1; }
.titleStyleH3 { margin-bottom: 5vw; padding: 3vw; border-top: 1.5vw solid #f67db3; border-bottom: 0.2vw solid #f67db3; color: #f67db3; text-align: center; font-weight: bold; font-size: 6vw; line-height: 1.1; }
.titleStyleH4 { margin-bottom: 5vw; color: #f67db3; text-align: center; font-weight: bold; font-size: 6vw; }
.titleStyleH5 { margin-bottom: 5vw; padding: 10vw 2vw 2vw 3vw; background: #fdd000; text-align: center; font-weight: bold; font-size: 4.6vw; }
.titleStyleH5 span { position: relative; display: inline-block; }
.titleStyleH5 span:before { position: absolute; top: -12vw; left: 0; width: 20vw; height: 12vw; background: url("../img/icon_check.png") no-repeat 0 0 / 20vw auto; content: ""; }
.titleStyleH6 { margin-top: 5vw; padding-bottom: 2vw; border-bottom: 2px solid #f67db3; vertical-align: middle; letter-spacing: -0.04em; font-size: 4vw; line-height: 1; }
.titleStyleH7 { text-align: center; font-size: 4vw; font-weight: normal; border-bottom: 0.2vw solid #000; padding-bottom: 0.4em; margin: 2em 0 1.6em; }


/*====== [NODULE] list style ======*/
.list { margin-left: 1.5em; list-style: disc; }
.numList { margin-left: 1.5em; list-style: decimal; }
.komeList { list-style: none; }
.komeList > li { padding-left: 1em; text-indent: -1em; }
.komeNumList { list-style: none; }
.komeNumList > li { padding-left: 2em; text-indent: -2em; }
.noteList { list-style: none; }
.noteList > li { padding-left: 2.5em; text-indent: -2.5em; }

.etc { position: relative; margin-bottom: 1em; }
.etc:after { position: absolute; right: 0; bottom: -1em; content: "等"; }


/*====== [NODULE] text style ======*/
main p { margin: 1.5em 0; }
main marker { background: linear-gradient(transparent 20%, #fee366 0%); }
hr { margin: 1em 0; height: 0.2vw; border: none; border-top: 0.2vw solid #e0e0e0; }
.txtM { font-size: 3.4vw; }
.txtL { font-size: 4vw; }
.txtLL { font-size: 6vw; }
.txtXL { font-size: 6vw; }
.fwB { font-weight: bold; }
.komeTxt { padding-left: 1em; text-indent: -1em; }
.noteTxt { padding-left: 2.5em; text-indent: -2.5em; }
.taR { text-align: right; }
.taC { text-align: center; }
.taL { text-align: left; }


/*====== [NODULE] table style ======*/
table { width: 100%; border-collapse: collapse; }
table th,
table td { border: 1px solid #ccc; }
table.plan { font-size: 2.6vw; }
table.plan th { background: #666666; color: #fff; }
table.plan .taC { text-align: center; }
table.plan .taL { text-align: left; }
table.plan .gray { background: #e6e6e6;  color: #202020; text-align: center; font-weight: bold; }
table.plan .nostyle { background: none !important; color: #202020; font-weight: normal; }
table.plan .rl { margin: 0 auto; width: 1em; white-space: nowrap; line-height: 1em;  writing-mode: tb-rl; writing-mode: vertical-rl; text-orientation: upright; }
.economy { background: #05807c !important; color: #fff; vertical-align: top; font-weight: bold; }
.standard { background: #143d91 !important; color: #fff; vertical-align: top; font-weight: bold; }
.premium { background: #117fc7 !important; color: #fff; vertical-align: top; font-weight: bold; }
.txtEconomy { color: #05807c !important; }
.txtStandard { color: #143d91 !important; }
.txtPremium { color: #117fc7 !important; }


/*====== [NODULE] btn style ======*/
main .btn { position: relative; display: inline-block; padding: 4vw 8vw; border: 1px solid #f67db3; border-radius: 5px; background: url("../img/bg_btn_l.png") no-repeat 0 0 / 100% auto; color: #202020; text-align: center; text-decoration: none; font-size: 3.6vw; }
main .btn:after { position: absolute; top: 0; right: 4vw; bottom: 0; margin: auto; width: 2.5vw; height: 2.5vw; border-top: 0.2vw solid #000; border-right: 0.2vw solid #000; content: ""; transform: rotate(45deg); }



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

	3. Footer

====================================*/
footer { background: #f67db3; color: #fff; font-size: 3.6vw; line-height: 1.1; }
footer a { color: #fff; }

.l-foot { padding: 5vw; }
.l-foot p { margin-bottom: 5vw; font-size: 3.2vw; line-height: 1.5; }
.l-foot h1 { margin-bottom: 3vw; font-size: 5vw; }
.l-foot h1 .sub { display: inline-block; background: #fff; padding: 5px 7px; font-size: 1.6rem; color: #f67db3; margin-bottom: 5px; }
.l-foot dl { margin-bottom: 5vw; border-top: 0.2vw solid #fff; font-size: 3.2vw; }
.l-foot dt { float: left; padding-top: 3vw; }
.l-foot dd { padding: 3vw 0 3vw 9em; border-bottom: 0.2vw solid #fff; }
.l-foot address { text-align: center; font-style: normal; }
.l-foot ul.m-sub__nav { display: -webkit-flex; display: flex; margin-bottom: 5vw; }
.l-foot ul.m-sub__nav a.btn { display: inline-block; margin-right: 5vw; padding: 5vw 0; width: 42vw; border: 0.2vw solid #f67db3; border-radius: 5px; background: #fff url("../img/bg_btn.png") no-repeat 0 0 / 100% auto; color: #202020; text-align: center; text-decoration: none; font-size: 4vw; }
.l-foot ul.m-other__nav { display: -webkit-flex; display: flex; margin-bottom: 20px; flex-wrap: wrap; }
.l-foot ul.m-other__nav li { margin: 0 1.5em 0.5em 0; }





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

	4. Contents

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

/*---------------------
   共通
---------------------*/
.detailsList { margin: 5vw 0; border-right: 0.2vw solid #000; border-bottom: 0.2vw solid #000; border-left: 0.2vw solid #000; }
.detailsList > dt { padding: 2vw 4vw; border-top: 0.2vw solid #000; border-bottom: 0.2vw solid #000; background: #efefef; font-weight: bold; font-size: 4.3vw; position: relative; }
.detailsList > dd { padding: 3vw 4vw; }
.detailsList > dd >*:first-child { margin-top: 0; }
.detailsList > dd >*:last-child { margin-bottom: 0; }
.detailsList .planOption,
.detailsList .planBasic,
.detailsList .planWide { position: absolute; padding: 1vw 0; top: 10vw; font-size: 3vw; font-weight: bold; display: inline-block; color: #fff; width: 20vw; text-align: center; }
.detailsList .planOption { left: 5vw; background: #3e78ff; }
.detailsList .planBasic { left: 30vw; background: #f4b07d; }
.detailsList .planWide { left: 55vw; background: #f67db3; }


/*---------------------
   top
---------------------*/
.topBlock01 { padding: 10vw 5vw 10vw 0; background: url("../img/top_bg01.png"); text-align: center; }
.topBlock01 h1 { margin-left: 5vw; color: #fff; text-shadow: 0.4vw 0.8vw 1vw rgba(0, 0, 0, 0.7); font-size: 7vw; }
.topBlock01 marker { background: linear-gradient(transparent 70%, #fdd000 0%); }
.topBlock01 ul { display: -webkit-flex; display: flex;margin-top: 8vw; }
.topBlock01 ul li { margin-left: 2vw; text-align: left; }

.topBlock02 {margin: 0 5vw; padding-bottom: 1vw; }
.topBlock02 figure { margin: 5vw 0; }
.topBlock02 li { margin-bottom: 3vw; padding: 3vw 5vw 5vw; border: 0.2vw solid #9fa0a0; border-radius: 3vw; background: #fff; }
.topBlock02 li:last-child { margin-right: 0; }
.topBlock02 dt { margin-bottom: 0.5em; padding: 5vw 0 5vw 20vw; border-bottom: 0.2vw solid #f67db3; color: #f67db3; text-align: center; font-weight: bold; font-size: 5vw; }
.topBlock02 li:nth-child(1) dt { background: url("../img/top_bg02.png") no-repeat 10vw 50% / 14vw auto; }
.topBlock02 li:nth-child(2) dt { background: url("../img/top_bg03.png") no-repeat 10vw 50% / 14vw auto; }
.topBlock02 li:nth-child(3) dt { background: url("../img/top_bg04.png") no-repeat 5vw 50% / 20vw auto; }


.topBlock02 .arrowBottom { position: relative; padding-bottom: 10vw; }
.topBlock02 .arrowBottom:before { position: absolute; right: 0; bottom: 0; left: 0; margin: auto; width: 0; height: 0; border-top: 8vw solid #e60012; border-right: 10vw solid transparent; border-left: 10vw solid transparent; content: ""; }

.topBlock03 { margin: 0 5vw; padding-bottom: 5vw; background: #fff; }
.topBlock03 table { margin: 0 auto; width: 80vw; border-collapse: collapse; border-top: 0.4vw solid #9fa0a0; }
.topBlock03 td { display: block; border-right: 0.4vw solid #9fa0a0; border-bottom: 0.4vw solid #9fa0a0; border-left: 0.4vw solid #9fa0a0; min-height: 50vw; vertical-align: middle; }
.topBlock03 td.nth-child1 { background: url("../img/needs_bg01.png") no-repeat 100% 100%; }
.topBlock03 td.nth-child1 { background: url("../img/needs_bg01.png") no-repeat 100% 100%; }
.topBlock03 td.nth-child2 { background: url("../img/needs_bg02.png") no-repeat 100% 100%; }
.topBlock03 td.nth-child3 { background: url("../img/needs_bg03.png") no-repeat 100% 100%; }
.topBlock03 td.nth-child4 { background: url("../img/needs_bg04.png") no-repeat 100% 100%; }
.topBlock03 td.nth-child5 { background: url("../img/needs_bg05.png") no-repeat 100% 100%; }
.topBlock03 td dt { padding: 3vw 0; background: url("../img/needs_bg00.png") no-repeat 0 0 / cover; color: #fdd000; text-align: center; font-weight: bold; font-size: 6vw; }
.topBlock03 td dd { padding: 0 3vw; }
.topBlock03 td p { margin: 0.8em 0; }





.topBlock03 { margin: 0 5vw; padding-bottom: 5vw; background: #fff; }
.topBlock03 h1 span { display: inline-block; margin-top: 10px; padding: 10px 55px; border-radius: 10px; background: #f67db3; color: #fff; }
.topBlock03 .flex { border-bottom: 0.4vw solid #9fa0a0; border-right: 0.4vw solid #9fa0a0; }
.topBlock03 .flex > div { border-top: 0.4vw solid #9fa0a0; border-left: 0.4vw solid #9fa0a0; }
.topBlock03 .flex > div:nth-child(1) {  background: url("../img/needs_bg01.png") no-repeat 100% 100%; }
.topBlock03 .flex > div:nth-child(2) {  background: url("../img/needs_bg02.png") no-repeat 100% 100%; }
.topBlock03 .flex > div:nth-child(3) {  background: url("../img/needs_bg03.png") no-repeat 100% 100%; }
.topBlock03 .flex > div:nth-child(4) {  background: url("../img/needs_bg04.png") no-repeat 100% 100%; }
.topBlock03 .flex > div:nth-child(5) {  background: url("../img/needs_bg05.png") no-repeat 100% 100%; }
.topBlock03 dt { padding: 3vw 0; background: #f67db3 url("../img/needs_bg00.png") no-repeat 0 0 / cover; color: #fdd000; text-align: center; font-weight: bold; font-size: 6vw; }
.topBlock03 dd { padding: 0 3vw; font-size: 5vw; }




/*---------------------
   risk
---------------------*/
.riskBlock01 { margin: 0 5vw; padding-bottom: 5vw; }
.riskBlock01 .example { margin-top: 3vw; }
.riskBlock01 .example li { margin-bottom: 3vw; border: 0.2vw solid #9fa0a0; }
.riskBlock01 .example li:last-child { border: none; }
.riskBlock01 .example li:last-child p { margin: 0; }
.riskBlock01 .example dl { position: relative; padding: 3vw 5vw 3vw 35vw; min-height: 30vw; background: url("../img/risk_img01.png") no-repeat 5vw 100% / 20vw auto; }
.riskBlock01 .example dt { font-weight: bold; }
.riskBlock01 .example dd:last-child { text-align: right; font-size: 3vw; }
.riskBlock01 .example dl + p { margin: 0 0.2vw 0 0; padding: 3vw; background: #eee; text-align: right; }
.riskBlock01 .example li em { font-weight: bold; font-style: normal; font-size: 4vw; }
.riskBlock01in { margin-bottom: 5vw; padding: 3vw 5vw 5vw; border: 1px solid #33857b; border-radius: 3vw; }
.riskBlock01in h2 { margin-bottom: 3vw; color: #f67db3; text-align: center; font-size: 4vw; }
.riskBlock01in li { margin-top: 3vw; padding: 3vw 5vw; background: #e5efee; }
.riskBlock01in dt { text-align: center; font-weight: bold; font-size: 4vw; }

.riskBlock02 { margin: 0 5vw; padding-bottom: 5vw; background: #fff; }
.riskBlock02in { margin: 0 5vw; }
.riskBlock02 .list01 { padding-bottom: 20vw; background: url("../img/risk_img02.png") no-repeat 50% 100% / auto 20vw; }
.riskBlock02 .list01 > li { margin-bottom: 3vw; padding: 3vw 5vw; border: 0.4vw solid #9fa0a0; }
.riskBlock02 .list01 dt { text-align: center; font-weight: bold; font-size: 6vw; }
.riskBlock02 .list01 dd ul { display: -webkit-flex; display: flex; flex-wrap: wrap; -webkit-justify-content: center; justify-content: center; }
.riskBlock02 .list01 dd li { margin-top: 0.3em; font-size: 4vw; }
.riskBlock02 .note { margin-top: 10vw; padding: 1vw 5vw 5vw; border-radius: 10px; background-image: linear-gradient(to right, #9fa0a0, #9fa0a0 10px, transparent 10px, transparent 20px), linear-gradient(to bottom, #9fa0a0, #9fa0a0 10px, transparent 10px, transparent 20px), linear-gradient(to right, #9fa0a0, #9fa0a0 10px, transparent 10px, transparent 20px), linear-gradient(to bottom, #9fa0a0, #9fa0a0 10px, transparent 10px, transparent 20px); background-position: left bottom,left bottom,right top, right top; background-size: 20px 2px, 2px 20px,20px 2px, 2px 20px; background-repeat: repeat-x, repeat-y,repeat-x, repeat-y; }
.riskBlock02 .note h2 { margin: -4vw 0 6vw; text-align: center; }
.riskBlock02 .note h2 span { display: inline-block; padding: 2vw 5vw; border: 0.4vw solid #9fa0a0; background: #fff; font-size: 5vw; }
.riskBlock02 .note li { margin: 0 2vw; margin-bottom: 3vw;border: 0.2vw solid #9fa0a0; }
.riskBlock02 .note li dt { padding: 3vw; background: #fcd8e8; text-align: center; font-weight: bold; font-size: 3.6vw; }
.riskBlock02 .note li dt span { display: block; font-size: 3.1vw; }
.riskBlock02 .note li dd { padding: 3vw; font-size: 3.4vw; }
.riskBlock02 .note .case { position: relative; padding-top: 15vw; text-align: center; font-weight: bold; }
.riskBlock02 .note .case:before { position: absolute; top: 5vw; right: 0; left: 0; margin: auto; width: 0; height: 0; border-top: 8vw solid #e60012; border-right: 14vw solid transparent; border-left: 14vw solid transparent; content: ""; }
.riskBlock02 .note .case dt { margin-bottom: 4vw; font-size: 6vw; }
.riskBlock02 .note .case dd { padding: 3vw; background: #e60012; color: #fff; font-size: 6vw; }

.riskBlock03 {margin: 0 5vw; padding-bottom: 5vw; }
.riskBlock03 li { margin-bottom: 3vw; border: 0.2vw solid #9fa0a0; padding: 5vw; border-radius: 3vw; }
.riskBlock03 li:last-child { margin-right: 0; }
.riskBlock03 dt { margin-bottom: 0.5em; padding-bottom: 0.5em; border-bottom: 0.2vw solid #f67db3; color: #f67db3; text-align: center; font-weight: bold; font-size: 5vw; }



/*---------------------
   case
---------------------*/
.caseBlock01 { margin: 0 5vw; padding-bottom: 5vw; }

.caseBlock01 table { margin-bottom: 5vw; border-collapse: collapse; }
.caseBlock01 th,
.caseBlock01 td { display: block; margin-top: -0.2vw; border: 0.2vw solid #f67db3; }
.caseBlock01 thead { display: none; }
.caseBlock01 tbody th { padding: 3vw; background: #feecf4; color: #f67db3; vertical-align: middle; text-align: center; }
.caseBlock01 tbody td { padding: 3vw; }
.caseBlock01 dd { margin-top: 2vw; padding-top: 2vw; border-top: 0.2vw solid #7a7a7a; }


.caseBlock02 { margin: 0 5vw; padding-bottom: 5vw; background: #fff; }
.caseBlock02in { margin: 0 5vw; }
.caseBlock02 table { margin-bottom: 5vw; border: 0.4vw solid #9fa0a0; border-collapse: collapse; font-size: 3.6vw; }
.caseBlock02 thead { display: none; }
.caseBlock02 tbody th { font-size: 4vw; }
.caseBlock02 th,
.caseBlock02 td { position: relative; display: block; padding: 3vw; border: 0.1vw solid #9fa0a0; text-align: center; }
.caseBlock02 td[data-label] { padding-top: 3.8em; }
.caseBlock02 td[data-label]::before { position: absolute; top: 0; left: 0.2vw; padding: 3vw 1vw; width: 79vw; border-bottom: 0.2vw solid #9fa0a0; background: #eee; content: attr(data-label); }
.caseBlock02 .trstyle01 th { background: #fce9e5; }
.caseBlock02 .trstyle02 th { background: #e5e9f7; }
.caseBlock02 .trstyle03 th { background: #e5f5f0; }
.caseBlock02 .trstyle01 em { color: #e60012; font-style: normal; }
.caseBlock02 .trstyle02 em { color: #005bac; font-style: normal; }



/*---------------------
   details
---------------------*/
.detailsBlock01 { margin: 0 5vw; padding-bottom: 5vw; }
.detailsBlock01 .img { padding: 4vw 5vw; background: #e1f3dd; }
.detailsBlock02 { margin: 0 5vw; padding-bottom: 5vw; }
.detailsBlock02 p.taR { margin: 0; font-size: 3vw; }
.detailsBlock02 .star { color: #f67db3; }
.detailsBlock02 .detailsList { margin-top: 0.5em; }
.detailsBlock02 .detailsList > dt { padding-bottom: 10vw; }
.detailsBlock02 .diff { border: 0.2vw solid #f67db3; margin-bottom: 5vw; }
.detailsBlock02 .diff dt { padding: 0.4em; background: #f67db3; color: #fff; text-align: center; font-weight: bold; font-size: 4vw; }
.detailsBlock02 .diff dd { padding: 1em 1.5em 1.5em; }
.detailsBlock02 .diff dd img { display: block; margin: 1em auto 0; }
.detailsBlock02 .diff dd marker { font-weight: bold; }
.detailsBlock02 .phase { margin-top: 5vw; }
.detailsBlock02 .phase li { position: relative; padding-bottom: 5vw; background: #fff; }
.detailsBlock02 .phase li:not(:last-child) { margin-bottom: 12vw; }
.detailsBlock02 .phase li:not(:last-child)::after { position: absolute; left: 0; right: 0; bottom: -10vw; margin: auto; width: 8vw; height: 8vw; background: url("../img/detail_img08.png") no-repeat 0 0 / 8vw auto; content: "";transform: rotate(90deg); }
.detailsBlock02 .phase em { font-weight: bold; font-style: normal; }
.detailsBlock02 .phase dt { padding: 0.4em; background: #f67db3; color: #fff; text-align: center; font-weight: bold; font-size: 1.4rem; }
.detailsBlock02 .phase dd.phaseCase { position: relative; padding: 85px 30px 55px; font-size: 1.6rem; }
.detailsBlock02 .phase dd.phaseCase::before { position: absolute; top: 20px; right: 0; left: 0; margin: auto; width: 220px; height: 50px; content: ""; }
.detailsBlock02 .phase li:nth-child(1) dd.phaseCase::before { background: url("../img/detail_img09.png") no-repeat 50% 50%; }
.detailsBlock02 .phase li:nth-child(2) dd.phaseCase::before { background: url("../img/detail_img10.png") no-repeat 50% 50%; }
.detailsBlock02 .phase li:nth-child(3) dd.phaseCase::before { background: url("../img/detail_img11.png") no-repeat 50% 50%; }
.detailsBlock02 .phase dd.phaseCase::after { position: absolute; right: 0; bottom: 20px; left: 0; margin: auto; width: 0; height: 0; border-top: 15px solid #7a7a7a; border-right: 13px solid transparent; border-left: 13px solid transparent; content: ""; }
.detailsBlock02 .phase dd.phaseResult em { color: #f00; }

.securityList > dt { display: inline-block; margin-bottom: 0.4em; padding: 0.4em 0.6em; border: 0.4vw solid #f67db3; color: #f67db3; font-weight: bold; font-size: 4vw; }
.securityList > dd { margin-bottom: 0.8em; line-height: 1.6; }
.securityList > dd.img { margin-bottom: 5vw; padding: 4vw 5vw; background: #efefef; text-align: center; }

/*---------------------
   needs
---------------------*/
.needsBlock01 { margin: 0 5vw; padding-bottom: 5vw; }
.needsBlock01 .flex { border-bottom: 0.4vw solid #9fa0a0; border-right: 0.4vw solid #9fa0a0; }
.needsBlock01 .flex > div { border-top: 0.4vw solid #9fa0a0; border-left: 0.4vw solid #9fa0a0; }
.needsBlock01 .flex > div:nth-child(1) {  background: url("../img/needs_bg01.png") no-repeat 100% 100%; }
.needsBlock01 .flex > div:nth-child(2) {  background: url("../img/needs_bg02.png") no-repeat 100% 100%; }
.needsBlock01 .flex > div:nth-child(3) {  background: url("../img/needs_bg03.png") no-repeat 100% 100%; }
.needsBlock01 .flex > div:nth-child(4) {  background: url("../img/needs_bg04.png") no-repeat 100% 100%; }
.needsBlock01 .flex > div:nth-child(5) {  background: url("../img/needs_bg05.png") no-repeat 100% 100%; }
.needsBlock01 dt { padding: 3vw 0; background: #f67db3 url("../img/needs_bg00.png") no-repeat 0 0 / cover; color: #fdd000; text-align: center; font-weight: bold; font-size: 6vw; }
.needsBlock01 dd { padding: 0 3vw; font-size: 5vw; }

.needsBlock02 { margin: 0 5vw 5vw; padding-bottom: 5vw; border: 0.2vw solid #fdd000; background: #fff; }
.needsBlock02in { margin: 0 5vw 5vw; }
.needsBlock02 li { margin-bottom: 3vw; border: 0.2vw solid #9fa0a0; }
.needsBlock02 dt { padding: 3vw; background: #ececec; text-align: center; font-size: 4vw; }
.needsBlock02 dd { padding: 2vw 0; text-align: center; font-weight: bold; font-size: 5.6vw; }

.needsBlock03 { margin: 0 5vw; padding-bottom: 5vw; background: #fff; }
.needsBlock03in { margin: 0 5vw 5vw; }
.needsBlock03 ul li { margin-bottom: 5vw; }
.needsBlock03 .case { padding: 3vw; border-radius: 3vw; background-image: linear-gradient(to right, #f67db3, #f67db3 10px, transparent 10px, transparent 20px), linear-gradient(to bottom, #f67db3, #f67db3 10px, transparent 10px, transparent 20px), linear-gradient(to right, #f67db3, #f67db3 10px, transparent 10px, transparent 20px), linear-gradient(to bottom, #f67db3, #f67db3 10px, transparent 10px, transparent 20px); background-position: left bottom,left bottom,right top, right top; background-size: 20px 2px, 2px 20px,20px 2px, 2px 20px; background-repeat: repeat-x, repeat-y,repeat-x, repeat-y; }
.needsBlock03 .case dd { margin-top: 3vw; font-size: 4vw; }
.needsBlock03 .case dd.irregular { margin: -4.5em 120px 0 0; }
.needsBlock03 .case p { margin: 0; font-size: 4vw; }
.needsBlock03 .fee { margin-top: 12vw; }
.needsBlock03 .fee dl { position: relative; border: 0.4vw solid #f67db3; }
.needsBlock03 .fee dl:before { position: absolute; top: -8vw; right: 0; left: 0; margin: auto; width: 0; height: 0; border-top: 6vw solid #f67db3; border-right: 8vw solid transparent; border-left: 8vw solid transparent; content: ""; }
.needsBlock03 .fee dt { padding: 10px 0; background: #f67db3; color: #fff; text-align: center; font-weight: bold; font-size: 5vw; }
.needsBlock03 .fee dd { padding: 3vw; font-size: 4vw; }
.needsBlock03 h2 { margin-bottom: 3vw;padding: 3vw 10vw; border-radius: 50%; background: #f67db3; color: #fff; font-size: 6vw; }

.needsBlock04 { margin: 0 5vw; padding-bottom: 5vw; }



/*---------------------
   limit
---------------------*/
.limitBlock01 { margin: 0 5vw; padding-bottom: 5vw; }
.limitBlock02 { margin: 0 5vw; border: 0.2vw solid #fdd000; }
.limitBlock02in { margin: 0 5vw 5vw; }

.limitBlock02dl { border-top: 0.2vw solid #9fa0a0; border-right: 0.2vw solid #9fa0a0; border-left: 1px solid #9fa0a0; text-align: center; }
.limitBlock02dl dt { padding: 3vw 3vw 0; }
.limitBlock02dl dd { position: relative; padding: 10vw 3vw 3vw; border-bottom: 0.2vw solid #9fa0a0; }
.limitBlock02dl dd:before { position: absolute; top: 0; right: 0; left: 0; margin: auto; width: 2vw; height: 6vw; background: #000; content: ""; }
.limitBlock02dl dd:after { position: absolute; top: 6vw; right: 0; left: 0; margin: auto; width: 0; height: 0; border-top: 3vw solid #000; border-right: 3vw solid transparent; border-left: 3vw solid transparent; content: ""; }
.limitBlock02dl2 { font-weight: bold; }
.limitBlock02dl2 dt { padding: 3vw; background: #fff6cc; }
.limitBlock02dl2 dd { position: relative; padding-top: 15vw; text-align: center; font-size: 6vw; }
.limitBlock02dl2 dd:before { position: absolute; top: 4vw; right: 0; left: 0; margin: auto; width: 2vw; height: 6vw; background: #fdd000; content: ""; }
.limitBlock02dl2 dd:after { position: absolute; top: 10vw; right: 0; left: 0; margin: auto; width: 0; height: 0; border-top: 3vw solid #fdd000; border-right: 4vw solid transparent; border-left: 4vw solid transparent; content: ""; }

.limitBlock03 { margin: 0 5vw; }
.limitBlock03 .arrowTop { position: relative; padding-top: 10vw; }
.limitBlock03 .arrowTop:before { position: absolute; top: 0; right: 0; left: 0; margin: auto; width: 0; height: 0; border-top: 8vw solid #e60012; border-right: 10vw solid transparent; border-left: 10vw solid transparent; content: ""; }















/*---------------------
   terms
---------------------*/
.termsBlock { margin: 5vw; }
.termsBlock ul,
.termsBlock ol,
.termsBlock p,
.termsBlock table { margin-top: 3vw; }
.termsBlock th,
.termsBlock td { padding: 2vw 1vw; }
.termsBlock p small { display: block; }


/*---------------------
   service
---------------------*/



/*---------------------
   urgent
---------------------*/



/*---------------------
   example
---------------------*/



/*---------------------
   riskmanagement
---------------------*/



/*---------------------
   fee
---------------------*/



/*---------------------
   glossary
---------------------*/



/*---------------------
   sitepolicy
---------------------*/




/*---------------------
   contact
---------------------*/
.formBlock { margin: 0 4vw 8vw; }
.formBlock em.required { display: inline-block; padding: 1vw 2vw; background: #ca3131; color: #fff; font-weight: normal; font-style: normal; font-size: 1.2rem; line-height: 1; }
.formBlock em.optional { display: inline-block; padding: 1vw 2vw; background: #f67db3; color: #fff; font-weight: normal; font-style: normal; font-size: 1.2rem; line-height: 1; }
.formBlock h2 { margin-bottom: 4vw; }
.formBlock h3 { margin-top: 3vw; margin-bottom: 2vw; }
.formBlock h3 em { margin-right: 2vw; }
.formBlock p { margin-bottom: 1.5em; }
.formBlock .formType02 .formType02{ width: 85vw; }
.formBlock .borderBoxTopTxt{ margin-bottom: 1em; }
.formBlock .innerTxt { margin: 0 0 1.5em; }
.formBlock .innerTxt-indent4{ margin-left: 3.55em; text-indent: -3.55em; }
.formBlock .borderBoxInput { margin-bottom: 1.5em; }
.formBlock .btnBlock { text-align: center; }
.formBlock .btn { width: 70vw; margin: 2vw auto; font-weight: 500; font-size: 5vw; white-space: normal; }
.formBlock .formNoteList{ margin-bottom: 1em; padding-left: 1em; text-indent: -1em; }

.formBlock .optionalBlock { /* display: none; */ }
.formBlock .moreQ { position: relative; margin-bottom: 50px; padding: 0.5em; background: #f67db3; color: #fff; text-align: center; font-weight: bold; font-size: 2rem; }
.formBlock .moreQ:before { position: absolute; right: 0; bottom: -42px; left: 0; margin: auto; width: 0; height: 0; border-top: 28px solid #f67db3; border-right: 85px solid transparent; border-left: 85px solid transparent; content: ""; }
.formBlock .noticeBlock { margin: 10vw 0 2vw; padding: 3vw 5vw; border: 0.2vw solid #9fa0a0; }
.formBlock .noticeBlock dt { text-align: center; font-weight: bold; font-size: 4vw; }
.formBlock .noticeBlock dd { margin-top: 3vw;  }
.formBlock .noticeBlock dd:last-child { font-size: 1.4rem; }

.formType01 { margin-bottom: 5vw; border-collapse: collapse; }
.formType01 th { background: #f0f0f0; }
.formType01 th,
.formType01 td { display: block; padding: 3vw; border: 0.2vw solid #ccc; text-align: left; }
.formType01 th em { margin-right: 2vw; }
.formType01 td input[type=text],
.formType01 td input[type=email],
.formType01 td input[type=tel],
.formType01 td input[type=url] { padding: 1vw; width: 85vw; border: 1px solid #ccc; }
.formType01 td textarea { padding: 5px; width: 85vw; height: 160px; border: 1px solid #ccc; }
.formType01 label { display: inline-block; margin-right: 3vw; }
.formType01 input[type=radio],
.formType01 input[type=checkbox] { margin-right: 1vw; }

.formType02 { margin-bottom: 5vw; width: 90vw; border-collapse: collapse; }
.formType02 th { background: #f0f0f0; }
.formType02 th,
.formType02 td { display: block; padding: 3vw; border: 0.2vw solid #ccc; }
.formType02 th:not(.taC),
.formType02 td:not(.taC){ text-align: left; }
.formType02 td input[type=text] { margin: 0 1vw 1vw; padding: 1vw; width: 20vw; border: 1px solid #ccc; background: #fff;}
.formType02 td input.widthL { width: 80vw; }
.formType02 td input.widthM { width: 25vw; }
.formType02 td input.widthS { width: 11vw; }
.formType02 th.width100 {display: table-cell;width: 60vw; }
.formType02 td.width50 {display: table-cell;width: 30vw; }
.formType02 td textarea { margin: 0 1vw 1vw; padding: 1vw; width: 100%; height: 70vw; border: 1px solid #ccc; }
.formType02 th em { margin-right: 2vw; }
.formType02 label { display: inline-block; margin-right: 3vw; }
.formType02 input[type=radio], .formType02 input[type=checkbox] {margin-right: 1vw;}
.formType02 td input.widthW {width: 100%;}
.formType02 .tdL{margin-bottom: 5px;}

.formType03 { border-collapse: collapse; }
.formType03 th { background: #fef2f7; }
.formType03 th,
.formType03 td {display: table-cell; padding: 3vw; max-width: 46vw !important; border: 0.2vw solid #ccc; }
.formType03 td input[type=text],
.formType03 td input.widthL,
.formType03 td input.widthM,
.formType03 td input.widthS { width: 80% !important; }

.formNestTbl td input[type=text] { width: 100%!important; margin: 0!important;}

.formDoneBlock { margin: 8vw 4vw; padding: 5vw; background: #f0f0f0; text-align: center; }
.formDoneBlock p { margin-bottom: 1.5em; line-height: 1.6; }


.channelSwitch { position: relative; background: #ecebeb; }
.channelSwitchTitle { position: relative; padding: 4.5vw; text-align: center; font-weight: 500; font-size: 4vw; line-height: 1; }
.channelSwitchTitle:after { position: absolute; top: 0; right: 5vw; bottom: 0; margin: auto; width: 3vw; height: 3vw; border-top: 0.5vw solid #000; border-right: 0.5vw solid #000; content: ""; -webkit-transform: rotate(135deg); transform: rotate(135deg); }
.channelSwitchTitle.close:after { -webkit-transform: rotate(-45deg); transform: rotate(-45deg); }
.channelSwitchPanel { position: absolute; top: 13vw; left: 0; z-index: 3000; width: 100%; display: none; }
.channelSwitchPanel ul.close { display: block; }
.channelSwitchPanel li { border-top: 0.2vw solid #fff; }
.channelSwitchPanel li a { position: relative; display: block; padding: 3vw; color: #fff; text-align: center; text-decoration: none; font-size: 4.6vw; }
.channelSwitchPanel li:nth-child(1) a { background: #00665a; }
.channelSwitchPanel li:nth-child(2) a { background: #4754fe; }
.channelSwitchPanel li:nth-child(3) a { background: #39b019; }
.channelSwitchPanel li:nth-child(4) a { background: #f67db3; }
.channelSwitchPanel li:nth-child(5) a { background: #119fda; }
.channelSwitchPanel li a:after { position: absolute; top: 0; right: 4.5vw; bottom: 0; margin: auto; width: 5.7vw; height: 5.7vw; background: #f00; content: ""; }
.channelSwitchPanel li:nth-child(1) a:after { background: url("../img/icon01.png") no-repeat 0 0 / 5.7vw auto; }
.channelSwitchPanel li:nth-child(2) a:after { background: url("../img/icon02.png") no-repeat 0 0 / 5.7vw auto; }
.channelSwitchPanel li:nth-child(3) a:after { background: url("../img/icon03.png") no-repeat 0 0 / 5.7vw auto; }
.channelSwitchPanel li:nth-child(4) a:after { background: url("../img/icon04.png") no-repeat 0 0 / 5.7vw auto; }
.channelSwitchPanel li:nth-child(5) a:after { background: url("../img/icon05.png") no-repeat 0 0 / 5.7vw auto; }




