@charset "utf-8";
/*
Theme Name: IT業務に備える保険orgnl
Theme URI: https://it-cyber.jp/
Author URI: https://it-cyber.jp/
Description: 
*/
/* ===================================================================
 style info : 各cssファイル読み込み用
 author     : IT業務に備える保険
=================================================================== */

/*----------------------------------------------------------------------------------------------------------------------
リセット
----------------------------------------------------------------------------------------------------------------------*/
body,
div,
dl,
dt,
dd,
ul,
ol,
li,
h1,
h2,
h3,
h4,
h5,
h6,
pre,
form,
fieldset,
input,
textarea,
p,
blockquote,
th,
td,
section { 
	margin: 0;
	padding: 0;
}
div {border: 0;}

/* tables still need 'cellspacing="0"' */
table {
	border-collapse: collapse;
	border-spacing: 0;
	empty-cells: show;
}
fieldset,img { border: 0;}
img {vertical-align: bottom;}
address,
caption,
cite,
code,
dfn,
em,
strong,
th,
var {
	font-style: normal;
	font-weight: normal;
}
ol,ul {list-style: none;}
caption,th {text-align: left;}
h1,
h2,
h3,
h4,
h5,
h6 {
	font-size: 100%;
	font-weight: normal;
}
q:before,
q:after {
	content:'';
}
abbr,acronym {border:0;}
*{
	margin:0;
	padding:0;
	border:0;
}

/*----------------------------------------------------------------------------------------------------------------------
基本設定　ベース
----------------------------------------------------------------------------------------------------------------------*/
* {
    -webkit-box-sizing: border-box;
       -moz-box-sizing: border-box;
         -o-box-sizing: border-box;
        -ms-box-sizing: border-box;
            box-sizing: border-box;
}
body  {
font-family: "Helvetica Neue", "Helvetica", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Arial", "Yu Gothic", "Meiryo", sans-serif;
background:#FFF;
color:#0f0f0f;
-webkit-font-smoothing: antialiased !important;
font-size:16px;
line-height:1.5;
}

* html body {font-size: 75%; /* for IE6 */ }
*:first-child+html body {font-size: 75%; /* for IE7 */}

a{
color:#026eb9;
text-decoration:none;
}

a:hover{text-decoration:none;
filter:alpha(opacity=80);
-moz-opacity: 0.8;
opacity: 0.8;
}
a:hover img{
filter:alpha(opacity=80);
-moz-opacity: 0.8;
opacity: 0.8;
}

