@charset "utf-8";
/* -------------------------------------
     Site CSS
 (c) Copyright 2024 Sketches of Design
     version 2024-07-04
------------------------------------- */
*{
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}
/*
*{
  outline: 2px solid red;
}
*/
html{
  scroll-behavior: smooth;
  -webkit-text-size-adjust: 100%;
 }

/*  General Rules
--------------------------------------*/
body{
  font-family: "Roboto",'Noto Sans JP', 'メイリオ', Meiryo, 'ＭＳ Ｐゴシック','ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', sans-serif;
  line-height: 1.6;
  font-weight: 400;
}
/* Defalut Settings */
.box{
  margin: 15px 0 !important;
  padding: 20px;
  background: #f0f3fa;
}
img{
  margin: 0 0 1em 0;
  border: 0;
  vertical-align: bottom;
  image-rendering: -webkit-optimize-contrast;
  max-width: 100%;
}
br{
  letter-spacing: 0;
}
.first{
  margin-left: 0 !important;
}
#content p{
  margin-top: 0;
  margin-bottom: 0.7em;
  letter-spacing:0.06em;
  line-height: 1.7;
}
#content p:last-child{
  margin-bottom: 0;
}
.image{
  margin:0;
  text-indent:0;
}
.copy{
  text-indent:0;
  text-align:center;
}
.posted{
  margin-top: 2em !important;
  text-indent:0;
  text-align:right;
  color: #000;
  font-weight: 700;
}
.posted em{
  font-size: 2.0rem;
  font-style: normal;
  color: #000;
}
.fLeft{
  float: left;
  display: inline;
  margin: 0 1.5em 0.5em 0;
}
.fRight{
  float: right;
  display: inline;
  margin: 0 0 0.5em 1.5em;
}
#btt{
  position: fixed;
  right: 20px;
  bottom: 20px;
  margin: 0;
  z-index: 5000;
  width: 40px;
  height: 40px;
}
#btt a{
  background: url("../img/nav-btt.png") 0 0 no-repeat;
	background-size: 40px 40px !important;
	-webkit-background-size: 40px 40px !important;
	-moz-background-size: 40px 40px !important;
	-ms-background-size: 40px 40px !important;
	-o-background-size: 40px 40px !important;
}
#btt a:hover{
  filter: alpha(opacity=60);
  -moz-opacity:0.60;
  opacity:0.60;
}
.external {
    background: url("../img/nav_external.svg") right center no-repeat;
    margin-right: 4px;
    padding-right: 14px;
}
a[href$=".pdf"] span{   
  background: url("../img/nav-pdf.gif") no-repeat 100% 50%; 
  padding-right: 20px; 
} 
span.arrow{
  font-family: Verdana, sans-serif;
  font-weight: bold;
}
/* Accessibility */
.skip{
  position:absolute;
  left:-10000px;
  width:0;
  /* \*/
  overflow: hidden !important;
  /* */
}
.accesibilty{
  display:none;
}
/* Form */
form{
  margin: 0 0 1em 0;
}
fieldset{
  padding: 0.25em 0.5em;
}
form dl{
  margin: 0 0 0.5em 0;
}
form dl dt{
  font-weight: normal;
}
form dl dd{
  margin-left: 0;
}
/* Defalut Link Design */
a{
  transition: .3s;
}
/*a:hover{
  opacity: 0.5;
  transform: translateY(5px);
}*/
a:link,
a:visited,
a:active{
  color: #0038CC;
  text-decoration: underline;
}
a:hover{
  color: #0038CC;
  text-decoration: none;
}
/* list */
ul{
  margin: 0 0 0.5em 0;
  padding-left: 1.5em;
  list-style:disc;
}
ul ul{
  margin:0;
  list-style:circle;
  padding-left:1em;
}
ol{
  margin: 0 0 0.5em 0;
  list-style: decimal;
  padding-left: 2.5em;
}
dl{
  margin: 0 0 0.5em 0;
}
dt{
  font-weight: bold;
}
dd{
  padding-left:1em;
}
#content ul,
#content ol{
  margin: 0 0 0 1em;
  padding: 0;
}
#content ul{
  list-style-type: none;
}
#content ol{
  margin: 0 0 1em 40px;
  list-style-position: outside;
}
#content ol li,
#content ul li{
  margin: 0 0 0.8em 0;
}
#content ol li:last-child,
#content ul li:last-child{
  margin-bottom: 0;
}
#content ul li{
  position: relative;
  padding: 0 0 0 10px;
}
#content ul li:before{
  position: absolute;
  content: "";
  background-color: #ff0000;
  left: 0;
  top: 0.55em;
  margin: auto;
  height: 5px;
  width: 5px;
}
ol.bc{
  margin: 0 auto !important;
  padding: 5px 0;
  width: 960px;
  font-size: 79%;
  list-style: none;
  border-bottom: none;
  text-align: left;
}
ol.bc li span.arrow{
  margin: 0 0 0 0.2em;
}
ol.bc li a{
  color: #4d4d4d;
}
ol.bc li{
  display: inline;
  color: #999;
  margin: 0;
  padding: 0;
}
ol.bc li.first{
  background: none;
  padding-left: 0;
}
ol.bc li strong{
  color: #333;
  font-weight: normal;
}
ol.bc span{
  margin: 0 0 0 5px;
}
ul.flat{
  margin: 0 !important;
  list-style: none !important;
}
ul.flat li{
/*  display: inline;*/
}
ul.flat li:before{
  display: none;
}
/* table */
table{
  margin: 0 0 10px 0;
  border: none;
  border-collapse: collapse;
  border-spacing: 0;
  empty-cells: show;
  line-height: 1.25;
  /* \*/
  width: 100%;
  /* */
}
table col.digit{
  text-align: right;
}
table col.centering{
  text-align: center;
}
/*table tr{
  background: #fff;
}
table tr:nth-child(odd){
  background: #F7F7F7;
}*/
/*
table tr.odd{
  background: #F7F7F7;
}
table tr.even{
  background: #fff;
}*/
table thead tr th,
table thead tr td{
  margin: 1px;
  color: #1E1F1E;
  text-align: center;
  font-weight: bold;
  border: none;
}
table thead tr th{
  text-align: center;
  border-left: 1px solid #fff;
}
table thead tr{
  background: #ffd9da !important;
}
table tr th,
table tr td{
  border: none;
  border-bottom: 1px solid #e0e0e0;
  padding: 20px 0;
  text-align: left;
}
table tr th{
  color: #303130;
}
caption{
  text-align: left;
}
th, td{
  border: none;
  border-right: 1px solid #000;
  border-bottom: 1px solid #000;
  padding: 0.1em 0.4em;
}
table ul, table ol, table dl{
  margin: 0;
}
table ul{
  padding: 0;
  list-style: none;
}
table caption{
  text-align: center;
}
table p.nav{
  margin-bottom: 0 !important;
}
table tr .left{
  text-align: left;
}
table tr .center{
  text-align: center;
}
table tr .right{
  text-align: right;
}
/*table tr th p,
table tr td p{
  margin: 0 !important;
  padding: 0 !important;
}
table ul li{
  margin: 0 !important;
}*/
table tr td ol{
  margin: 0 0 0 20px;
}
/* headline */
h1, h2, h3, h4, h5, h6{
  font-size: 100%;
  font-weight: normal;
  text-align: left;
  font-weight: 700;
  color: #303130;
  letter-spacing: 0.05em;
}
h1{
  margin: auto;
  padding: 60px 0 60px 260px;
  width: 1000px;
  font-size: 4.0rem;
  color: #fff;
  letter-spacing: 0.1em;
}
h2{
  margin: 60px 0 30px 0;
  padding: 0 0 10px 0;
  font-size: 2.8rem;
  letter-spacing: 0.1em;
  border-bottom: 1px solid #e0e0e0;
}
h3{
  position: relative;
  margin: 40px 0 20px 0;
  background: #f2f2f2;
  padding: 10px 10px 10px 20px;
  font-size: 2.0rem;
}
h3::before{
  content: "";
  position: absolute;
  background-image: linear-gradient(90deg, rgba(163, 0, 0, 1), rgba(237, 0, 8, 1));
  left: 0;
  top: 0;
  bottom: 0;
  margin: auto;
  width: 6px;
  height: calc(100% - 30px);
  border-radius: 0 5px 5px 0;
}
h4{
  margin: 0 0 15px 0;
  font-size: 1.8rem;
}
/* decoration */
.banners a:hover,
.banners a:hover img{
  filter: alpha(opacity=75);
  -moz-opacity:0.75;
  opacity:0.75;
}
em{
  color: #3c62a1;
  font-weight: bold;
}
strong{
  color: #303130;
  font-size: 108%;
  font-weight: bold;
}
.nav{
  text-align: right;
  font-size: 85%;
}
.nav a{
  padding: 0 0 0 12px;
  background: url("../img/nav-arrow.png") left center no-repeat;
}
.weak{
  font-size: 85%;
  _font-size: small;
}
#content blockquote{
  background-color: #f4f5f5;
  border: 1px solid #d2d2d2;
  color: #677880;
  margin: 1em 0 1.5em 0;
  padding: 0.5em 1em;
}
*:focus {
  outline: none;
}

/*----- clearfix -----*/
/* for modern browsers: Firefox, Safari, Opera */
.CFX:after{
  content: ".";
  display: block;
  height: 0;
  clear: both;
  visibility: hidden;
}
/* for win IE7 ,mac IE */
.CFX{
  display: inline-table;
  min-height: 1%;
}
/* for win IE6 */
/* \*/
* html .CFX{height: 1% !important;}
.CFX{display: block;}
/* */

/*----- FIR -----*/
.FIR{
  text-indent: -10000px !important;
  /* \*/
  overflow: hidden !important;
  /* */
  background-repeat: no-repeat;
  background-position: 0 0;
}
.FIR a{
  display: block;
  width: 100%;
  height: 100%;
  text-decoration: none;
  outline: 0;
}
ul.FIR, ol.FIR{
  margin: 0;
  padding: 0;
  list-style: none;
}

/*  Font
////////////////////////////////////////// */
html { font-size: 62.5%; } /* 10px */
body { font-size: 1.6rem; } /* 16px */

/*  Layout
////////////////////////////////////////// */

/* body */
body{
  text-align: center;
  color: #303130;
  word-wrap: break-word;
}
/* wrapper */
#wrapper{
  margin: 0 auto !important;
  width: 100%;
  height: 100%;
  text-align: left;
}
body:not(#home) #wrapper{
  background: url("../img/bg-wrapper.webp") right bottom no-repeat;
  background-size: 800px auto;
  background-attachment: fixed;
}

/*----- header -----*/
header{
  margin: 0 auto;
  width: auto;
}
header img{
  margin: 0;
}
header #b-logo{
  display: flex;
  align-items: center;
  margin: 0;
  color: #08131a;
}
#hdmenu .inner{
  display: flex;
  justify-content: space-between;
  align-items: center;
}