img{width:100%;height:auto;max-width:100%;}
.mt0{margin-top:0px !important;}
.mt5{margin-top:5px !important;}
.mt10{margin-top:10px !important;}
.mt15{margin-top:15px !important;}
.mt20{margin-top:20px !important;}
.mt25{margin-top:25px !important;}
.mt30{margin-top:30px !important;}
.mt40{margin-top:40px !important;}
.mt50{margin-top:50px !important;}
.mt60{margin-top:60px !important;}
.mt60-40{margin-top:60px !important;}
.mt60-50{margin-top:60px !important;}
.mt70{margin-top:70px !important;}
.mt80{margin-top:80px !important;}
.mt80-60{margin-top:80px !important;}
.mt100-80{margin-top:100px !important;}
.mt100{margin-top:100px !important;}
.mb0{margin-bottom:0px !important;}
.mb0-50{margin-bottom:0px !important;}
.mb5{margin-bottom:5px !important;}
.mb10{margin-bottom:10px !important;}
.mb15{margin-bottom:15px !important;}
.mb20{margin-bottom:20px !important;}
.mb25{margin-bottom:25px !important;}
.mb30{margin-bottom:30px !important;}
.mb40{margin-bottom:40px !important;}
.mb50{margin-bottom:50px !important;}
.mb60{margin-bottom:60px !important;}
.mb70{margin-bottom:70px !important;}
.mb80{margin-bottom:80px !important;}
.ml5{margin-left:5px !important;}
.ml10{margin-left:10px !important;}
.ml15{margin-left:15px !important;}
.ml20{margin-left:20px !important;}
.ml25{margin-left:25px !important;}
.ml30{margin-left:30px !important;}
.ml40{margin-left:40px !important;}
.ml50{margin-left:50px !important;}
.ml60{margin-left:60px !important;}
.mr5{margin-right:5px !important;}
.mr10{margin-right:10px !important;}
.mr15{margin-right:15px !important;}
.mr20{margin-right:20px !important;}
.mr25{margin-right:25px !important;}
.mr30{margin-right:30px !important;}
.mr40{margin-right:40px !important;}
.mr50{margin-right:50px !important;}
.mr60{margin-right:60px !important;}
.textRight{text-align:right;}
.textCenter{text-align:center;}
.fnt25{font-size:25px;}
.fnt23{font-size:23px;}
.fnt21{font-size:21px;}
.fnt20{font-size:20px;}
.fnt18{font-size:18px;}
.fnt17{font-size:17px;}
.fnt15{font-size:15px;}
.fnt14{font-size:14px;}
.fnt13{font-size:13px;}
.fnt12{font-size:12px;}
.fnt11{font-size:11px;}
.fntbld{font-weight:bold;}
.fntbld500{font-weight:500;}
strong{font-weight:bold;}
.white{color:#FFF;}

/*----------------------------------------------------------------------------------------------------------------------
基本設定　その他
----------------------------------------------------------------------------------------------------------------------*/
#pages{background:#FFF;}
.blueSc{color:#29abe3;}
.yellow{color:#fee100;}
.under{background: linear-gradient(transparent 60%, yellow 60%);}
.underRed{background: linear-gradient(transparent 60%, red 60%);}
.bgBl{background:#01afec;overflow:hidden;}
.bgYllw{background:#fefce5;overflow:hidden;}
.bgWtr{background:#e5f6fd;overflow:hidden;}
.pbrk{display:block;}
.dspc{display:inline-block;}
.dssp{display:none;}
/*----------------------------------------------------------------------------------------------------------------------
レイアウト設定
----------------------------------------------------------------------------------------------------------------------*/
main{overflow:hidden;}
div#contentsInner{
max-width:1000px;
width:94%;
margin:0px auto 30px auto;
overflow:hidden;
padding-top:10px;
}

#contentsInner h2{
font-size:25px;
font-weight:bold;
text-align:center;
margin:20px auto 20px auto;
padding:-10px 0 20px 0;
}
#contentsInner h2 span{vertical-align: 13px;}
#contentsInner h2::before{
content: "";
display: inline-block;
width:57px;
height:50px;
margin-right:15px;
display: inline-block;
background:url("img/bg_h2-before.png") no-repeat center;
background-size: contain;
}
#contentsInner h2::after{
content: "";
display: inline-block;
width:57px;
height:50px;
margin-left:15px;
display: inline-block;
background:url("img/bg_h2-after.png") no-repeat;
background-size: contain;
}

/*----------------------------------------------------------------------------------------------------------------------
個別ページ設定
----------------------------------------------------------------------------------------------------------------------*/
#pages #contentsInner h2{
margin:40px auto 20px auto;
padding:0px 0 0px 0;
}
#pages div#contentsInner{
margin:60px auto 40px auto;
max-width:800px;
width:90%;
}
#pages footer div#contentsInner{
margin:20px auto 40px auto;
max-width:750px;
width:90%;
}
#pages div#contentsInner a{
color:#1c1565;
text-decoration:underline;
}
#pages h3{
margin-bottom:20px;
padding:0.5em 0.8em;
color:#646464;
background:#d6d6d6;
text-align:left;
font-size:20px;
}
#pages h4{
font-size:20px;
text-align:left;
margin:30px 0 15px 0;
line-height:1.3;
padding:0 10px;
border-left:5px solid #aaaaaa;
color:#2c3194;
}
#pages div#contentsInner p{line-height:1.8;}
div.whiteBox{
border:1px solid #777;
background:#FFF;
padding:20px 25px;
margin:30px 0;
line-height:1.8;
}
#pages div#contentsInner ul.list{
margin-top:30px;
}
#pages div#contentsInner ul.list li{
position: relative;
padding-left: 25px;
margin:8px 0;

}
#pages div#contentsInner ul.list li::before{
content: "・";
font-size: 20px;
position: absolute;
top: -5px;
left: 0;
color:#777;
}
#pages div#contentsInner ol{
margin-top:30px;
counter-reset: count 0;
}
#pages div#contentsInner ol li{
margin:8px 0;
margin-left:1.2em;
text-indent:-1.1em;
}
#pages div#contentsInner ol li::before{
content: counter(count) ". ";
counter-increment: count 1;
color:#777;
}
#pages div#contentsInner dl{
margin:30px auto 5px auto;
font-size:15px;
overflow:hidden;
clear:both;
}
#pages div#contentsInner dl dt{
float:left;
width:15%;
margin-bottom:0px;
text-align:left;
position: relative;
padding:1em 0 0.6em 0;
border-bottom: 1px solid #aaa;
color:#666;
}
#pages div#contentsInner dl dt:after {
    position: absolute;
    content: " ";
    border-bottom: solid 1px #444;
    bottom: -1px;
    width: 15%;
    display: block;
  }
#pages div#contentsInner dl dd{margin-bottom:0px;margin-left:20%;border-bottom:1px solid #aaa;padding:1em 0 0.6em 0;}
#pages div.submit{margin-top:30px;}

/*----------------------------------------------------------------------------------------------------------------------
ヘッダー設定
----------------------------------------------------------------------------------------------------------------------*/
header{
width:100%;
background:#01afec;
overflow:hidden;
position: fixed;
top: 0;
left: 0;
padding:0 0;
box-sizing: border-box; 
z-index:100;
}
#headArea {
width: 98%;
max-width:1000px;
margin:0 auto;
overflow:hidden;
}
#headArea h2{
float:left;
font-size:23px;
font-weight:normal;
line-height:64px;
color:#fff;
}
#headArea h2 a{color:#fff;}
#headArea .callContact{
float:right;
width:62%;
height:66px;
}
#headArea .callContact .mail{
float:right;
background:#FFF;
height:37px;
padding:0 22px;
margin-top:14px;
border-radius:50px;
display: flex;
justify-content: center;
align-items: center;
}
#headArea .callContact .mail img{height:20px; width:auto;vertical-align:-4px;}
#headArea .callContact .mail a{color:#01afec;}
#headArea .callContact .mail span{padding-left:0.5em;vertical-align:1px;font-weight: bold;}
#headArea .callContact .call{
float:right;
height:100%;
padding:9px 10px 0 0;
color:#FFF;
width:65%;
}
#headArea .callContact .call dl{}
#headArea .callContact .call dl dt{float:left;padding-top:10px;margin-right:10px;}
#headArea .callContact .call dt img{height:20px; width:auto;}
#headArea .callContact .call dl dd{margin-left:34px;font-size:15px;margin-top:1px !important;}
#headArea .callContact .call p a{font-size:30px;color:#fff;}
#headArea .callContact .call dl dd span{margin-right:10px;vertical-align:-4px;}

/*----------------------------------------------------------------------------------------------------------------------
トップビジュアル設定
----------------------------------------------------------------------------------------------------------------------*/
div#mainVsl{margin:60px 0 0 0;position:relative;}
div#mainVsl #contentsInner2{
max-width:1000px;
width:100%;
margin:0 auto;
overflow:hidden;
/*padding-top:10px;*/
min-height:600px;
}
div#mainVsl div.mainBox{
margin:50px 0 0 0;
width:60%;
max-width:420px;
z-index:999;
}
div#mainVsl div.mainBox h3{
color:#FFF;
background:#01afec;
font-size:23px;
text-align:center;
padding:0.3em 0.5em;
margin-bottom:20px;
}
div#mainVsl div.mainBox .tel{
font-size:56px;
color:#01afec;
background:url(img/icon_tel-bl.png) no-repeat 0 12px;
background-size:50px 35px;
line-height:1;
margin:2px 0;
padding-left:60px;
}
div#mainVsl div.mainBox .tel img{width:auto;}
div#mainVsl p.vslimg{
position:absolute;
right:2%;
bottom:0px;
z-index:1;
}
div#mainVsl p.vslimg img{width:90%;max-width:680px;}

div#mainVsl h2{
font-size:34px;
text-align:center;
margin-top:5px;
}
div#mainVsl h2.spchbbl {
margin:60px auto 10px auto;
font-size:30px;
line-height: 1.3;
position: relative;
display: inline-block;
padding: 0 110px;
top: 0;
left: 50%;
transform: translateX(-50%);
-webkit-transform: translateX(-50%);
-ms-transform: translateX(-50%);
}
div#mainVsl h2.spchbbl:before, div#mainVsl h2.spchbbl:after {
content: '';
position: absolute;
top: 10%;
display: inline-block;
width: 100px;
height: 3px;
background-color: black;
}
div#mainVsl h2.spchbbl:before {
-webkit-transform: rotate(50deg);
transform: rotate(50deg);
left:0;
}
div#mainVsl h2.spchbbl:after {
-webkit-transform: rotate(-50deg);
transform: rotate(-50deg);
right: 0;
}

div#mainVsl h1{
text-align:center;
font-size:65px;
letter-spacing:1px;
line-height:1.2;
font-weight: bold;
}

div#mainVsl p.shonin{
color:#8e8e8e;
}

/*----------------------------------------------------------------------------------------------------------------------
コンテンツ設定
----------------------------------------------------------------------------------------------------------------------*/
ul.squareList{text-align: center;}
ul.squareList li{display: inline-block;width:23%;overflow:hidden;margin:0 0.5%;}
ul.squareList li span.img{
border-radius:50%;
background:#FFF;
width:100%;
max-width:230px;
display: flex;
align-items: center;
margin-bottom:20px;
}
ul.squareList li span.img:before{
 content: '';
 display: block;
 padding-top: 100%;
}
ul.squareList img{width:auto;margin: 0 auto;}
ul.squareList li p{
text-align:left;
color:#FFF;
font-size:16px;
font-weight: 500;
}

ul.listBox{
width:96%;
margin:auto;
overflow: hidden;
display:flex;
flex-wrap:wrap;
font-size:24px;
margin:40px auto 30px auto;
}
ul.listBox li{
background:#f2f2f2;
border-radius:5px;
width:48%;
float:left;
margin:0 4% 0 0;
text-align:center;
font-size:21px;
font-weight:600;
padding:10px 10px;
}
ul.listBox li:last-child{margin-right:0 !important;}
ul.listBox img.listBoximg{width:auto;height:245px;display:block;margin:0.4em auto 0.8em auto;}