/* hdmenu */
#hdmenu{
  width: 100%;
  margin: auto 0;
  padding: 0;
  line-height: 1;
  z-index: 999;
}
#hdmenu a{
  position: relative;
  text-decoration: none;
  color: #666766;
}
#hdmenu .active,
#hdmenu a:hover{
  color: #303130;
}

#hdmenu .inner{
  position: relative;
}
nav ul,
nav ul li{
  margin: 0;
  background: none;
  padding: 0;
  list-style-type: none;
}
nav ul{
  position: absolute;
  display: flex;
  flex-wrap: wrap;
  right: 20px;
  top: 0;
  bottom: 0;
}
nav ul li{
  transition: transform .3s;
}
nav ul li a {
  padding: 0 30px;
}


/* menu */
#hdmenu{
  position: fixed;
  top: 0;
  margin-top: 0;
  padding: 15px 10px 15px 30px;
  width: 100%;
  background: #fff;
  height: 80px;
}
#hdmenu #b-logo{
  position: relative;
  z-index: 1000;
}
header #b-logo img{
  margin: 0 30px 0 0;
  transition: 0.3s;
  opacity: 1;
}
#hdmenu.open #b-logo a{
  background: url("../img/b-logo_wh.svg") left center no-repeat;
  background-size: contain;
}
#hdmenu.open #b-logo span{
  color: #fff;
}
#hdmenu.open #b-logo img{
  opacity: 0;
}
#hdmenu ul{
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  list-style: none;
}
#hdmenu .inner > ul{
  margin: 0 100px 0 0;
  padding: 0;
}
#hdmenu .inner > ul li{
  margin-left: 30px;
}
#hdmenu .inner > ul li a{
  display: block;
}
#hdmenu .inner > ul li a:hover{
  opacity: 0.7;
  transform: translateY(5px);
}
#hdmenu .inner > ul li:not(.contact) a{
  padding-left: 24px;
  font-weight: 500;
  font-size: 1.4rem;
}
#hdmenu .inner > ul li.risk a{
  color: #fe0009;
}
#hdmenu .inner > ul li.contact a{
  border: 1px solid #fff;
  box-shadow: 0 0 10px 5px rgba(0, 0, 0, 0.1);
  background-color: #ffdeea;
  padding: 0.5em 1em 0.5em 40px;
  border-radius: 100px;
  font-weight: 700;
}
#hdmenu .inner > ul li a::before{
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  margin: auto;

}
#hdmenu .inner > ul li.news a::before{
  background: url("../img/nav-hdmenu-topics.svg") center left;
  width: 20px;
  height: 17px;
}
#hdmenu .inner > ul li.media a::before{
  background: url("../img/nav-hdmenu-media.svg") center left;
  width: 18px;
  height: 18px;
}
#hdmenu .inner > ul li.risk a::before{
  background: url("../img/nav-hdmenu-risk.svg") center left;
  width: 18px;
  height: 18px;
}
#hdmenu .inner > ul li.search a::before{
  background: url("../img/nav-hdmenu-search.svg") center left;
  width: 18px;
  height: 18px;
}
#hdmenu .inner > ul li.contact a::before{
  left: 12px;
  background: url("../img/nav-hdmenu-contact.svg") center left;
  width: 20px;
  height: 18px;
}
#hdmenu .inner > ul li.contact a:hover{
  box-shadow: 0 0 5px 0px rgba(0, 0, 0, 0.3);
}
#inline-search{
  display: flex;
  align-items: center;
  width: 800px;
  height: 400px;
}
#inline-search form#feas-searchform-0{
  margin-bottom: 0;
  width: 100%;
}
form#feas-searchform-0 input{
  padding: 0 0.2em;
  font-size: 2.0rem;
  font-family: "Noto Sans JP";
  line-height: 2em;
}

form#feas-searchform-0 input.feas-submit-button{
  cursor: pointer;
  border: 1px solid #fe0009;
  background-color: #fe0009;
  padding: 0.2em 0.75em;
  font-size: 1.8rem;
  font-weight: 700;
  color: #fff;
  transition: 0.3s;
}
form#feas-searchform-0 input.feas-submit-button:hover{

  background-color: #fff;
  color: #fe0009;
}
body #cboxOverlay{
  background: #000;
}
#cboxLoadedContent{
  margin-bottom: 0;
}


#mobile-head{
  position: absolute;
  top: 0;
  right: 20px;
  background: #ebebeb;
  transition: top 0.65s ease-in;
  -webkit-transition: top 0.65s ease-in;
  -moz-transition: top 0.65s ease-in;
  width: 50px;
  height: 50px;
  z-index: 999;
  border-radius: 100px;
}
#hdmenu nav{
  position: absolute;
  z-index: 1;
  top: 60px;
  width: 100%;
  height: 100vh;
  padding: 0;
  -webkit-transition: .5s ease-in-out;
  -moz-transition: .5s ease-in-out;
  transition: .5s ease-in-out;
  visibility: hidden;
  opacity: 0;
}
#hdmenu.open nav{
  visibility: visible;
  opacity: 1;
}
#hdmenu nav::before{
  content: "";
  display: block;
  z-index: 10;
  position: absolute;
  left: -30px;
  top: -75px;
  right: 0;
  margin: auto;
  background: #fe0009;
  opacity: 0.9;
  width: 100vw;
  height: 100vh;
  z-index: -1;
}
#hdmenu nav ul,
#hdmenu nav ul li{
  position: static;
  z-index: 100;
}
#hdmenu nav .col3,
#hdmenu nav .col2,
#hdmenu nav .col6{
  margin: 60px auto 0 auto;
  width: 820px;
}
#hdmenu nav ul{
  list-style: none;
  right: 0;
  bottom: 0;
}
#hdmenu nav ul.col6 li{
  width: calc(16.666% - 20px);
  height: 120px;
  border-radius: 5px;
  overflow: hidden;
}
#hdmenu nav ul.col6 li a{
  display: block;
  background: #fff;
  height: 100%;
  text-align: center;
}
#hdmenu nav ul.col6 li img{
  display: block;
  margin: 0 auto;
}
#hdmenu nav ul li{
  margin: 0;
  width: 50%;
}
#hdmenu nav .col3,
#hdmenu nav .col2{
  display: flex;
  flex-wrap: wrap;
  margin-top: 20px;
  justify-content: space-between;
  align-items: stretch;
}
#hdmenu nav .col3 > *,
#hdmenu nav .col2 > *{
  display: flex;
  flex-wrap: wrap;
  overflow: hidden;
  margin-bottom: 10px;
  border-radius: 5px;
  background-color: #fff;
  padding: 10px 10px 10px 0;
  width: calc(50% - 10px);
  align-items: center;
}
#hdmenu nav .col3 > *{
  width: calc(33.333% - 10px);
}
#hdmenu nav .col3 .corp,
#hdmenu nav .col2 .shop{
  height: 140px;
}
#hdmenu nav .col3 h2,
#hdmenu nav .col2 h2{
  margin: 0;
  padding: 0;
  text-align: left;
  font-size: 1.6rem;
  width: 110px;
  text-align: center;
  border: none;
}
#hdmenu nav .col3 h2 a,
#hdmenu nav .col2 h2 a{
  display: block;
  color: #303130;
}
#hdmenu nav .solution h2{
  letter-spacing: -0.15em;
}

#hdmenu nav .col3 h2 a:hover,
#hdmenu nav .col2 h2 a:hover{
  transform: translateY(4px);
}
#hdmenu nav .col3 h2 img,
#hdmenu nav .col2 h2 img{
  display: block;
  margin: 10px auto 0 auto;
}
#hdmenu nav .col3 ul,
#hdmenu nav .col2 ul{
  flex: 1;
  justify-content: flex-start;
  font-size: 1.5rem;
}
#hdmenu nav .col3 ul li,
#hdmenu nav .col2 ul li{
  margin-right: 1.5rem;
  width: auto;
}
#hdmenu nav .col3 ul li a,
#hdmenu nav .col2 ul li a{
  position: relative;
  padding: 0 0 0 14px;
}
#hdmenu nav .col3 ul li a::before,
#hdmenu nav .col2 ul li a::before{
  content: "";
  position: absolute;
	left: 0;
	top: 0.6em;
  bottom: auto;
  margin: auto;
	width: 6px;
	height: 6px;
	border-top: 2px solid #999;
	border-right: 2px solid #999;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
}
#hdmenu nav h2{
  font-weight: 700;
}
#hdmenu.fixed {
/*  padding-top: 0;
  background: transparent;*/
}
#hdmenu nav ul li a{
  width: 100%;
  display: block;
  padding: 10px;
  line-height: 1.5;
  font-weight: 700;
}
#nav-toggle,
#nav-toggle span {
  position: absolute;
}
#nav-toggle {
  display: block;
    right: 0;
    left: 0;
    top: 0;
    margin: auto;
    width: 50px;
    height: 50px;
    cursor: pointer;
    z-index: 101;
}
#nav-toggle div {
  position: relative;
}
#nav-toggle span {
    display: block;
    position: relative;
    left: 0;
    right: 0;
    margin: auto;
    height: 2px;
    width: 22px;
    background: #303130;
    transition: .35s ease-in-out;
}
#nav-toggle span:nth-child(1) {
  top: 15px;
}
#nav-toggle span:nth-child(2) {
  top: 21px;
}
#nav-toggle span:nth-child(3) {
  top: 28px;
}
.open #nav-toggle span:nth-child(1) {
  top: 24px;
  -webkit-transform: rotate(315deg);
  -moz-transform: rotate(315deg);
  transform: rotate(315deg);
}
.open #nav-toggle span:nth-child(2) {
  width: 0;
  left: 50%;
}
.open #nav-toggle span:nth-child(3) {
  top: 20px;
  -webkit-transform: rotate(-315deg);
  -moz-transform: rotate(-315deg);
  transform: rotate(-315deg);
}
/*
.open nav {
  -moz-transform: translateY(956px);
  -webkit-transform: translateY(956px);
  transform: translateY(956px);
}*/
#hdmenu.fixed {
  position: fixed;
  top: 0;
  left: 0;
/*  padding: 0 10px 0 30px;*/
  background: rgba(255,255,255,.8);
  transition: top 0.65s ease-in;
}
/*
#hdmenu.fixed nav ul{
  margin: auto;
  height: auto;
  top: 0;
  right: 20px;
  bottom: 0;
}
#hdmenu .active:before{
  bottom: -8px;
}
*/