div.boxTw{border-bottom:2px dashed #b9b9b9;padding:0 30px 30px;margin:30px auto 30px auto;overflow:hidden;}
div.boxTw:last-of-type{border:none;margin-bottom:0px;}
div.boxTw div.txt{float:left; width:70%;text-align:left;margin-right:5%;}
div.boxTw div.txt h3{text-align:left;font-size:22px;line-height:1.3;margin-bottom:25px;font-weight:bold;}
div.boxTw div.img{float:right;width:22%;}
div.boxTw div.img img{width:auto; height:auto;}

div.twoBox{overflow:hidden;margin-top:40px;}
div.twoBox h3{
padding-right:20px;
color:#FEE100;
-webkit-text-stroke: 1px #000;
text-stroke: 1px #000;
font-size:36px;
font-weight:bold;
text-shadow: 2px 2px 1px rgba(0, 0, 0, 1.0);
line-height:1.5;
margin-top:40px;
}

div.twoBox div.text{
float:left;
width:50%;
max-width:490px;
}
div.twoBox div.text dl{padding-right:20px;}
div.twoBox div.text dl dt{
font-weight:bold;
font-size:18px;
line-height:1.4;
}
div.twoBox div.text dl dt::before{
content: '';
display: inline-block;
width: 19px;
height: 19px;
background: url("img/arrow_blue.png") no-repeat;
background-size: contain;
vertical-align:-3px;
padding-right:5px;
}
div.twoBox div.text dl dd{
margin-bottom:18px;
padding-bottom:18px;
padding-top: 10px;
border-bottom:2px dashed #b9b9b9;
}
div.twoBox div.text dl dd:last-child{border:none;}
div.twoBox div.text dl dd:last-child{margin-bottom:0 !important;}
div.twoBox div.img{
float:right;
width:49%;
max-width:480px;
}
/*div.twoBox div.img img{width:auto;}*/
div.check{
position:relative;
clear:both;
margin:40px auto 30px;
background:#01afec;
padding:0 30px 0 270px;
font-size: 20px;
font-weight: bold;
line-height:1.8;
border-radius:8px;
height:180px;
letter-spacing:1px;
color:#FFF;
}
div.check p{
position:absolute;
top:50%;
transform: translate(0,-50%);
padding-right:30px;
}
div.check span.img{
position:absolute;
bottom:0;
left:60px;
width:100%;
max-width:150px;
height:auto;
}
div.boxContents {
overflow: hidden;
display:flex;
flex-wrap:wrap;
}
div.boxContents .item {
float: left; 
padding: 30px 15px 22px 18px;
text-align: center;
width:48%;
margin:0 4% 20px 0;
border:3px solid #b2b2b2;
border-radius:10px;
position:relative;
}
div.boxContents .item2 {
float: left; 
padding: 30px 15px 22px 18px;
text-align: center;
width:23%;
margin:0 2% 20px 0;
border:3px solid #b2b2b2;
border-radius:10px;
}
div.boxContents .item .icon{
width:auto;
height:130px;
position:absolute;
top:20px;
right:12px;
}
div.boxContents .item2 .icon{
width:auto;
height:130px;
margin:0 auto 1em auto;
display:block;
}
div.boxContents .item:nth-child(2n){margin-right:0;}
div.boxContents .item2:nth-child(2n){margin-right:4%;}
div.boxContents .item2:last-child{margin-right:0;}
div.boxContents .item h4,
div.boxContents .item2 h4{
text-align:left;
font-weight:bold;
font-size:19px;
color:#01afec;
line-height:1.3;
}
div.boxContents ul{
overflow:hidden;
margin:20px 0 0 0;
font-size:15px;
}
div.boxContents ul.shrt{width:80%;}
div.boxContents ul li:before {
content: "";
width: 14px;
height: 14px;
display:  inline-block;
background-color: #fee100;
border-radius:  50%;
position:  relative;
top: 0; 
margin-right: 5px; 
}
div.boxContents ul li{
text-align:left;
margin-left:1.2em;
text-indent:-1.2em;
margin-bottom: 0.2em;
}

div.example{
background:#fff;
padding:30px;
margin:0 0 35px 0;
overflow:hidden;
border-radius:10px;
border:3px solid #01afec;
}
div.example h3{
text-align:left;
background:#eaeaea;
font-size:18px;
padding:5px 0 5px 0;
margin-bottom:30px;
font-weight:bold;
line-height:1.7;
}
div.example h3 span{
font-weight:normal;
color:#FFF;
background:#01afec;
height:100%;
padding:10px;
margin-right:15px;
}
div.example p{line-height:1.5;}
div.example p.loss{
color:#e50014;
margin-top:5px;
font-size: 21px;
font-weight: bold;
}
div.example div.left{
float:left;
width:65%;
font-size:15px;
max-width:650px;
}
div.example div.right{
float:right;
width:32%;
max-width:320px;
text-align:center;
}
div.example div.right img{width:95%;}
div.example div.right div.attention{
border:2px solid #e50014;
background:url(img/icon_caution.png) no-repeat left 15px top 15px #fee100;
background-size: 25px 24px;
border-radius:6px;
margin-top:20px;
padding:15px 15px 15px 50px;
text-align:left;
color:#e50014;
}
div.twoClm{
width:48.5%;
max-width:485px;
float:left;
margin-right:3%;
}
div.twoClm:nth-of-type(even){margin-right:0 !important;}

div.secArea{overflow:hidden;display: flex;margin-bottom:20px;}
div.secArea .left{
width:49%;
margin-right:5%;
background:#e5f6fd;
border:2px solid #01afec;
border-radius: 5px;
padding:1.7em 1.5em;
line-height:1.7;
}
div.secArea .right{width:46%;}

div.bnnrArea {width:100%;overflow:hidden;margin-bottom:30px;}
div.bnnrArea p.tokiomarine{float:left;width:60%;}
div.bnnrArea p.tokiomarine img{width:48%;max-width:322px;}
div.bnnrArea dl {float:left;margin-left:2%;}

/*----------------------------------------------------------------------------------------------------------------------
form関連設定
----------------------------------------------------------------------------------------------------------------------*/
div.blueBrdBox{
margin-top:15px;
background:#eaf9ff;
border:3px solid #e8e8e8;
border-radius:10px;
padding:20px 28px 23px 186px;
min-height:135px;
position:relative;
color:#777;
line-height:1.7;
}
div.blueBrdBox span{
position:absolute;
top:19px;
left:50px;
width:92px;
height:auto;
}
div.blueBrdBox h5{color:#000;}
div.blueBrdBox a{color:#2a36b0;text-decoration:underline;}

div.grayBox{
background:#f7f7f7;
padding:25px 35px;
margin:40px 0 30px 0;
font-size:15px;
overflow:hidden;
}
div.grayBox div.txt{
width:75%;
float:left;
}
div.grayBox h3{font-size:18px;font-weight:bold;margin-bottom:10px;}

div.grayBox div.sec {
padding-top:15px;
text-align:center;
width:20%;
float:right;
}
div.grayBox p.sec img{width:auto;height:auto;}
div.mw_wp_form_input div.confTxt,
div.mw_wp_form_complete div.confTxt{display:none !important;}
div.mw_wp_form_confirm div.confTxt{display:block;margin:50px auto 20px auto !important;overflow:hidden;}
div.form{margin:0 auto 30px auto;width:96%;max-width:1000px;text-align:center;}
div.form dl{
margin:0px auto 20px auto;
text-align:left;
overflow:hidden;
width:100% !important;
font-size:18px;
}

div.form dl dt{
float:left !important;
width:40% !important;
background:#FFF;
padding:30px 0 30px 20px !important;
clear:left !important;
height:87px !important;
border:none !important;
}
div.form dl dt:after{display:none !important;}

div.form dl dt span{
background:#e70012;
color:#fff;
font-size:14px;
padding:5px 7px;
float:right;
margin-right:10%;
}
div.form dl dd{
padding:30px 0 30px 5px !important;
float:left;
width:60% !important;
height:87px !important;
border:none !important;
margin:0 !important;
}
div.form dl dt.h150,div.form dl dd.h150{height:auto !important;}

input[type="text"],
input[type="email"],
input[type="tel"]{
border:1px solid #999;
padding:1.2em;
width:100%;
max-width:600px;
border-radius: 5px;
}
textarea{
border:1px solid #999;
width:100%;
max-width:600px;
padding:0.8em;
border-radius: 5px;
}
div.submit{}
div.submit p{display:inline-block;}
input[type="submit"]{
padding:0.8em 5em 0.8em 5em;
border-radius: 30px;
cursor: pointer;
color:#fff;
font-weight:bold;
background:#01afec;
font-size:18px;
letter-spacing:1px;
}
input[type="submit"]:hover{background:#1b89f5;}
button[type="submit"]{
padding:0.8em 5em 0.8em 5em;
border-radius: 30px;
cursor: pointer;
color:#fff;
font-weight:bold;
background:#aaa;
font-size:18px;
letter-spacing:1px;
margin-right:1em;
}
button[type="submit"]:hover{background:#999;}


/*----------------------------------------------------------------------------------------------------------------------
フッター設定
----------------------------------------------------------------------------------------------------------------------*/
#pagetop {
position: fixed;
bottom: 3%;
right: 5em;
padding:10px 16px 12px 16px;
color: #fff;
text-decoration: none;
background:#000;
border-radius: 5px;
}
.dli-chevron-up {
display: inline-block;
vertical-align: middle;
color: #fff;
line-height: 1;
width: 1em;
height: 1em;
border: 0.2em solid currentColor;
border-left: 0;
border-bottom: 0;
box-sizing: border-box;
transform: translateY(25%) rotate(-45deg);
}
footer{
width:100%;
color:#000;
overflow:hidden;
}
footer #footerGrBox{
background:#f2f2f2;
padding:20px 0;

}
footer #contentsInner .comp{
width:100%;
max-width:1000px;
margin:0 auto;
}
footer #contentsInner .comp dl{
border:solid #b9b9b9;
border-width:0 0 2px 0;
font-size:18px;
line-height:1.6;
}
footer #contentsInner .comp dl dt{
width:18%;
max-width:180px;
float:left;
border:solid #b9b9b9;
border-width:2px 0 0 0;
padding:20px 0;
}
footer #contentsInner .comp dl dd{
width:82%;
max-width:820px;
border:solid #b9b9b9;
border-width:2px 0 0 0;
margin-left:18%;
padding:20px 0;
}