/*----- content -----*/
#content{
  margin: 0 auto;
  padding: 0;
}
#content .lead{
  padding: 60px 0 0 0;
}
body:not(#home) main{
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin: 0 auto;
  width: 1000px;
}
body:not(#home) #content{
  margin: 0;
  padding: 0 0 60px 0;
  width: calc(100% - 260px);
}
main section .inner{
  margin: auto;
}
body#home main{
  margin-top: 80px;
}
body:not(#home) #content-inner{
}
#titlearea{
  margin-top: 80px;
  background: url("../img/bg-titlearea.webp") center center;
  background-size: cover;
  border-radius: 0 0 60px 0;
}


#page-menu{
  margin: 40px 0 0 0;
  border-radius: 10px;
  background-color: #fff;
  padding: 5px 20px;
  box-shadow: 0px 0px 20px 0px rgba(0, 0, 0, 0.2);
  font-size: 1.8rem;
}
#page-menu ul{
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  margin: 0;
}
#page-menu ul li{
  margin: 0 0 0 20px;
  padding: 0;
}
#page-menu ul li:first-of-type{
  margin-left: 0;
}
#page-menu ul li::before{
  content: none;
}
#page-menu ul li a{
  position: relative;
  display: inline-block;
  padding: 10px 12px;
  text-decoration: none !important;
  color: #303130 !important;
}
#page-menu ul li a::before{
position: absolute;
  margin: auto;
  content: "";
  top: -4px;
  bottom: 0;
  right: 0;
  width: 6px;
  height: 6px;
  border-top: 1px solid #666;
  border-right: 1px solid #666;
  transform: rotate(135deg);
}


/**/
.more{
  position: relative;
  display: block;
  background: #e63368;
  z-index: 200;
  overflow: hidden;
  margin: 30px 0 0 auto;
  border-radius: 50px; 
  -webkit-border-radius: 50px; 
  -moz-border-radius: 50px; 
  text-align: right;
  width: 200px;
}
.more a {
  position: relative;
  display: block;
  z-index: 2;
  padding: 5px 20px 10px 20px;
  color: #fff;
  text-align: center;
  text-decoration: none;
}
.more a:before {
  content: '';
  position: absolute;
  top: 0;
  left: -100%;
  width: 100%;
  height: 100%;
  z-index: -1;
  background: #009fd9;
  transition: all 300ms linear;
}
.more a:hover:before {
  left: 0;
}
.more span{
    position: relative;
    display: inline-block;
    padding: 0 16px 0 0;
    vertical-align: middle;
    text-decoration: none;
}
.more span::before{
    position: absolute;
    top: 4px;
    right: 0;
    bottom: 0;
    margin: auto;
    content: "";
    vertical-align: middle;
    width: 8px;
    height: 8px;
    border-top: 2px solid #fff;
    border-right: 2px solid #fff;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
}
/**/
.effect-fade{
  opacity: 0;
  transform: translate(0, 50px);
  transition: all 1200ms;
}
.effect-fade.effect-scroll {
  opacity: 1;
  transform: translate(0, 0);
}
/**/
.sp{
  display: none;
}



/* diagram */
.diagram .sp,
.diagram .FIR,
.diagram span{
  display: none;
}
.diagram .image{
  margin: 0 !important;
}
.diagram{
  text-align: center;
}



/*----- aside -----*/
aside{
  margin-bottom: 60px;
  width: 200px;
}
aside div{
  box-shadow: 0px 0px 20px 0px rgba(0, 0, 0, 0.2);
  border-radius: 10px;
}
aside h2{
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  margin: -60px 0 0 0;
  background: #eb0011;
  padding: 15px;
  color: #fff;
  font-size: 1.6rem;
  border-radius: 10px 10px 0 0;
  letter-spacing: 0;
}
aside img{
  margin: 0 10px 0 0;
  background: #fff;
  width: 30px;
  height: 30px;
  border-radius: 5px;
}
aside ul,
aside li{
  margin: 0;
  list-style: none;
  padding: 0;
}
aside ul{
  padding: 15px 10px;
  background: #fff;
  border-radius: 0 0 10px 10px;
}
aside li{
  position: relative;
  margin: 0 0 10px 0;
/*
  padding: 0 0 0 15px;*/
}
aside li:last-child{
  margin-bottom: 0;
}
aside li a{
  display: block;
  border-radius: 8px;
  background-color: #f0f0f0;
  padding: 10px;
  color: #303130 !important;
  font-size: 1.5rem;
  text-decoration: none !important;
}
aside .sub{
  padding: 5px 0 5px 10px;
}
aside .sub li a{

  background-color: transparent;
  padding: 0;
  font-size: 1.3rem;
}
aside li a:hover{
  color: #eb0011 !important;
}
aside li a span{
  position: relative;
  padding-left: 10px;
}
aside li a span::before{
	position: absolute;
	margin: auto;
	content: "";
	top: 0.3em;
	left: -2px;
	width: 6px;
	height: 6px;
	border-top: 1px solid #666;
	border-right: 1px solid #666;
	transform: rotate(45deg);
}
body.insurance aside h2,
body.fee aside h2,
body.compliance aside h2,
body.seminar aside h2,
body.news aside h2{
  height: 61px;
}
aside .past{
  margin: 0 0 60px 0;
}
aside .past h2{
  margin: 40px 0 0 0;
}
body.fee aside h2{
  font-size: 1.5rem;
}


/*----- footer -----*/
footer{
  position: relative;
  margin: 0;
  padding: 0;
  text-align: center;
  width: 100%;
  background: #fe0009;
}
body:not(#home) footer .inner{
  padding: 20px 4%;
}
footer .copy{
  margin: 0;
  color: #fff;
  text-align: right;
  font-size: 1.2rem;
}
footer #kaba{
  position: fixed;
  right: 20px;
  bottom: 0;
  animation: floating-y 1.8s ease-in-out infinite alternate-reverse;
  z-index: 100;
}
footer ul,
footer ul li{
  margin: 0;
  background: none;
  padding: 0;
  list-style-type: none;
}
footer .inner{
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
}
footer ul{
  display: flex;
  flex-wrap: wrap;
}
footer ul a{
  position: relative;
  padding: 0 0 0 15px;
  color: #fff !important;
  font-size: 1.4rem;
  text-decoration: none !important;
}
footer ul a::before{
	position: absolute;
	margin: auto;
	content: "";
	top: 0;
  bottom: 0;
	left: 0;
	width: 6px;
	height: 6px;
	border-top: 1px solid #fff;
	border-right: 1px solid #fff;
	transform: rotate(45deg);
}
footer ul li{
  margin-right: 20px;
}
footer ul a:hover{
  text-decoration: underline !important;
}


/*  home
////////////////////////////////////////// */
body#home{
  background: #fe0009;
}
body#home #content-inner{
  padding: 10px;
  max-width: 100%;
}
body#home #content-inner .dummy,
body#home #content-inner .dummy img{
  max-width: 100%;
}
#news-area{
  display: flex;
  flex-wrap: wrap;
  justify-content: start;
  padding: 20px 0;
  font-weight: 500;
}
#news-area h2{
  position: absolute;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0;
  border: none;
  padding: 0;
  background-color: #fff;
  color: #fe0009;
  font-size: 1.5rem;
  font-family: "Roboto", sans-serif;
  width: 64px;
  line-height: 1.5;
  z-index: 10;

}
#news-area h2::after{
  position: absolute;
  content: "";
  top: -20px;
  bottom: -20px;
  right: -36px;
	margin: auto;
	box-sizing: border-box;
	width: 20px;
	height: 20px;
	border: 20px solid transparent;
	border-left: 20px solid #fff;
}
#news-area .swiper{
  position: relative;
  width: 100%;
}
#news-area .swiper-slide{
  display: flex;
  flex-wrap: wrap;
  justify-content: start;
  align-items: center;
  margin: -2px 0 0 0;
  color: #fff;
}
#news-area .date{
  margin: 0 1em 0 90px;
  font-weight: normal;
}
#news-area .date span.tag{
  margin: 0 10px 0 0;
  border: 1px solid #fff;
  border-radius: 40px;
  background: #ffcddf;
  padding: 0.1em 0.5em;
  font-size: 1.4rem;
  color: #08131a;
}
#news-area .text{
  padding: 0;
/*
  font-size: 1.4rem;*/
}
#news-area .text a{
  display: block;
  color: #fff;
  text-decoration: none;
}
#news-area .text a:hover{
  text-decoration: underline;
}
#news-area ul.controls{
  display: flex;
  position: absolute;
  right: 10px;
  top: 0;
  bottom: 0;
  margin: 0;
  padding: 0;
  border-radius: 5px;
  height: 24px;
  overflow: hidden;
  z-index: 11;
}
#news-area ul.controls li{
  list-style: none;
  margin-left: 1px;
  background-color: #fff;
  height: 24px;
}
#news-area ul.controls a{
  display: block;
  padding: 0 10px;
  color: #fe0009;
  text-decoration: none;
}
#news-area ul.controls .next,
#news-area ul.controls .prev{
  position: relative;
  left: auto;
  right: auto;
  width: 26px;
}
#news-area ul.controls .next::before,
#news-area ul.controls .prev::before{
  right: 0;
  border-top: 1px solid #fe0009;
  border-right: 1px solid #fe0009;
  width: 6px;
  height: 6px;
}
#news-area ul.controls .all{
  font-size: 1.4rem;
}
body#home #phone-menu{
  position: fixed;
  left: 0;
  right: 0;
  bottom: 0;
  margin: auto;
  width: 520px;

  opacity: 1;
  transform: translateY(0);
  transition: 0.8s;

  z-index: 10;
}
.dummy-phone,
.dummy-phone img{
  margin: 0 auto !important;
}
@keyframes fadedown {
  0% {
    opacity: 0;
    transform: translateY(30px);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}
body#home #phone-menu.scroll{
  opacity: 0;
  transform: translateY(430px);
}
/*
@keyframes scroll {
  0% {
    opacity: 1;
    transform: translateY(0);
  }

  100% {
    opacity: 0;
    transform: translateY(430px);
  }
}*/
@keyframes floating-y{
  0% {
    transform: translateY(-30px);
  }
  100% {
    transform: translateY(0);
  }
}
/* phone */
body#home #phone-menu{
  background: url("../img/bg-phone-menu.png") center top no-repeat;
  background-size: 520px auto !important;
  padding: 30px 70px;
  height: 430px;
}
body#home #phone-menu ul,
body#home #phone-menu ul li{
  margin: 0;
  padding: 0;
}
body#home #phone-menu ul{
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  padding: 23px;
  width: 380px;
}
body#home #phone-menu ul li{
  margin-bottom: 5px;
  list-style: none;
  width: 32%;
}
body#home #phone-menu ul li::before{
  content: none;
}
body#home #phone-menu ul li{
  border: 1px solid #fff;
  border-radius: 5px;
  box-shadow: 0 0 5px 0 rgba(0, 0, 0, 0.1);

  background-color: #fff;
}
body#home #phone-menu ul li a{
  position: relative;
  display: block;
  padding: 10px 5px;
  text-align: center;
  font-size: 1.5rem;
  color: #303130;
  text-decoration: none;
  font-weight: 700;
}
#hdmenu nav ul li.intro a,
body#home #phone-menu ul li.intro{
  background-color: #eff8ea;
}
#hdmenu nav ul li.login a,
body#home #phone-menu ul li.login{
  background-color: #e5f7fd;
  line-height: 1.2;
  letter-spacing: -0.025em;
}