footer ul.menu{
list-style-type: none;
padding: 0;
display: flex;
justify-content: center;
margin:30px auto;
}
footer ul.menu li{
border-right:1px solid #aaa;
margin-right:25px;
padding-right:25px;
}
footer ul.menu li:last-child{border:none;margin-right:0;padding-right:0;}
footer ul.menu li::before{display:none;}
footer ul.menu li a{color:#999 !important; text-decoration:none !important;}
footer ul.menu li a:hover{text-decoration:underline !important;}
footer .bgArea{
background:url(img/bg_footer.png)repeat-x;
padding-top:73px;
margin-top:10px;
}
footer address{
background:#01afec;
text-align:center;
font-size:14px;
color:#FFF;
padding:14px 0;
}

/*----------------------------------------------------------------------------------------------------------------------
フッターmodule設定
----------------------------------------------------------------------------------------------------------------------*/
#moduleFootArea{
width:100%;
max-width:985px;
margin:20px auto;
border:1px solid #dedede;
border-width:0 0 1px 0;
padding:20px 0;
color:#6e6e6e;
font-size:14px;
}
#moduleFootArea .contentsBox{
float:left;
width:32.1%;
max-width:317px;
margin-right:1.72%;
position: relative;
}
#moduleFootArea .contentsBox:nth-of-type(3){margin-right:0 !important;}
#moduleFootArea .contentsBox img{width:94%;height:auto;max-width:100%;}
#moduleFootArea .contentsBox span{
border:1px solid #b4b4b4;
margin-bottom:10px;
min-height:94px;
display: flex;
justify-content: center;
align-items: center;
padding:0 0.3em;
}
#moduleFootArea .contentsBox a{
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
}
#moduleFootArea .contentsBox:hover,#companyInf:hover{opacity: 0.7;}
#companyInf{
clear:both;
display: flex;
justify-content: center;
padding-top:35px;
position: relative;
}
#companyInf .img{width:30%;max-width:120px;}
#companyInf .img img{width:100%;height:auto;max-width:120px;}
#companyInf .companyTxt{
border-left:1px solid #b4b4b4;
margin-left:20px;
padding-left:20px;
}
#companyInf .companyTxt p{margin:2px 0;}
#companyInf .companyTxt span.arrow{position: relative;padding: 0 0 0 12px;color:#05459b;}
#companyInf .companyTxt span.arrow::before{
content: "";
position: absolute;
top: 50%;   /* 縦軸をセンタリングする */ 
left: 0;
transform: translateY(-50%);
border: 5px solid transparent;
border-left: 8px solid #05459b
}
#companyInf a{
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
}
@media screen and (max-width: 768px) {
#moduleFootArea{
width:96%;
max-width:500px;
}
#moduleFootArea .contentsBox{
float:none;
width:100%;
max-width:500px;
margin:0 0 20px 0;
}
#moduleFootArea .contentsBox span{
min-height:80px;
padding:0.1em 0.3em;
}
#companyInf{padding-top:10px;}
}
/*----------------------------------------------------------------------------------------------------------------------
SP設定　タブレット表示用 横
----------------------------------------------------------------------------------------------------------------------*/
@media screen and  (max-width: 1220px)  {
div#mainVsl p.vslimg{right:-4%;}
div#mainVsl p.vslimg img{width:90%;max-width:630px;}

}
@media screen and  (max-width: 990px)  {

#headArea {width: 96%;}
#headArea h2{
float:none;
font-size:19px;
line-height:1.1;
margin:0.5em 0 0.2em 0;
}
#headArea .callContact{
float:none;
width:100%;
height:auto;
position:relative;
margin-bottom:0.3em;
}
#headArea .callContact .mail{
float:none;
position:absolute;
right:0;
top:-60%;
height:34px;
padding:0 22px;
margin-top:10px;
}
#headArea .callContact .call{
float:none;
height:100%;
padding:0 10px 0 0;
width:90%;
}
#headArea .callContact .call dl dt{padding-top:7px;}
#headArea .callContact .call dl dd{margin-left:34px;}
#headArea .callContact .call p a{font-size:28px;}
#headArea .callContact .call dl dd span{margin-right:10px;}