#hdmenu nav ul li.login a img,
body#home #phone-menu ul li.login a img{
  margin: 0 auto 10px auto !important;
}
#hdmenu nav ul li.contact a,
body#home #phone-menu ul li.contact{
  background-color: #ffeef4;
}
#hdmenu nav .shop,
body#home #phone-menu ul li.shop{
  background-color: #fff3e5;
}
body#home #phone-menu ul li a:hover{
  transform: scale(0.9);
  opacity: 0.7;
}
li.login small{
  position: absolute;
  display: inline-block;
  margin: -16px 0 0 0;
  font-size: 1.15rem;
  line-height: 1.1;
  width: 100%;
  left: 0;
  right: 0;
  text-shadow:
  1px 1px 0 #e5f7fd, -1px -1px 0 #e5f7fd, /* 右下方向に影 */
  -1px 1px 0 #e5f7fd,  1px -1px 0 #e5f7fd, /* 左下方向に影 */
  1px 0 0 #e5f7fd, -1px  0 0 #e5f7fd, /* 左上方向に影 */
  0 1px 0 #e5f7fd,  0 -1px 0 #e5f7fd; /* 右上方向に影 */
}
body#home #phone-menu ul li img{
  display: block;
}
/* topics */
body#home #topics-area {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
body#home #topics-area > div{
  position: relative;
  overflow: hidden;
  border-radius: 5px;
  background-color: #fff;
  margin: 0 0 10px 0;
  width: calc(25% - 10px);
  transition: 0.3s;
}
body#home #topics-area > div a{
  display: block;
  padding: 10px;
  text-decoration: none;
  color: #666;
}
body#home #topics-area > div:hover{
  opacity: 0.7;
  transform: translateY(5px);
}


body#home #topics-area > div .pic,
body#home #topics-area > div .pic img{
  margin: 0;
  max-width: 100%;
}
body#home #topics-area > div .pic{
  overflow: hidden;
  aspect-ratio: 16/9;
  margin-bottom: 20px;
}
body#home #topics-area > div .pic img{
  object-fit: cover;
  width: 100%;
  height: 100%;
}
body#home .slick-dotted.slick-slider{
  margin-bottom: 30px;
}
body#home #topics-area .slick-dots,
body#home #topics-area .slick-dots li{
  margin: 0;
  padding: 0;
}
body#home #topics-area .slick-dots{
  position: absolute;
  bottom: -20px;
}
body#home #topics-area .slick-dots li::before{
  content: none;
}
body#home #topics-area .slick-dots li button::before{
  border: 1px solid #fff;
  border-radius: 50%;
  background-color: #c6c9c6;
  width: 10px;
  height: 10px;
  opacity: 1;
  text-indent: -10000px;
  overflow: hidden;
}
body#home #topics-area .slick-dots li.slick-active button::before{
  background-color: #fe0009;
}
body#home #topics-area > div p.date{
  position: absolute;
  top: 10px;
  background-color: #fff;
  padding: 0 0.5em;
  font-size: 1.3rem;
  font-family: "Roboto", sans-serif;
  z-index: 1;
}
body#home #topics-area > div p.title{
  font-size: 1.8rem;
  text-align: center;
  color: #303130;
  letter-spacing: -0.002em;
  font-weight: 500;
}

#topics-area dl{
  position: relative;
}
#topics-area dl dt{
  position: absolute;
}
#topics-area dl dd{
  margin: 0 0 1em 0;
  border-bottom: 1px solid #e0e0e0;
  padding: 0 0 0.75em 6.5em;
}




/* ban-area */

#ban-area{
  margin: 60px 0 30px 0;
  background-color: #fff;
  padding: 30px 30px 15px 30px;
}
#ban-area .banners{
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}
#ban-area .banners,
#ban-area .banners li{
  margin: 0;
  padding: 0;
}
#ban-area .banners li{
  margin: 0 15px 15px 15px;
}
#ban-area .banners li::before{
  content: none;
}
#ban-area .banners li img{
  margin: 0;
  width: auto;
  height: 60px;
}


/* youtube */

#content .youtube,
#content .is-type-video .wp-block-embed__wrapper{
  width: 100%;
  aspect-ratio: 16 / 9;

}
#content .youtube iframe,
#content .is-type-video .wp-block-embed__wrapper iframe{

  width: 100%;
  height: 100%;
}

/*ショート動画を縦型に*/
#content .is-type-video.vertical .wp-block-embed__wrapper iframe{
  position: relative;
  aspect-ratio:9 /16;
}

#content .is-type-video.vertical .wp-block-embed__wrapper {
  height: 100%;
  margin: 0 auto;
  overflow: visible;
  padding-bottom: 0;
  width: 100%;   /* ビデオ横幅 */
  aspect-ratio:9 /16;
}




/*  aboutus
////////////////////////////////////////// */
body#aboutus-idx #company .images,
body#aboutus-idx #guidelines .block,
body#aboutus-idx #pride .point,
body#aboutus-idx #greeting .block{
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
/*
body#aboutus-idx #greeting .text{
  width: calc(100% - 280px);
}
body#aboutus-idx #greeting .images{
  text-align: right;
  width: 240px;
}*/
body#aboutus-idx #pride .point{
  margin: 30px 0 20px 0;
}
body#aboutus-idx #pride .point div{
  padding: 20px;
  border: 2px solid #eb0011;
  border-radius: 10px;
  text-align: center;
  width: calc(33.33% - 20px);
}
body#aboutus-idx #pride .point p{
  margin: 0;
  color: #000;
}
body#aboutus-idx #pride .point .number{
  margin: 0 0 10px 0;
  color: #eb0011;
  font-size: 2.6rem;
  font-weight: 700;
  line-height: 1;
}
body#aboutus-idx #pride .point em{
  display: block;
  color: #eb0011;
  font-style: normal;
  font-weight: 700;
  font-size: 150%;
}
body#aboutus-idx #pride dt{
    color: #eb0011;
  font-size: 1.8rem;
  font-weight: 700;
}
body#aboutus-idx #pride dd{
  margin: -1.6em 0 10px 0;
  padding: 0 0 0 2.5em;
}
body#aboutus-idx #guidelines .number{
  background: #eb0011;
  width: 40px;
  height: 40px;
  line-height: 42px;
  text-align: center;
  color: #fff;
  border-radius: 50px;
  font-weight: 700;
}
body#aboutus-idx #guidelines h3{
  margin: 0;
  background: none;
  padding: 0;
  font-size: 2.0rem;
}
body#aboutus-idx #guidelines h3::before{
  display: none;
}
body#aboutus-idx #guidelines .block{
  margin: 0 0 20px 0;
  padding: 0 0 20px 0;
  border-bottom: 1px solid #ccc;
}
body#aboutus-idx #guidelines .block div{
  width: calc(100% - 60px);
}
body#aboutus-idx #company .images{
  margin-top: 40px;
}
body#aboutus-idx #company .images figure{
  width: calc(45% - 20px);
}
body#aboutus-idx #company .images figure:last-child{
  width: 55%;
}
body#aboutus-idx #history dl{
  position: relative;
}
body#aboutus-idx #history dl::before{
  content: "";
  position: absolute;
  top: 0;
  left: 4px;
  width: 1px;
  height: 100%;
  background: #ccc;
}
body#aboutus-idx #history dt{
  position: relative;
  padding: 0 0 0 20px;
  width: 12em;
}
body#aboutus-idx #history dd{
  margin: -1.6em 0 15px 0;
  padding: 0 0 0 12em;
}
body#aboutus-idx #history dt::before{
  content: "";
  position: absolute;
  top: 0.5em;
  left: 0; 
  width: 9px;
  height: 9px;
  background: #eb0011;
  border-radius: 50px;
}

body#aboutus-csr #content .col3{
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
body#aboutus-csr #content .col3::after{
  content: "";
}
body#aboutus-csr #content .col3::after,
body#aboutus-csr #content .col3 > *{
  width: calc(33.333% - 20px);
}
body#aboutus-csr #content .col3 > * img{
  margin-bottom: 0;
  max-width: 100%;
}
body#aboutus-csr #content .media dt{
  position: absolute;
}
body#aboutus-csr #content .media dd{
  margin: 0 0 1em 0;
  border-bottom: 1px solid #e0e0e0;
  padding: 0 0 0 6.5em;
}
body#aboutus-csr #content .media dd span{
  display: block;
  border: 1px solid #fe0009;
  width: 120px;
  font-size: 1.3rem;
  text-align: center;
}




/*  account
////////////////////////////////////////// */
body#account-idx #flow .block{
  position: relative;
}
body#account-idx #flow .block.step2{
  padding: 60px 0;
}
body#account-idx #flow .block::before{
  content: "";
  position: absolute;
  top: 0;
  left: 25px;
  background: #666;
  width: 1px;
  height: 100%;
}
body#account-idx #flow .step{
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  margin: 0;
  background: none;
  padding: 0;
}
body#account-idx #flow .step img{
  margin: 0 10px 0 0;
  border: 1px solid #666;
  width: 51px;
  height: 51px;
  border-radius: 8px;
}
body#account-idx #flow .lv03-01 h3{
  margin-top: 20px;
}
body#account-idx #flow .step::before{
  display: none;
}
body#account-idx #flow .step span{
  margin: 0 10px 0 0;
  color: #fe0009;
  font-size: 1.4rem;
}
body#account-idx #flow .block div{
  padding: 0 0 0 70px;
}
body#account-idx #flow .block ul{
  margin: 0;
  padding: 20px;
  border: 1px solid #e0e0e0;
}
body#account-idx #flow .block .lv03-02 ul{
  justify-content: space-between;
}
body#account-idx #flow .block .lv03-02 li{
  width: calc(33.33% - 20px);
}
body#account-idx #flow .block .lv03-02 ul,
body#account-idx #account-contact .block div,
body#account-idx #account-contact .block{
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
body#account-idx #account-contact .block{
  margin: 0 0 10px 0;
  border: 1px solid #e0e0e0;
  padding: 20px;
}
body#account-idx #account-contact .block div{
  width: calc(50% - 10px);
}
body#account-idx #account-contact h3{
  margin: 0;
  background: none;
  padding: 0;
  font-size: 1.6rem;
  width: 11em;
}
body#account-idx #account-contact h3::before{
  display: none;
}
body#account-idx #account-contact .block p{
  width: calc(100% - 11em);
}



/*  stock
////////////////////////////////////////// */
body#service-stock #stock-list .lv03-01 h3{
  margin-top: 0;
}
body#service-stock #brand .block{
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin: 0 0 15px 0;
  padding: 0 0 15px 0;
  border-bottom: 1px dotted #ccc;
}
body#service-stock #brand h3{
  margin: 0;
  background: none;
  padding: 0;
  font-size: 1.6rem;
}
body#service-stock #brand h3::before{
  display: none;
}
body#service-stock #brand .text{
  width: calc(100% - 57px);
}
body#service-stock #brand p{
    font-size: 1.4rem;
}

/*
body#service-stock #lv02-02 table tbody td{
  padding: 10px 0;
}
body#service-stock #lv02-02 table tbody td:last-of-type{
  text-align: center;
}*/



/*  shop
////////////////////////////////////////// */
body#shop-idx .shop-slider .slick-dots{
  margin: 0;
  padding: 0;
}
.shop-slider .slick-dots li::before{
  display: none;
}
.shop-slider .slick-dots li button:before {
  font-size: 30px;
  color: #ccc;
}
.shop-slider .slick-dots li.slick-active button:before {
  color: #eb0011;
}



/*  bond
////////////////////////////////////////// */
body#service-bond table td{
  text-align: center;
  padding: 10px;
}
body#service-bond table img{
  margin: 0 0 2px 0;
}
body#service-bond .foreign-bond table tr td:first-of-type{
  font-size: 1.2rem;
}
body#service-bond .foreign-bond table tr td:first-of-type img{
  display: block;
  margin: 0 auto;
}
body#service-bond table span{
  display: block;
  font-size: 1.2rem;
}
body#service-bond table tr:nth-child(odd){
  background: #F7F7F7;
}


/*  contact
////////////////////////////////////////// */
body#contact-idx #lv02-01 h2{
  width: 100%;
}
/*body#contact-idx #lv02-01 .inner{
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}*/
body#contact-idx #content .inner .contact-box{
  margin-bottom: 20px;
  background: #fff;
  padding: 20px;
/*  width: calc(50% - 10px);*/
  border: 1px solid #e0e0e0;
}
body#contact-idx #content h3{
  margin: 0 0 10px 0;
}
/*
body#contact-idx #content p{
  margin: 0 0 5px 0;
}*/
body#contact-idx #content .tel{
  background: url("../img/nav-tel.svg") 0 center no-repeat;
  background-size: 23px auto;
  padding: 0 0 0 33px;
  color: #fe0009;
  font-weight: 700;
  font-size: 3.0rem;
}
body#contact-idx #content .fax{
  margin: 0 0 10px 0;
  background: url("../img/nav-fax.svg") 0 center no-repeat;
  background-size: 25px auto;
  padding: 0 0 0 35px;
  color: #000;
  font-weight: 500;
}
body#contact-idx #content .time{
  margin: 0;
}
body#contact-idx form .form-row {
  margin-bottom: 20px;
}
body#contact-idx form .acceptance{
  text-align: center;
}
body#contact-idx form .acceptance label{
  padding: 0;
}
body#contact-idx form label {
  display: inline-block;
  width: 200px;
  font-weight: bold;
  vertical-align: top;
  margin-top: 6px;
}
body#contact-idx form label{
  position: relative;
  padding: 0 0 0 50px;
}
body#contact-idx form label span:not(.wpcf7-list-item-label){
  position: absolute;
  display: inline-block;
  left: 0;
  background: #fe0009;
  padding: 5px 0 3px 0;
  color: #fff;
  width: 40px;
  border-radius: 4px;
  text-align: center;
  font-size: 1.4rem;
  line-height: 1;
} 
body#contact-idx form input[type="text"],
body#contact-idx form input[type="email"],
body#contact-idx form input[type="tel"],
body#contact-idx form textarea {
  width: calc(100% - 220px);
  padding: 8px;
  border: 1px solid #ccc;
  border-radius: 4px;
  box-sizing: border-box;
}
body#contact-idx form textarea {
  min-height: 120px;
  resize: vertical;
}
body#contact-idx form fieldset {
  display: flex;
  align-items: center;
  border: none;
  margin-top: 10px;
  padding: 0;
}
body#contact-idx form fieldset .legend{
  padding: 0 0 0 50px;
  width: 200px;
  font-weight: bold;
}
body#contact-idx form fieldset label {
  display: inline-block;
  width: auto;
  margin: 0 20px 0 0;
  padding: 0;
  font-weight: normal;
}
body#contact-idx form .btn{
  margin: 40px 0 0 0;
  text-align: center;
}
body#contact-idx form input.wpcf7-submit {
  display: inline-block;
  padding: 10px 24px;
  background-color: #fe0009;
  color: #fff;
  border: none;
  border-radius: 30px;
  cursor: pointer;
  margin: auto;
  font-weight: 700;
  transition: .3s;
}
body#contact-idx form input.wpcf7-submit:hover {
  opacity: 0.7;
  transform: translateY(5px);
}




/*  fee
////////////////////////////////////////// */
body#service-fee #content table{
  margin-bottom: 20px;
}
body#service-fee #content table th{
  border: 1px solid #fff;
}
body#service-fee #content table td:not(:last-child){
  border-right: 1px dotted #ccc;
}
body#service-fee #content table td,
body#service-fee #content table th{
  padding: 10px;
}
body#service-fee #content table td{
  background: #fff;
  text-align: center;
}
body#service-fee #content table thead .cap_price{
  background: #ffe5e6;
}
body#service-fee #content table .fee_pale,
body#service-fee #content table .fee_dark{
  background: #ffccce;
}
body#service-fee #content table .fee_cf{
  background: #ffd9da;
}
body#service-fee #content table tbody th{
  background: #ffebeb;
}
body#service-fee #content table tbody tr:nth-child(odd) th{
  background: #fff2f3;
}
body#service-fee #content table tbody tr:nth-child(even) td{
  background: #f7f7f7;
}
body#service-fee #content table td.bold{
  font-weight: 700;
}


/*  compliance
////////////////////////////////////////// */
body#compliance-idx #lv02-01 ul,
body#compliance-idx #lv02-01 li{
  margin: 0;
  padding: 0;
}
body#compliance-idx #lv02-01 ul{
  margin: 60px 0 20px 0;
}
body#compliance-idx #lv02-01 li:before{
  display: none;
}
body#compliance-idx #lv02-01 li{
  margin-bottom: 10px;
}
body#compliance-idx #lv02-01 li a{
  display: block;
  position: relative;
  border: 1px solid #e0e0e0;
  padding: 15px 30px 15px 35px;
  color: #000;
  text-decoration: none;
  border-radius: 10px;
  background: url("../img/nav-pdf.gif") 10px center no-repeat;
}
body#compliance-idx #lv02-01 li a::before {
  position: absolute;
  margin: auto;
  content: "";
  top: 0;
  bottom: 0;
  right: 20px;
  width: 6px;
  height: 6px;
  border-top: 2px solid #fe0009;
  border-right: 2px solid #fe0009;
  transform: rotate(45deg);
}
body#compliance-idx #lv02-01 li a:hover{
  background: #ffe5e6 url("../img/nav-pdf.gif") 10px center no-repeat;
}



/*  fund
////////////////////////////////////////// */
/*body#service-fund section .block{
  margin-bottom: 10px;
}
body#service-fund section .block a{
  display: block;
  position: relative;
  padding: 20px;
  border: 1px solid #e0e0e0;
  border-radius: 10px;
  text-decoration: none;
}
body#service-fund section .block a:hover{
  opacity: 0.7;
  transform: translateY(5px);
}
body#service-fund section .block p{
  margin: 0;
  font-size: 1.4rem;
  color: #303130;
}
body#service-fund section .block .logo{
  margin: 10px 0 20px 0;
  font-size: 1.6rem;
  font-weight: 700;
}
body#service-fund section .block img{
  margin: 0;
}
body#service-fund section .block h4{
  margin: 0 0 5px 0;
  background: none;
  padding: 0;
  font-size: 1.6rem;
}
body#service-fund section .block a::before {
  position: absolute;
  margin: auto;
  content: "";
  top: 0;
  bottom: 0;
  right: 20px;
  width: 6px;
  height: 6px;
  border-top: 1px solid #eb0011;
  border-right: 1px solid #eb0011;
  transform: rotate(45deg);
}*/

/**/
body#service-fund #topics-area dl{
  max-height: 130px;
  overflow-y: scroll;
}
body#service-fund .partner{
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin: 0;
}
body#service-fund .partner li{
  width: calc(50% - 20px);
}
body#service-fund section .block{
  border-bottom: 1px solid #ccc;
  margin-bottom: 20px;
  padding-bottom: 20px;
}
body#service-fund section .block h4{
/*  display: flex;
  flex-wrap: wrap;

  align-items: center;*/
  align-items: start;
  margin: 0 0 5px 0;
  background: none;
  font-size: 1.6rem;
}
body#service-fund section .block h4 span{
  display: inline-block;
  margin: 0 10px 5px 0;
  padding: 4px 5px;
  font-size: 1.4rem;
  border: 1px solid #666;
  border-radius: 4px;
  line-height: 1;
}
body#service-fund section .block h4 a{
  display: block;
}
body#service-fund section .block p{
  margin: 0;
  font-size: 1.4rem;
  color: #303130;
}
body#service-fund section .block{
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  flex-direction: row-reverse;
  /*align-items: center;*/
}
body#service-fund section .block .logo{
  width: 180px;
  text-align: center;
  font-weight: 700;
}
body#service-fund section .block .logo img{
  margin: 0;
  max-width: 100%;
  height: auto;
  width /***/:auto;
}
body#service-fund section .block .invesco img{
  width: auto;
  height: 22px;
}
body#service-fund section .block .nomura img,
body#service-fund section .block .alamco img,
body#service-fund section .block .aozora img{
  width: auto;
  height: 30px;
}
body#service-fund section .block .logo a{
  display: flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
  color: #303130;
  height: 100%;
}
body#service-fund section .block div{
  width: calc(100% - 220px);
}









/*  insurance
////////////////////////////////////////// */
body#service-insurance #lv02-01 .block{
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 30px;
}
body#service-insurance #lv02-01 .block .images img{
  margin: 0;
  width: 110px;
}
body#service-insurance #lv02-01 .block div{
  width: calc(100% - 150px);
}
body#service-insurance #lv02-01 .images img{
  max-width: 100%;
  height: auto;
  width /***/:auto;
}
body#service-insurance #lv02-01 .lv03-02 .inner{
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin-top: 40px;
}
body#service-insurance #lv02-01 .step{
  position: relative;
  padding: 20px;
  border: 1px solid #d7e166;
  width: calc(33.33% - 30px);
}
body#service-insurance #lv02-01 .step h4{
  text-align: center;
  color: #14a359;
}
body#service-insurance #lv02-01 .step:not(:last-child)::before{
  position: absolute;
  margin: auto;
  content: "";
  top: 0;
  bottom: 0;
  right: -25px;
  width: 10px;
  height: 10px;
  border-top: 1px solid #000;
  border-right: 1px solid #000;
  transform: rotate(45deg);
}