#contentsInner h2{
font-size: calc(100vw / ( 780 / 23 ));
}
#contentsInner h2::before{
width:45px;
height:40px;
margin-right:15px;
background-size:contain;
}
#contentsInner h2::after{
width:45px;
height:40px;
margin-left:15px;
background-size:contain;
}

div#mainVsl div.mainBox{
margin:-1px auto 2em auto;
width:96%;
max-width:900px;
text-align:center;
}
div#mainVsl div.mainBox .spBox{margin:0 auto;display:inline-block;text-align:left;}
div#mainVsl p.vslimg{
position:static;
text-align:center;
margin-top:-30px;
}
div#mainVsl p.vslimg img{width:90%;max-width:600px;}
div#mainVsl h2{font-size: calc(100vw / ( 680 / 28 ));}
div#mainVsl h2.spchbbl {
margin:80px auto 10px auto;
font-size: calc(100vw / ( 680 / 25 ));
padding: 0 80px;
}
div#mainVsl h2.spchbbl:before, div#mainVsl h2.spchbbl:after {width: 70px;height: 2px;}
div#mainVsl h2.spchbbl:before {-webkit-transform: rotate(40deg);transform: rotate(40deg);}
div#mainVsl h2.spchbbl:after {-webkit-transform: rotate(-40deg);transform: rotate(-40deg);}
div#mainVsl h1{font-size: calc(100vw / ( 680 / 40 ));}


ul.squareList {display: flex;flex-wrap: wrap;}
ul.squareList li{width:47%;margin:0 1% 20px 2%;}

ul.squareList li span.img{
margin:0 auto 10px auto;
aspect-ratio: 1;
}

div.boxContents .item {
float: none; 
width:100%;
margin:0 auto 20px auto;
padding: 15px 10px 15px 10px;
}
div.boxContents .item2 {
width:48%;
margin:0 4% 20px 0;
padding: 15px 10px 15px 10px;
}
div.boxContents .item:nth-child(2n){margin-right:auto;}
div.boxContents .item2:nth-child(2n){margin-right:0;}
div.boxContents .item2 h4{text-align:center;}