/*
body#service-insurance #lv02-01 .inner div:not(.link){
  margin: 0 0 20px 0;
  border: 2px solid #eb0011;
  background: #fff;
  padding: 20px;
}
body#service-insurance #lv02-01 .inner .lv03-01{
  margin-top: 40px;
} 
body#service-insurance #lv02-01 .inner h3{
  margin: 0 0 20px 0;
}
body#service-insurance #lv02-01 .inner .link{
  margin-bottom: 20px;
}
body#service-insurance #lv02-01 .inner .link a{
  display: flex;
  justify-content: space-between;
  align-items: center;
  border: 1px solid #ccc;
  border-radius: 10px;
  padding: 15px 15px 15px 40px;
  background: url("../img/nav_external.svg") 20px center no-repeat;
  text-decoration: none;
  color: #000;
  font-weight: 500;
}
body#service-insurance #lv02-01 .inner .link a:hover{
  opacity: 0.7;
  transform: translateY(5px);
}
body#service-insurance #lv02-01 .inner img,
body#service-insurance #lv02-01 .inner .link p{
  margin: 0;
}
body#service-insurance #lv02-01 .inner .link .images{
  margin: 0 0 0 10px;
}
body#service-insurance #lv02-01 .lv03-02 img,
body#service-insurance #lv02-01 .lv03-03 img{
  width: auto;
  height: 35px;
}
*/












/*  topic / seminar
////////////////////////////////////////// */
#topicslist{
  margin-top: 60px;
}
#topicslist .block .date,
#topicslist dt{
  width: 7em;
  color: #666;
  font-weight: normal;
}
#topicslist dd{
  margin: -1.6em 0 10px 0;
  padding: 0 0 10px 7em;
  border-bottom: 1px solid #ccc;
}
#topicslist a{
  text-decoration: none;
  color: #000;
}
#topicslist a:hover{
  text-decoration: underline;
}
#topicslist .block{
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin: 0 0 10px 0;
  padding: 0 0 10px 0;
  border-bottom: 1px solid #ccc;
}
#topicslist .images{
  width: 70px;
}
#topicslist .block .date,
#topicslist .images,
#topicslist .images img{
  margin: 0;
}
#topicslist .block div{
  width: calc(100% - 90px);
}

body.news #content .link{
  margin-top: 40px;
  text-align: center;
}
body.news #content .link a{
  background-color: #fff;
}
body.news #content .link a span{
  position: relative;
  padding-left: 20px;

}
body.news #content .link a span::after{
  left: 5px;
  border-color: #e60023;
}

body.news #content #archives .topics a{
  display: flex;
  flex-wrap: wrap;
  text-decoration: none;
  color: #303130;
}
body.news #content #archives .topics p.image{
  width: 25%;
  margin-right: 20px;
}
body.news #content #archives .topics .text{
  flex: 1;
}



/* pagenation */
nav.pagination .nav-links{
  position: relative;
  text-align: center;
  margin: 30px 0 60px 0;
}
.pagination .nav-links .current{
  background-color: #fe0009;
  padding: 5px 8px;
  color: #fff;
}
.pagination .nav-links a{
  border: 1px solid #fe0009;
  padding: 5px 8px;
  text-decoration: none;
  color: #fe0009;
}
.pagination .nav-links .prev,
.pagination .nav-links .next{
  position: relative;
}
.pagination .nav-links .prev::before,
.pagination .nav-links .next::before{
  left: 5px;
  width: 5px;
  height: 5px;
  border-top: 2px solid #fe0009;
  border-right: 2px solid #fe0009;
}
.pagination .nav-links .prev{
  padding: 5px 8px 5px 20px;
}
.pagination .nav-links .next{
  padding: 5px 20px 5px 8px;
}
.pagination .nav-links .next::before{
  left: auto;
  right: 5px;
}



/*  intro
////////////////////////////////////////// */

body#intro-idx .linkarea h3,
body#intro-idx .lineup h3{
  margin: 0 0 20px 0;
  padding: 0;
  text-align: center;
  background: none;
}
body#intro-idx .linkarea h3 br,
body#intro-idx .linkarea h3::before,
body#intro-idx .lineup h3::before{
  display: none;
}
body#intro-idx .lineup{
  padding: 30px;
  background: #f2f2f2;
  border-radius: 10px;
}
body#intro-idx #lv02-03 .textarea,
body#intro-idx .comment,
body#intro-idx .carino,
body#intro-idx .consult,
body#intro-idx .lineup ul{
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
body#intro-idx .lineup li{
  width: calc(25% - 20px);
}
body#intro-idx .lineup li span,
body#intro-idx .lineup li a{
  display: block;
  text-align: center;
}
body#intro-idx .lineup li img{
  margin: 0 auto 10px auto;
  width: 48px;
  height: 48px;
}
body#intro-idx .lineup li a{
  padding: 20px;
  border: 1px solid #303130;
  background: #fff;
  text-decoration: none;
  color: #303130;
  font-size: 2.0rem;
  font-weight: 700;
  border-radius: 5px;
  box-shadow: 0 0 5px 2px rgba(0, 0, 0, 0.1);
}
body#intro-idx .lineup li a:hover{
  background: #ffdeea;
  transform: translateY(5px);
}
body#intro-idx #lv02-03 .comment,
body#intro-idx #lv02-03 .comment li,
body#intro-idx .lineup ul,
body#intro-idx .lineup li,
body#intro-idx #lv02-02 .checklist,
body#intro-idx #lv02-02 .checklist li{
  margin: 0;
  padding: 0;
}
body#intro-idx #lv02-02 .checklist{
  position: relative;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
body#intro-idx #lv02-02 .checklist li{
  margin-bottom: 40px;
  width: calc(33.33% - 30px);
}
body#intro-idx #lv02-02 .checklist img{
  margin: 0;
}
body#intro-idx .comment li::before,
body#intro-idx .lineup li::before,
body#intro-idx #lv02-02 .checklist li::before{
  display: none;
}
body#intro-idx .comment p,
body#intro-idx #lv02-02 .checklist p{
  margin: 0;
  text-align: center;
  font-weight: 700;
  line-height: 1.6;
}
body#intro-idx .comment .text,
body#intro-idx #lv02-02 .checklist .text{
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  padding: 13px 0;
  background: #edf9fe;
  border-radius: 5px;
}
body#intro-idx .comment li:nth-child(even) .text,
body#intro-idx #lv02-02 .checklist li:nth-child(even) .text{
  background: #edf7e8;
}
body#intro-idx .check-anim {
  position: absolute;
  top: 0;
  right: 0;
  width: 40px;
  height: 40px;
}
body#intro-idx .check-anim svg {
  width: 100%;
  height: 100%;
}
body#intro-idx .check-anim rect {
  fill: none;
  stroke: #666;
  stroke-width: 1;
}
body#intro-idx .check-anim path {
  fill: none;
  stroke: #e60023;
  stroke-width: 2.5;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-dasharray: 30;
  stroke-dashoffset: 30;
  animation: checkLoop 4.2s ease infinite;
}
body#intro-idx .checklist li:nth-child(even) .check-anim path {
  animation-delay: 0.9s;
}
@keyframes checkLoop {
  0%   { stroke-dashoffset: 30; opacity: 1; }
  35%  { stroke-dashoffset: 30; }
  55%  { stroke-dashoffset: 0; }
  75%  { stroke-dashoffset: 0; }
  76%  { stroke-dashoffset: 30; }
  100% { stroke-dashoffset: 30; }
}
body#intro-idx .comment::before,
body#intro-idx #lv02-02 .checklist::before{
  content: "";
  position: absolute;
  left: 50%;
  bottom: -26px;
  transform: translateX(-50%);
  width: 0;
  height: 0;
  border-left: 20px solid transparent;
  border-right: 20px solid transparent;
  border-top: 26px solid #fe0009;
}
body#intro-idx .linkarea{
  margin: 56px 0 0 0;
  background: #ffe5e6;
  padding: 0 30px 30px 30px;
  border-radius: 10px;
}
body#intro-idx .linkarea h3{
  margin: 0;
  font-size: 2.4rem;
}
body#intro-idx .linkarea h3 em{
  font-size: 2.9rem;
  font-style: normal;
  color: #303130;
}
body#intro-idx .linkarea .contactarea div{
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  justify-content: center;
}
body#intro-idx .linkarea .contactarea .images img{
  margin: -20px 0 0 20px;
}
body#intro-idx .linkarea .contactarea .link{
  margin: 20px auto 30px auto;
  max-width: 360px;
}
body#intro-idx .linkarea .link{
  text-align: center;
}
body#intro-idx .linkarea .link a{
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  background: #fe0009;
  padding: 10px 40px;
  border-radius: 50px;
  font-size: 1.8rem;
  color: #fff;
  text-decoration: none;
}
body#intro-idx .linkarea .link a em{
  font-size: 2.4rem;
  font-style: normal;
  color: #fff;
}
body#intro-idx .linkarea .link a:hover{
  transform: translateY(5px);
}
body#intro-idx .linkarea .link img{
  margin: 0 5px 0 0;
}
body#intro-idx .linkarea .company{
  background: #fff;
  padding: 30px;
  border-radius: 10px;
}
body#intro-idx .consult div{
  width: calc(100% - 240px);
}
body#intro-idx .consult h3{
  margin: 0 0 10px 0;
}
body#intro-idx .carino p,
body#intro-idx .carino img,
body#intro-idx .consult img{
  margin: 0;
}
body#intro-idx .carino{
  margin: 30px 0 0 0;
  border-top: 1px solid #c6c9c6;
  padding: 30px 0 0 0;
}
body#intro-idx .carino .images{
  width: 230px;
}
body#intro-idx .carino .text{
  width: calc(100% - 260px);
  font-weight: 700;
}
body#intro-idx #lv02-03 .lead{
  text-align: center;
  font-size: 2.0rem;
  font-weight: 700;
}
body#intro-idx #lv02-03 .lead span{
  font-size: 3.0rem;
}
body#intro-idx #lv02-03 .lead em{
  color: #fe0009;
  font-style: normal;
}
body#intro-idx .comment{
  position: relative;
}
body#intro-idx #lv02-03 .comment li{
  margin: 0 0 30px 0;
  width: calc(25% - 20px);
}
body#intro-idx .comment .images,
body#intro-idx .comment img{
  margin: 0;
  text-align: center;
}
body#intro-idx #lv02-03 .textarea{
  margin-top: 30px;
}
body#intro-idx #lv02-03 .textarea div{
  width: calc(100% - 280px);
}