div.twoBox{margin-top:10px;}
div.twoBox h3{
padding-right:0;
margin-bottom:40px;
text-align:center;
}

div.twoBox div.text{
float:none;
width:100%;
max-width:800px;
margin-top:20px;
}
div.twoBox div.img{
float:none;
width:100%;
margin:20px auto 0 auto;
max-width:500px;
}

div.example div.left{
float:none;
width:100%;
font-size:15px;
max-width:900px;
}
div.example div.right{
float:none;
width:100%;
max-width:900px;
overflow:hidden;
display:flex;
margin-top:20px;
}
div.example p.loss{margin:15px 0;}
div.example div.right div.expict{width:48%;margin-right:4%;}
div.example div.right img{width:95%;}
div.example div.right div.attention{width:48%;margin-top:0;}

div.twoClm{
width:100%;
max-width:900px;
float:none;
margin-right:0;
}
div.secArea{display:block;margin-bottom:10px;}
div.secArea .left{
width:96%;
margin:20px auto;
}
div.secArea .right{width:96%;margin:auto auto;}

ul.listBox img.listBoximg{height:auto;max-height:340px;margin:0.4em auto 0.8em auto;}

div.check{
padding:20px 0 0 0 ;
font-size:20px;
height:auto;
line-height:1.5;
overflow:hidden;
}
div.check p{
padding-right:0;
right:3%;
width:76%;
}
div.check span.img{
position:static;
float:left;
width:auto;
width:15%;
margin:2% 0 0 3%;
}

footer #contentsInner .comp{
width:100%;
max-width:1000px;
margin:0 auto;
}
footer #contentsInner .comp dl{font-size:18px;}
footer #contentsInner .comp dl dt{
width:24%;
max-width:220px;
}
footer #contentsInner .comp dl dd{
width:76%;
max-width:600px;
margin-left:24%;
}
#pagetop {right: 2em;}
div.grayBox div.txt{width:100%;float:none;}
div.grayBox div.sec {
padding-top:15px;
text-align:left;
width:20%;
float:none;
}
div.grayBox p.sec img{width:auto;height:auto;}

div.bnnrArea p.tokiomarine{float:left;width:67%;}
div.bnnrArea p.tokiomarine img{width:45%;max-width:322px;}
div.bnnrArea dl {float:left;margin-left:2%;width:31%;}


}
/*----------------------------------------------------------------------------------------------------------------------
SP設定　スマホ表示用
----------------------------------------------------------------------------------------------------------------------*/
@media(min-width: 768px){
  a[href^="tel:"]{
    pointer-events: none;
  }
}

@media screen and (max-width: 680px) {

#pages #contentsInner h2{
font-size:22px;
margin:70px auto 20px auto;
padding:0px 0 0px 0;
}

div.check{font-size: calc(100vw / ( 680 / 20 ));}

div.boxTw{border-bottom:2px dashed #b9b9b9;padding:0 10px 30px 10px;margin:30px auto 30px auto;overflow:hidden;}
div.boxTw:last-of-type{border:none;margin-bottom:0px;}
div.boxTw div.txt{float:none; width:100%;margin-right:0;font-size:16px;}
div.boxTw div.txt h3{font-size:18px;margin-bottom:20px;line-height:1.5;}
div.boxTw div.img{float:none;width:100%;max-width:180px;margin:0 auto 20px auto;text-align:center;}

div.example div.right{display:block;}
div.example div.right div.expict{width:100%;margin-right:0;margin-top:10px;}
div.example div.right img{width:auto;}
div.example div.right div.attention{width:100%;margin-top:15px;}

 div.twoBox h3{
font-size:30px;
text-shadow: 2px 2px 1px rgba(0, 0, 0, 1.0);
line-height:1.5;
margin-top:40px;
}

/*ul.squareList img{width:auto;max-width:150px;height:auto;max-height:200px;}*/

div.grayBox{padding:25px 20px;}
div.form dl{font-size:16px;}
div.form dl dt{
float:none !important;
width:100% !important;
padding:20px 0 5px 0 !important;
height:60px !important;
}

div.bnnrArea p.tokiomarine{float:none;width:100%;}
div.bnnrArea p.tokiomarine img{width:46%;max-width:322px;}
div.bnnrArea dl {float:none;margin:15px 0 0 0;width:100%;}


div.form dl dt span{font-size:14px;padding:5px 7px;margin-right:2%;}
div.form dl dd{width:100% !important;padding:5px 0 20px 0 !important;height:60px !important;}
div.form dl dt.h150{height:60px !important;}
div.form dl dd.h150{height:auto !important;}
input[type="text"],
input[type="email"],
input[type="tel"],
textarea{width:98%;max-width:600px;}

}
/*----------------------------------------------------------------------------------------------------------------------
SP設定　スマホ表示用
----------------------------------------------------------------------------------------------------------------------*/
@media screen and (max-width: 480px) {

.dssp{display:inline-block;}
.dspc{display:none;}
.mt50{margin-top:25px !important;}
.fnt23{font-size:21px;}
	
ul.squareList li p{font-size:16px;}

div#mainVsl h2.spchbbl {font-size: calc(100vw / ( 480 / 24 ));margin-top:30px;}
div#mainVsl h2{font-size: calc(100vw / ( 480 / 24 ));}
div#mainVsl h1{font-size: calc(100vw / ( 480 / 48 ));}
div#mainVsl p.vslimg{
margin-top:0px;
}
div#mainVsl div.mainBox p.shonin.mt20{font-size:15px;margin-top:10px !important;}
div#mainVsl h2.spchbbl:before, div#mainVsl h2.spchbbl:after {
top: 40%;
width: 80px;
}
div#contentsInner{margin:0px auto 10px auto;}
div.twoBox h3{
font-size:22px;
margin-top:20px;
}
ul.listBox{margin: 20px auto 20px auto;}
ul.listBox li{font-size:15px;padding:10px 8px;}
ul.listBox img.listBoximg{height:auto;max-height:110px;margin:0.4em auto 0.8em auto;}