body#intro-idx #lv02-03 .lineup{
  margin: 30px 0 0 0;
  padding: 30px 30px 0 30px;
}
body#intro-idx #lv02-03 .company .lineup{
  margin: 20px 0 0 0;
  padding: 0;
  background: none;
}
body#intro-idx #lv02-03 .lineup li{
  margin-bottom: 30px;
}



/*  risk
////////////////////////////////////////// */
body#risk-idx #content .lead{
  margin: 60px 0 0 0;
  padding: 20px;
  border: 1px solid #fe0009;
  color: #fe0009;
}
body#risk-idx #content .box{
  font-weight: 700;
}
body#risk-idx #lv02-01 ul,
body#risk-idx #lv02-01 h4{
  display: flex;
  flex-wrap: wrap;
  align-items: center;
}
body#risk-idx #lv02-01 h4 img{
  margin: 0 15px 0 0;
}
body#risk-idx #lv02-01 h4 span{
  margin: 0 10px 0 0;
  color: #eb0011;
  font-size: 2.8rem;
}
body#risk-idx #lv02-01 em{
  font-style: normal;
  color: #000;
}
body#risk-idx #lv02-01 ul:not(.list),
body#risk-idx #lv02-01 ul:not(.list) li{
  margin: 0;
  padding: 0;
  line-height: 1;
}
body#risk-idx #lv02-01 ul:not(.list) li::before{
  display: none;
}
body#risk-idx #lv02-01 .tag li:not(:last-child){
  margin: 0 10px 10px 0;
  padding: 5px 10px;
  border: 1px solid #ccc;
  border-radius: 5px;
}
body#risk-idx #lv02-01 ul p{
  margin: 0;
}
body#risk-idx #lv02-01 .block{
  margin: 0 0 20px 0;
  border: 1px solid #ccc;
  padding: 20px;
  border-radius: 10px;
}
body#risk-idx #lv02-01 h5{
  margin: 40px 0 10px 0;
}
body#risk-idx #lv02-01 .lv04-01 .lv05-01 .popup{
	position: relative;
  margin: 0 10px 10px 0;
  padding: 5px 15px 5px 25px;
  background: #ffedee;
  border-radius: 50px;
  transition: .3s;
}
body.news #content .link a:hover,
body.risk #content .risklink a:hover,
body#risk-idx #lv02-02 .lv03-02 .popup:hover,
body#risk-idx #lv02-01 .pagelink a:hover,
body#risk-idx #lv02-01 .lv04-01 .lv05-01 .popup:hover{
  background: #ffd9da;
}
body#risk-risk-02 #lv02-01 .link,
body#risk-risk-01 #content .link,
body#risk-idx #content .link,
body#risk-idx .popup,
body#risk-idx .accordion .button{
  position: relative;
  padding: 0 0 0 10px;
  transition: .3s;
}
body.news #content .link span::after,
body#risk-risk-02 #lv02-01 .link::after,
body#risk-risk-01 #content .link::after,
body#risk-idx #content .link::after,
body#risk-idx .popup::after,
body#risk-idx .accordion .button::after,
body#risk-idx #lv02-01 .lv04-01 .lv05-01 .popup::after{
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	margin: auto;
	content: "";
	vertical-align: middle;
	width: 4px;
	height: 4px;
	border-top: 1px solid #000;
	border-right: 1px solid #000;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
}
body#risk-idx #lv02-02 .lv03-02 .popup::after{
	left: 20px;
  border-color: #e60023;
}
body#risk-idx #lv02-01 .lv04-01 .lv05-01 .popup::after{
	left: 10px;
}
body#risk-idx .accordion.open .button::after{
	-webkit-transform: rotate(130deg);
	transform: rotate(130deg);
}
body#risk-idx #lv02-01 #pop01-04 h7{
  display: block;
  margin: 0 0 10px 0;
  font-weight: 700;
  font-size: 1.7rem;
}
body#risk-idx #lv02-01 #pop01-04 .lv07-01{
  margin: 20px 0;
  background: #f0f0f0;
  padding: 20px;
}
body#risk-idx #lv02-01 #pop01-04 .lv07-01 dt{
  margin: 20px 0 10px 0;
}
body#risk-idx #lv02-01 #pop01-04 .lv07-01 dd{
  line-height: 1.6;
}
body#risk-idx #lv02-01 #pop01-04 .lv07-01 h8{
    font-weight: 700;
}
body#risk-idx #lv02-01 #pop01-04 .lv08-01{
  margin: 10px 0;
  background: #fff;
  padding: 20px;
}
body#risk-idx #lv02-01 .lv03-03 .lv04-02 h4{
  margin-top: 40px;
}
body.risk #content .risklink{
  margin-top: 60px;
  text-align: center;
}
body#risk-idx #lv02-01 .pagelink{
  margin-top: 20px;
  text-align: center;
}
body.news #content .link a,
body.risk #content .risklink a,
body#risk-idx #lv02-02 .lv03-02 .popup,
body#risk-idx #lv02-01 .pagelink a{
  display: inline-block;
  margin: 0 auto;
  padding: 10px 20px;
  border: 1px solid #e60023;
  color: #e60023;
  text-decoration: none;
  border-radius: 50px;
}
body#risk-idx #lv02-02 table th{
  width: 6em;
}
body#risk-idx #lv02-02 .lv03-02 .popup{
  margin-top: 20px;
  padding: 10px 20px 10px 34px;
}
body#risk-idx .accordion{
  margin-top: 20px;
  border: 1px solid #ccc;
  padding: 15px;
  border-radius: 5px;
  transition: .3s;
}
body#risk-idx .accordion > div {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.4s ease;
}
body#risk-idx .accordion > div p{
  margin-top: 10px;
}
body#risk-idx .accordion.open > div {
  max-height: 500px;
}
body#risk-idx .accordion .button{
  margin: 0;
  font-weight: 700;
}
body#risk-idx .popupcontent {
  display: none;
  position: fixed;
  inset: 0;
  background: rgba(0,0,0,0.6);
  z-index: 1000;
}
body#risk-idx .popupcontent.show {
  display: flex;
  justify-content: center;
  align-items: center;
}
body#risk-idx .popupcontent > p {
  background: #fff;
  padding: 20px;
}
body#risk-idx .button,
body#risk-idx .popup,
body#risk-idx .close {
  cursor: pointer;
}
body#risk-idx .popupinner{
  background: #fff;
  max-width: 700px;
  width: 90%;
  max-height: 80vh;
  overflow-y: auto;
  padding: 30px;
  box-sizing: border-box;
  border-radius: 6px;
}
body#risk-idx .popupinner h6{
  margin: 0 0 20px 0;
  font-size: 1.8rem;
}
body#risk-idx .popupinner ol li{
  margin-top: 1em !important;
}
body#risk-idx .popupinner .close{
  margin: 20px auto 0 auto !important;
  padding: 5px;
  border: 1px solid #e60023;
  width: 100px;
  text-align: center;
  border-radius: 50px;
  color: #e60023;
  transition: .3s;
}
body#risk-idx .popupinner .close:hover{
  background: #ffd9da;
}
body#risk-idx .accordion .popup:hover{
  color: #e60023;
}
body#risk-idx #content section.box{
  margin: 60px 0 0 0 !important;
}

/**/
body#risk-risk-01 h4{
  margin-top: 40px;
}
body#risk-risk-01 h5{
  margin: 0 0 10px 0;
}
body#risk-risk-01 .lv04-03 > div{
  margin-bottom: 20px;
  border: 1px solid #ccc;
  padding: 20px;
  border-radius: 10px;
}
body#risk-risk-01 .images{
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  margin: 20px 0 0 0;
}
body#risk-risk-01 .image{
  margin-bottom: 20px;
  width: calc(50% - 10px);
}
body#risk-risk-01 .images img{
  margin: 0;
}
body#risk-risk-01 #lv02-01 .lv05-05 em{
  font-style: normal;
  color: #303130;
}
#img-popup {
  position: fixed;
  inset: 0;
  background: rgba(0,0,0,0.8);
  display: flex;
  justify-content: center;
  align-items: center;
  visibility: hidden;
  opacity: 0;
  transition: opacity 0.2s ease;
  z-index: 9999;
}
#img-popup.active {
  visibility: visible;
  opacity: 1;
}
#img-popup .popup-inner {
  position: relative;
}
#img-popup img {
  width: auto;
  height: auto;
  max-width: 90vw;
  max-height: 90vh;
}
body#risk-risk-01 .popup-close {
  position: absolute;
  top: -30px;
  right: -30px;
  width: 36px;
  height: 36px;
  cursor: pointer;
}
body#risk-risk-01 .popup-close::before,
body#risk-risk-01 .popup-close::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 24px;
  height: 2px;
  background: #fff;
}
body#risk-risk-01 .popup-close::before {
  transform: translate(-50%, -50%) rotate(45deg);
}
body#risk-risk-01 .popup-close::after {
  transform: translate(-50%, -50%) rotate(-45deg);
}
body#risk-risk-01 .images img {
  cursor: pointer;
}
/**/
body#risk-risk-02 #lv02-01 ul{
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  margin: 0;
}
body#risk-risk-02 #lv02-01 ul li{
  margin-bottom: 10px;
  width: 50%;
}
body#risk-risk-02 #lv02-01 .link{
  margin-top: 30px;
}






/*  solution
////////////////////////////////////////// */