#pages #contentsInner h2{
margin-bottom:40px;
padding:0px 50px 0px 50px;
}
#contentsInner h2 span{vertical-align:middle;}
#contentsInner h2 {
margin:30px auto 40px auto;
font-size: calc(100vw / ( 480 / 24 ));
position: relative;
display: inline-block;
line-height:1.2;
padding: 0 45px;
top: 0;
left: 50%;
transform: translateX(-50%);
-webkit-transform: translateX(-50%);
-ms-transform: translateX(-50%);
}
#contentsInner h2:before,#contentsInner h2:after {
content: '';
position: absolute;
top: 40%;
display: inline-block;
width: 55px;
height: 7px;
background-color:#fee100;
background-image:none;
}
#contentsInner h2:before {
-webkit-transform: rotate(55deg);
transform: rotate(55deg);
left:0;
}
#contentsInner h2:after {
-webkit-transform: rotate(-55deg);
transform: rotate(-55deg);
right: 0;
}


.textCenter{text-align:left;}
#headArea .callContact{margin-bottom:0.3em;}
#headArea .callContact .mail{
top:-70%;
padding:0 16px;
font-size:14px;
margin-top:0;
height:27px;
}
#headArea .callContact .call{
padding:0 10px 0 0;
width:100%;
}
#headArea .callContact .call dl dt{padding-top:2px;margin-right:3px;}
#headArea .callContact .call dt img{height:16px; width:auto;}
#headArea .callContact .call dl dd{margin-left:34px;font-size:13px;}
#headArea .callContact .call p a{font-size:24px;}
#headArea .callContact .call dl dd span{vertical-align:-3px;}

div#mainVsl div.mainBox h3{font-size:21px;}
div#mainVsl div.mainBox .tel{
font-size:46px;
background:url(img/icon_tel-bl.png) no-repeat 0 8px;
background-size:50px 35px;
}
div#mainVsl div.mainBox .tel a{color:#01afec;}
div#mainVsl div.mainBox div.spBox .fnt18{font-size:14px;}

div.boxContents .item h4,
div.boxContents .item2 h4{font-size:19px;text-align:center;}
div.boxContents .item .icon{
position:static;
margin:0 auto 1em auto;
display:block;
}
div.check{
padding:20px 0;
font-size:15px;
min-height:110px;
line-height:1.4;
overflow:hidden;
position:relative;
}
div.check p{
width:70%;
float:right;
transform:none;
position:static;
margin-right:10px;
line-height:1.6;
}
div.check span.img{
width:22%;
position:absolute;
bottom:0;
left:3px;
}

div.boxContents ul.shrt{width:100%;}
div.twoBox div.text dl {padding-right: 5px;}
div.twoBox div.text dl dt{font-size:18px;}
div.example div.right img{width:90%;}

div.example{padding:20px;}
div.example h3{
font-size:15px;
margin-bottom: 15px;
padding:6px 0 5px 0;
}
div.example h3 span{
padding:10px 7px 10px 8px;
margin-right:10px;
}

div.example div.right div.attention{
border:2px solid #e50014;
background:url(img/icon_caution.png) no-repeat left 12px top 12px #fee100;
background-size: 20px 20px;
border-radius:5px;
margin-top:20px;
padding:10px 10px 10px 40px;
text-align:left;
color:#e50014;
}

#pages div#contentsInner dl dt,
footer .comp dl dt{
float:none;
width:100%;
}
#pages div#contentsInner dl dt:after,
footer .comp dl dt:after {width: 5%;}
#pages div#contentsInner dl dd,
footer .comp dl dd{margin-bottom:1em;margin-left:0;padding:0.6em 0;}
footer ul.menu li{
margin-right:15px;
padding-right:15px;
}


footer #contentsInner .comp dl{font-size:18px;}
footer #contentsInner .comp dl dt{
width:100%;
max-width:460px;
float:none;
padding:15px 0;
}
footer #contentsInner .comp dl dd{
width:100%;
max-width:460px;
margin-left:0;
padding:20px 0;
}

}

/*----------------------------------------------------------------------------------------------------------------------
SP設定　スマホ表示用
----------------------------------------------------------------------------------------------------------------------*/
@media screen and (max-width: 430px) {

.pbrk{display:inline;}

div.example h3{
font-size:15px;
padding:0 0 0 0;
height:38px;
vertical-align:middle;
}
div.example h3 span{
padding:7px 7px 0 8px;
margin-right:10px;
height:38px;
display:inline-block;
vertical-align:0px;
}

}