body#solution-idx aside h2{
  letter-spacing: -0.1em;
}
body#solution-idx #leadarea{
  margin-top: 40px;
}
body#solution-idx #leadarea picture:first-child{
  position: relative;
}
body#solution-idx #leadarea picture:first-child img{
  margin-bottom: 40px;
}
body#solution-idx #lv02-03 .lv03-01 .lv04-01::before,
body#solution-idx #leadarea picture:first-child::before{
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 50%;
  width: 0;
  height: 0;
  transform: translateX(-50%);
  border: 14px solid transparent;
  border-top: 14px solid #fe0009;
  border-bottom-width: 0;
}
body#solution-idx #lv02-03 .lv03-01 .lv04-01::before{
  top: auto;
  bottom: -30px;
}
body#solution-idx #content ul,
body#solution-idx #content li{
  margin: 0;
  padding: 0;
}
body#solution-idx #lv02-02 .lv03-02 div,
body#solution-idx #lv02-02 .lv03-01 > div,
body#solution-idx #lv02-01 .list,
body#solution-idx #lv02-02 .lead ul,
body#solution-idx #lv02-01 .lv04-03 ul,
body#solution-idx #pagemenu,
body#solution-idx #lv02-01 .list ul{
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
body#solution-idx #pagemenu{
  margin-top: 40px !important;
}
body#solution-idx #pagemenu li{
  width: calc(25% - 10px);
}
body#solution-idx #content li::before{
  content: none;
}
body#solution-idx #pagemenu li a{
  display: block;
  border-radius: 10px;
  background-color: #fff;
  padding: 5px 0;
  box-shadow: 0px 0px 20px 0px rgba(0, 0, 0, 0.2);
  font-size: 1.8rem;
  text-align: center;
  color: #000;
  font-weight: 500;
  font-size: 1.5rem;
}
body#solution-idx #pagemenu li a:hover{
  transform: translateY(5px);
}
body#solution-idx #pagemenu li p,
body#solution-idx #pagemenu li img{
  margin: 0;
}
body#solution-idx #pagemenu li a span{
  position: relative;
  display: inline-block;
  margin: 10px 0;
  padding: 0 18px 0 0;
}
body#solution-idx #pagemenu li a span::before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  bottom: 4px;
  right: 0;
  margin: auto;
  width: 6px;
  height: 6px;
  border-top: 1px solid #999;
  border-right: 1px solid #999;
  transform: translateX(-50%) rotate(135deg);
}
body#solution-idx section p em{
  color: #fe0009;
  font-style: normal;
}
body#solution-idx #lv02-01 .lead{
  padding: 0;
  color: #303130;
  font-weight: 700;
}
body#solution-idx #lv02-01 .lead em{
  font-size: 2.2rem;
}
body#solution-idx #lv02-01 .list{
  align-items: center;
  margin-bottom: 20px;
}
body#solution-idx #lv02-01 .list ul{
  width: calc(100% - 160px);
}
body#solution-idx #lv02-01 .list ul li{
  text-align: center;
  width: calc(33.33% - 10px);
  background: #edf7e8;
  border-radius: 5px;
  font-weight: 700;
}
body#solution-idx #lv02-01 .list ul li:nth-child(2){
  background: #e5f7fd;
}
body#solution-idx #lv02-01 .list ul li{
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  padding: 30px 0;
}
body#solution-idx #lv02-03 .lv03-01 h3,
body#solution-idx #lv02-02 h3,
body#solution-idx #lv02-01 .lv03-01 h3{
  margin-top: 0;
}
body#solution-idx #lv02-01 .lv03-01{
  padding: 30px;
  border: 1px solid #e0e0e0;
  border-radius: 10px;
}
body#solution-idx #lv02-01 .lv04-01 p{
  text-align: center;
  font-size: 1.8rem;
}
body#solution-idx #lv02-01 .lv04-02{
  margin: 30px 0;
  border: 1px solid #b2ceda;
  padding: 20px;
}
body#solution-idx #lv02-01 h4{
  text-align: center;
  color: #005d83;
  font-size: 2.3rem;
}
body#solution-idx #lv02-01 h4 em,
body#solution-idx #lv02-01 .lv04-03 h4{
  color: #005d83;
  font-size: 2.8rem;
  font-style: normal;
}
body#solution-idx #lv02-01 h4 span{
  display: block;
  font-size: 1.6rem;
  color: #303130;
}
body#solution-idx #lv02-01 h4 span em{
  font-size: 2.0rem;
  color: #000;
}
body#solution-idx #lv02-01 .lv04-03{
  background: #e5eff3;
  padding: 30px;
}
body#solution-idx #lv02-01 .lv04-03 h4{
  cursor: pointer;
  position: relative;
  margin-bottom: 0;
  color: #005d83;
  font-size: 2.8rem;
  line-height: 1;
}
body#solution-idx #lv02-01 .lv04-03 h4 br{
  display: none;
}
body#solution-idx #lv02-01 .lv04-03 h4::before{
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  margin: auto;
  content: "";
  vertical-align: middle;
  width: 8px;
  height: 8px;
  border-top: 2px solid #005d83;
  border-right: 2px solid #005d83;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  transition: 0.3s;
}
body#solution-idx #lv02-01 .lv04-03.open h4::before{

  -webkit-transform: rotate(135deg);
  transform: rotate(135deg);
}
body#solution-idx .accordion div{
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.4s ease;
}
body#solution-idx .accordion.open > div{
  padding-top: 20px;
  max-height: 500px;
}
body#solution-idx #lv02-01 .lv04-03 p em{
  color: #000;
}
body#solution-idx #lv02-01 .lv04-03 .weak{
  font-size: 80%;
  text-align: right;
}
body#solution-idx #lv02-01 .lv04-03 ul{
  margin-top: 20px;
}
body#solution-idx #lv02-01 .lv04-03 li{
  background: #fff;
  padding: 20px 10px 10px 10px;
  width: calc(33.33% - 10px);
  text-align: center;
  font-size: 1.8rem;
  font-weight: 700;
  border-radius: 5px;
}
body#solution-idx #lv02-01 .lv04-03 h5{
  text-align: center;
  font-size: 1.7rem;
}
body#solution-idx #lv02-01 .lv04-03 li em{
  font-size: 4.0rem;
}
body#solution-idx #lv02-02 .lead{
  padding: 0;
}
body#solution-idx #lv02-02 .lead ul{
  margin-top: 20px;
}
body#solution-idx #lv02-02 .lead li{
  background: #edf7e8;
  padding: 20px 0;
  width: calc(33.33% - 10px);
  border-radius: 5px;
  text-align: center;
}
body#solution-idx #lv02-02 .lead h5{
  text-align: center;
}
body#solution-idx #lv02-03 li img,
body#solution-idx #lv02-04 p,
body#solution-idx #lv02-04 img,
body#solution-idx #lv02-03 .balloon p:last-child,
body#solution-idx #lv02-02 .lead img,
body#solution-idx #lv02-02 .lead p{
  margin: 0;
}
body#solution-idx #lv02-02 .lv03-02 div p,
body#solution-idx #lv02-02 .lv03-01 div div{
  width: calc(50% - 20px);
}

body#solution-idx #lv02-03 .lv03-01,
body#solution-idx #lv02-02 .lv03-01,
body#solution-idx #lv02-02 .lv03-02{
  margin: 30px 0;
  border: 1px solid #e0e0e0;
  padding: 20px;
  border-radius: 10px;
}
body#solution-idx #lv02-02 .lv03-02 .text{
  background-color: #e5f7fd;
  padding: 15px;
  border-radius: 5px;
  text-align: center;
}
body#solution-idx #lv02-03 ul{
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 20px;
}
body#solution-idx #lv02-03 li{
  padding: 20px 0;
  width: calc(25% - 20px);
  border: 1px solid #e0e0e0;
  border-radius: 10px;
  text-align: center;
  font-size: 1.5rem;
  font-weight: 700;
}
body#solution-idx #lv02-03 li span{
  display: block;
  margin: 20px 0 0 0;
}
body#solution-idx #lv02-03 .lead{
  padding: 0;
}
body#solution-idx #lv02-03 .balloon{
  position: relative;
  background: #ffe5e6;
  padding: 20px;
  border-radius: 10px;
}
body#solution-idx #lv02-03 .balloon:before {
  content: "";
  position: absolute;
  top: 100%;
  left: 50%;
  margin-left: -15px;
  border: 15px solid transparent;
  border-top: 25px solid #ffe5e6;
}
body#solution-idx #lv02-03 .balloon .images{
  position: absolute;
  right: 10px;
  bottom: -60px;
}
body#solution-idx #lv02-03 .logo{
  position: relative;
  margin: 40px 0 10px 0;
  text-align: center;
}
body#solution-idx #lv02-03 .x{
  display: block;
  position: relative;
  margin: 0 auto 20px auto;
  width: 30px;
  height: 30px;
}
body#solution-idx #lv02-03 .x::before,
body#solution-idx #lv02-03 .x::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 2px;
  height: 30px;
  background: #333;
}
body#solution-idx #lv02-03 .x::before {
  transform: translate(-50%,-50%) rotate(45deg);
}
body#solution-idx #lv02-03 .x::after {
  transform: translate(-50%,-50%) rotate(-45deg);
}
body#solution-idx #lv02-03 .lv03-01 .lead{
  margin: 0 0 40px 0;
  padding: 10px;
  border: 1px solid #fe0009;
  font-size: 2.0rem;
  text-align: center;
}
body#solution-idx #lv02-03 .lv03-01 li{
  background: #fff;
  border: none;
}
body#solution-idx #lv02-03 .lv03-01 h4{
  text-align: center;
}
body#solution-idx #lv02-03 .lv03-01 .lv04-01{
  position: relative;
  background: #edf7e8;
  padding: 20px;
}
body#solution-idx #lv02-03 .lv03-01 .lv04-01 .images{
  margin: 10px auto 0 auto;
  width: 110px;
}
body#solution-idx #lv02-03 .lv03-01 .lv04-01 li{
  padding: 20px 0 0 0;
}
body#solution-idx #lv02-03 .lv03-01 .lv04-02{
  margin: 40px 0;
  background: #ffe5e6;
  padding: 20px;
  font-size: 1.8rem;
}
body#solution-idx #lv02-03 .lv03-01 .lv04-02 li{
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
}
body#solution-idx #lv02-03 .lv03-01 li{
  width: calc(33.33% - 20px);
}
body#solution-idx #lv02-03 .lv03-01 .lv04-03 li{
  padding: 20px;
  border: 1px solid #ff999d;
  border-radius: 5px;
  width: 100%;
  text-align: left;
}


body#solution-idx #lv02-04 ul{
  display: flex;
  gap: 20px;
  padding: 0;
  margin: 0;
  list-style: none;
}
body#solution-idx #lv02-04 li{
  flex: 1;
  background-color: #e5f7fd;
}
body#solution-idx #lv02-04 h3{
  margin: 0 0 10px 0;
  padding: 0;
  background: none;
  font-size: 1.8rem;
  text-align: center;
}
body#solution-idx #lv02-04 p{
  text-align: center;
}
body#solution-idx #lv02-04 h3::before{
  display: none;
}
body#solution-idx #lv02-04 li:nth-child(even) {
  background-color: #edf7e8;
}
body#solution-idx #lv02-04 li{
  padding: 20px 0;
}
body#solution-idx #lv02-04 .link a{
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  background: #fe0009;
  padding: 10px 40px;
  border-radius: 50px;
  font-size: 1.8rem;
  color: #fff;
  text-decoration: none;
}
body#solution-idx #lv02-04 .link{
  margin: 40px auto 0 auto;
  width: 340px;
}
body#solution-idx #lv02-04 .link em{
  color: #fff;
  font-size: 2.4rem;
}
body#solution-idx #lv02-04 .link span{
  margin: 0 0 0 5px;
}

/*  search
////////////////////////////////////////// */

body.search main #content{
  margin: 0 auto !important;
}

body.search #content #search-results .search-card a{
  display: flex;
  flex-wrap: wrap;
  text-decoration: none;
  color: #303130;
}
body.search #content #search-results .search-card p.image{
  width: 25%;
  margin-right: 20px;
}
body.search #content #search-results .search-card .text{
  flex: 1;
}


