@charset "UTF-8";
/*--------------------------------------------------------------------------------------------------------------------
リセット
---------------------------------------------------------------------------------------------------------------------*/
html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  font: inherit;
  font-size: 100%;
  vertical-align: baseline;
}

article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {
  display: block;
}

ol, ul {
  list-style: none;
}

blockquote, q {
  quotes: none;
}

blockquote:before, blockquote:after, q:before, q:after {
  content: "";
  content: none;
}

table {
  border-spacing: 0;
  border-collapse: collapse;
}

*, *:before, *:after {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  margin: 0;
  padding: 0;
  z-index: 1;
  -ms-box-sizing: border-box;
  -o-box-sizing: border-box;
}

a {
  text-decoration: none;
}

body {
/*  min-width: 1590px;*/
    width: 100%;
  line-height: 1.4;
  font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", sans-serif;
  font-weight: 500;
  -webkit-text-size-adjust: 100%;
}

html {
  font-size: 10px;
  font-weight: 500;
}

img {
  max-width: 100%;
  height: auto;
  vertical-align: bottom;
}

.imgalpha {
  -webkit-transition: opacity 0.6s;
  transition: opacity 0.6s;
}

.imgalpha:hover {
  opacity: 0.6;
}

.mi-pc {
    display: block!important;
}
.mi-sp {
    display: none!important;
}

/*--------------------------------------------------------------------------------------------------------------------
コンテンツ
---------------------------------------------------------------------------------------------------------------------*/
/*-----------------------------
	common
------------------------------*/
.inner {
/*  width: 1480px;*/
    width: 100%;
    max-width: 1460px;
    margin: 0 auto;
}


.inner2 {
    /* width: 1590px; */
    width: 100%;
    max-width: 1460px;
    margin: 0 auto;
}

.inner3 {
 max-width: 1590px;
  margin: 0 auto;
}

.topTtlWrap {
  overflow: hidden;
  max-width: 100%;
  margin-bottom: 90px;
  text-align: center;
  background: url(../common/images/bg_topTtl01.jpg);
  background-position: 50% 50%;
  background-size: cover;
}
.topTtlWrap02 {
  margin-bottom: 0;
}

.topTtlWrap .inner {
  display: table;
  width: 100%;
    padding: 70px 0;
    display: flex;
    align-items: center;
    justify-content: center;
}

.topTtlWrap .topTtl {
  vertical-align: middle;
}

.secIntroduction {
  margin-bottom: 80px;
  text-align: center;
}

.secIntroduction .secIntroductionIco {
  display: inline-block;
  margin-bottom: 20px;
}

.secIntroduction .secIntroductionTxt {
  line-height: 2.25;
  font-size: 24px;
  font-weight: bold;
}

.goNextBtnWrap {
  margin: 236px auto 80px;
  text-align: right;
}

.bgBlue {
  background: #f3f9ff;
}

/*header*/
header .headerInner {
width: 100%;
  max-width: 1590px;
  margin: 0 auto;
  padding: 28px 20px;
    display: flex;
    align-items: center;
    justify-content: space-between;
}
header .headerInner .nav{
    width: 1000px;
    display: flex;
    align-items: center;
    justify-content: flex-end;
}

header .headerInner .nav li{
    margin-left: 40px;
    position: relative;
}
header .headerInner .nav li::before{
    content: '';
    position: absolute;
    left: 0;
    bottom: -8px;
    width: 100%;
    height: 3px;
    background: #fff;
    -webkit-transition: all 300ms;
    transition: all 300ms;
}
header .headerInner .nav li:hover::before{
    background: #1c6bc4;
    -webkit-transition: all 300ms;
    transition: all 300ms;
}
header .headerInner .nav li.active::before{
    background: #1c6bc4;
    -webkit-transition: all 300ms;
    transition: all 300ms;
}

header .headerInner .nav_sp{
    display: none;
}


header .headerInner h1{
    width: 200px;
}

/*footer*/
footer {
  padding: 15px 0;
  border-top: 1px solid #dfdfdf;
  color: #231815;
  font-size: 16px;
  text-align: center;
}

/*-----------------------------
	top
------------------------------*/
.top .topVisual {
  width: 100%;
  background: url(../images/bg_mv01.jpg);
  background-position: 50% 50%;
  background-size: cover;
}

.top .topVisual .inner {
  display: flex;
    align-items: center;
    justify-content: center;
  max-height: 762px;
    padding: 130px 0;
}

.top .topVisual .left {
    width: 452px;
    margin-left: 147px;
    margin-right: 210px;
}

.top .topVisual .right {
    text-align: center;
}

.top .topVisual .right .topVisualTtl {
  margin-bottom: 20px;
  color: #0050aa;
  font-size: 36px;
  font-weight: bold;
}

.top .topVisual .right .topVisualTxt {
  margin-bottom: 20px;
  line-height: 1.94;
  font-size: 16px;
  font-weight: bold;
}

.top .topVisual .right .topVisualTxt sup {
  font-size: 70%;
  vertical-align: super;
}

.top .topVisual .right .remarks {
  display: table;
  margin: 0 auto;
  text-align: left;
}

.top .topVisual .right .remarks li {
  display: inline-block;
  line-height: 1.84;
  font-size: 13px;
}

.top .topVisual .right .remarks li:first-child {
  display: block;
}

.top .topVisual .right .remarks li a {
  margin-right: 20px;
  color: #4c86c1;
  text-decoration: underline;
}

.top .topVisual .right .remarks li a:hover {
  text-decoration: none;
}

.top .navListWrap {
  margin-bottom: 50px;
  padding: 45px 20px 40px;
  font-size: 0;
  background: #2078da;
}

.top .navListWrap li {
  display: inline-block;
  margin-right: 25px;
}

.top .navListWrap li:last-child {
  margin-right: 0;
}

.top .relatedLink {
width: 100%;
     max-width: 1590px;
  margin: 0 auto 160px;
  line-height: 2;
  font-size: 16px;
    padding-left: 120px;
}

.top .relatedLink .relatedLinkTtl {
  margin-bottom: 5px;
}

.top .relatedLink .relatedLinkTtl02 {
  margin-bottom: 5px;
}
.top .relatedLinkTtl02_txt {
    margin-bottom: 20px;
}
.top .relatedLink .btn_opinion {
    margin-bottom: 45px;
    margin-right: 20px;
}

.top .relatedLink li {
  margin-bottom: 10px;
}

.top .relatedLink dt {
  color: #1c8ad5;
  font-weight: bold;
}

.top .relatedLink dt a {
  color: #1c8ad5;
  text-decoration: underline;
}

.top .relatedLink dt a:hover {
  text-decoration: none;
}

/*-----------------------------
	basicpolicy
------------------------------*/
.basicpolicy .sec01 {
    background: #f3f9ff;
}

/*-----------------------------
	threeprinciple
------------------------------*/
.threeprinciple .sec01 {
  margin-bottom: 135px;
}

/*-----------------------------
	operationsystem
------------------------------*/
.operationsystem .sec01 {
  margin-bottom: 135px;
}

.operationsystem .goNextBtnWrap {
  margin-top: 136px;
}

/*-----------------------------
	applicationpolicy
------------------------------*/
.applicationpolicy .sec01 {
  margin-bottom: 135px;
}

.applicationpolicy .sec01 ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}

.applicationpolicy .sec01 ul li {
  width: 31.44%;
}

.applicationpolicy .sec02 {
  margin-bottom: 55px;
    padding: 0 20px;
}

.applicationpolicy .sec02 .img {
    max-width: 1350px;
    margin-left: auto;
    margin-right: auto;
}
.applicationpolicy .sec03 {
  margin-bottom: 270px;
}

.applicationpolicy .sec03 .objectiveBox {
  margin-bottom: 80px;
}

.applicationpolicy .sec03 .objectiveBox:last-child {
  margin-bottom: 0;
}

.applicationpolicy .zoomImgWrap {
  text-align: center;
/*  background: url(../applicationpolicy/images/bg_zoomImgWrap.jpg);*/
    background: url(../applicationpolicy/images/sec04_bg.png) 0 0 repeat-y;
    background-size: contain;
}

.applicationpolicy .zoomImgWrap img {
  width: 100%;
  height: auto;
}

.applicationpolicy .zoomImgWrap ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

.applicationpolicy .zoomImgWrap ul li {
  max-width: 444px;
  z-index: auto;
}

.applicationpolicy .zoomImgWrap ul li:nth-child(2) {
  margin-left: 1.38%;
}

.applicationpolicy .objective01 .zoomImgWrap p {
  max-width: 430px;
  margin: 0 auto;
}

.applicationpolicy .objective02 .zoomImgWrap p, .applicationpolicy .objective03 .zoomImgWrap p, .applicationpolicy .objective04 .zoomImgWrap p {
  max-width: 500px;
  margin: 0 auto;
}

.zoom-overlay-open .zoom-img-wrap .zoom-img {
  -webkit-transform: scale(1.5) !important;
          transform: scale(1.5) !important;
}

/*-----------------------------
	zoom
------------------------------*/
img[data-action="zoom"] {
  cursor: pointer;
  cursor: -webkit-zoom-in;
  cursor: -moz-zoom-in;
}

.zoom-img, .zoom-img-wrap {
  position: relative;
  -webkit-transition: all 300ms;
  transition: all 300ms;
  z-index: 666;
}

img.zoom-img {
  cursor: pointer;
  cursor: -webkit-zoom-out;
  cursor: -moz-zoom-out;
}

.zoom-overlay {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  opacity: 0;
  background: #fff;
  pointer-events: none;
  -webkit-transition: opacity 300ms;
  transition: opacity 300ms;
  z-index: 420;
  filter: "alpha(opacity=0)";
}

.zoom-overlay-open .zoom-overlay {
  opacity: 1;
  filter: "alpha(opacity=100)";
}

.zoom-overlay-open, .zoom-overlay-transitioning {
  cursor: default;
}



/*-----------------------------
 下層ページ basicpolicy
------------------------------*/
.basicpolicy .sec01 {
    position: relative;
    text-align: center;
    margin: 0 55px;
}

.basicpolicy .sec01 .ttl01 {
    width: 643px;
    margin-left: auto;
    margin-right: auto;
    padding-top: 106px;
    padding-bottom: 66px;
}
.basicpolicy .sec01 .img01 {
    position: absolute;
    left: 30px;
    top: 42px;;
    width: 326px;
    height: 297px;
}
.basicpolicy .sec01 .txt01 {
    font-size: 20px;
    font-weight: bold;
    line-height: 1.9;
    margin-bottom: 58px;
}
.basicpolicy .sec01 .img02 {
    width: 1120px;
    margin-left: auto;
    margin-right: auto;
    padding-bottom: 80px;
}

.basicpolicy .sec02 {
    position: relative;
    text-align: center;
    margin: 0 55px;
}

.basicpolicy .sec02 .ttl01 {
    width: 586px;
    margin-left: auto;
    margin-right: auto;
    padding-top: 106px;
    padding-bottom: 66px;
}
.basicpolicy .sec02 .img01 {
    position: absolute;
    left: 35px;
    top: 70px;;
    width: 340px;
    height: 280px;
}
.basicpolicy .sec02 .txt01 {
    font-size: 20px;
    font-weight: bold;
    line-height: 1.9;
    margin-bottom: 58px;
}
.basicpolicy .sec02 .img02 {
    padding-bottom: 80px;
}
.basicpolicy .goNextBtnWrap {
    margin: 138px auto 80px;
        padding-right: 55px;
    text-align: right;
}
.basicpolicy .goNextBtnWrap img{
    width: 429px;

}


/*-----------------------------
 下層ページ threeprinciple
------------------------------*/
.threeprinciple .sec01 {
    position: relative;
    text-align: center;
    background: #f3f9ff;
    margin: 0 55px;
}
.threeprinciple .sec01 .ttl01 {
    width: 443px;
    margin-left: auto;
    margin-right: auto;
    padding-top: 106px;
    padding-bottom: 66px;
}
.threeprinciple .sec01 .img01 {
    position: absolute;
    left: 32px;
    top: 91px;;
    width: 339px;
    height: 256px;
}
.threeprinciple .sec01 .txt01 {
    font-size: 20px;
    font-weight: bold;
    line-height: 1.9;
    margin-bottom: 80px;
}
.threeprinciple .sec01 .img02 {
    width: 1260px;
    margin-left: auto;
    margin-right: auto;
    padding-bottom: 80px;
}

.threeprinciple .sec02 {
    margin: 0 55px;
    padding-top: 135px;
}

.threeprinciple .sec02 .flexArea{
    display: flex;
    align-items: flex-start;
    justify-content: flex-start;
}

.threeprinciple .sec02 .flexArea .flexL{
    width: 45%;
}
.threeprinciple .sec02 .flexArea .flexR{
    width: 55%;
}
.threeprinciple .sec02 .flexArea .flexL .ttl01{
    padding-top: 55px;
    padding-left: 67px;
    padding-bottom: 66px;
}
.threeprinciple .sec02 .flexArea .flexL .txt01{
    font-size: 20px;
    font-weight: bold;
    line-height: 1.9;
    margin-right: 5px;
    margin-bottom: 80px;
    letter-spacing: -0.03em;
}
.threeprinciple .sec02 .flexArea .flexL .img01 {
    width: 426px;
    margin-left: 194px;
}

.threeprinciple .sec02 .flexArea .flexR .principle {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    margin-bottom: 40px;
}

.threeprinciple .sec02 .flexArea .flexR .principle:last-child {
    margin-bottom: 0;
}

.threeprinciple .sec02 .flexArea .flexR .principle .sub-ttl{
    width: 98px;
    text-align: right;
}

.threeprinciple .sec02 .flexArea .flexR .principle .numSet{
    width: 100%;
}

.threeprinciple .sec02 .flexArea .flexR .principle .num-cont{
    position: relative;
    margin-bottom: 50px;
    margin-left: 30px;
    padding-left: 70px;
    font-weight: bold;
}

.threeprinciple .sec02 .flexArea .flexR .principle .num-cont::before{
    content: '';
    width: 43px;
    height: 62px;
    position: absolute;
    left: 0;
    top: 50%;
    background: url(../threeprinciple/images/img_num01.png) 0 0;
    background-size: cover;
    transform: translate(0, -50%);
}

.threeprinciple .sec02 .flexArea .flexR .principle .num-cont-02::before{
    background: url(../threeprinciple/images/img_num02.png) 0 0;
    background-size: cover;
    transform: translate(0, -50%);
}

.threeprinciple .sec02 .flexArea .flexR .principle .num-cont-03::before{
    background: url(../threeprinciple/images/img_num03.png) 0 0;
    background-size: cover;
    transform: translate(0, -50%);
}

.threeprinciple .sec02 .flexArea .flexR .principle .num-cont-04::before{
    background: url(../threeprinciple/images/img_num04.png) 0 0;
    background-size: cover;
    transform: translate(0, -50%);
}

.threeprinciple .sec02 .flexArea .flexR .principle .num-cont-05::before{
    background: url(../threeprinciple/images/img_num05.png) 0 0;
    background-size: cover;
    transform: translate(0, -50%);
}

.threeprinciple .sec02 .flexArea .flexR .principle .num-cont-06::before{
    background: url(../threeprinciple/images/img_num06.png) 0 0;
    background-size: cover;
    transform: translate(0, -50%);
}

.threeprinciple .sec02 .flexArea .flexR .principle .num-cont-07::before{
    background: url(../threeprinciple/images/img_num07.png) 0 0;
    background-size: cover;
    transform: translate(0, -50%);
}

.threeprinciple .sec02 .flexArea .flexR .principle .num-cont-08::before{
    background: url(../threeprinciple/images/img_num08.png) 0 0;
    background-size: cover;
    transform: translate(0, -50%);
}

.threeprinciple .sec02 .flexArea .flexR .principle .num-cont:last-child{
    margin-bottom: 0;
}

.threeprinciple .sec02 .flexArea .flexR .principle .num-cont-01 dt,
.threeprinciple .sec02 .flexArea .flexR .principle .num-cont-02 dt,
.threeprinciple .sec02 .flexArea .flexR .principle .num-cont-03 dt{
    font-size: 24px;
    color: #f60000;
}

.threeprinciple .sec02 .flexArea .flexR .principle .num-cont-04 dt,
.threeprinciple .sec02 .flexArea .flexR .principle .num-cont-05 dt,
.threeprinciple .sec02 .flexArea .flexR .principle .num-cont-06 dt{
    font-size: 24px;
    color: #0050aa;
}

.threeprinciple .sec02 .flexArea .flexR .principle .num-cont-07 dt,
.threeprinciple .sec02 .flexArea .flexR .principle .num-cont-08 dt{
    font-size: 24px;
    color: #000000;
}

.threeprinciple .sec02 .flexArea .flexR .principle .num-cont dd{
    font-size: 20px;
}

.threeprinciple .goNextBtnWrap {
    margin: 230px auto 80px;
    padding-right: 55px;
    text-align: right;
}
.threeprinciple .goNextBtnWrap img{
    width: 480px;
}


/*-----------------------------
 下層ページ operationsystem
------------------------------*/
.operationsystem .sec01 {
    position: relative;
    text-align: center;
    margin: 0 55px 140px;
    padding-bottom: 10px;
}
.operationsystem .sec01 .ttl01 {
    width: 474px;
    margin-left: auto;
    margin-right: auto;
    padding-top: 118px;
    padding-bottom: 66px;
}
.operationsystem .sec01 .img01 {
    position: absolute;
    left: 57px;
    top: 39px;
    width: 370px;
    height: 321px;
}
.operationsystem .sec01 .txt01 {
    font-size: 20px;
    font-weight: bold;
    line-height: 1.9;
    margin-bottom: 112px;
}

.operationsystem .sec01 .op_system {
    padding-bottom: 80px;
}

.operationsystem .sec01 .op_system .sub_ttl{
    width: 590px;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 50px;
}
.operationsystem .sec01 .op_system .sub_ttl img{
    margin-left: -130px;
}
.operationsystem .sec01 .op_system .op_flexArea{
    display: flex;
    align-items: flex-start;
    justify-content: center;
    padding: 0 31px;
}
.operationsystem .sec01 .op_system .op_flexArea .op_flexArea_item{
    width: 390px;
    margin: 0 20px;
}

.operationsystem .sec01 .op_system .op_flexArea .op_flexArea_item .ttl_num {
    margin-bottom: 24px;
}

.operationsystem .sec01 .op_system .op_flexArea .op_flexArea_item .lead {
    font-size: 21px;
    font-weight: bold;
    color: #f60000;
    margin-bottom: 24px;
    letter-spacing: -0.03em;
}
.operationsystem .sec01 .op_system-02 .op_flexArea .op_flexArea_item .lead {
    color: #0050aa;
}
.operationsystem .sec01 .op_system-03 .op_flexArea .op_flexArea_item .lead {
    color: #000;
}

.operationsystem .sec01 .op_system .op_flexArea .op_flexArea_item .txt {
    font-size: 18px;
    font-weight: bold;
    text-align: left;
    line-height: 1.778;
}
.operationsystem .sec01 .op_system .op_flexArea .op_flexArea_item .txt sup{
    font-size: 70%;
    vertical-align: super;
}


.operationsystem .sec01 .op_system .op_flexArea .op_flexArea_item .comments {
    font-size: 16px;
    text-align: left;
    margin-top: 22px;
    font-weight: bold;
}

.operationsystem .sec02 {
    position: relative;
    text-align: center;
    margin: 0 55px;
}
.operationsystem .sec02 .ttl01 {
    padding-bottom: 58px;
}
.operationsystem .sec02 .txt01 {
    font-size: 20px;
    font-weight: bold;
    line-height: 1.9;
    margin-bottom: 54px;
}
.operationsystem .sec02 .img01 {

}
.operationsystem .sec03 {
    position: relative;
    text-align: center;
    background: #f3f9ff;
    margin: 0 55px 140px;
    padding-bottom: 10px;
}

.operationsystem .sec03 .ttl01 {
    width: 647px;
    margin-left: auto;
    margin-right: auto;
    padding-top: 118px;
    padding-bottom: 66px;
}
.operationsystem .sec03 .img01 {
    position: absolute;
    left: 57px;
    top: 39px;
    width: 370px;
    height: 321px;
}
.operationsystem .sec03 .txt01 {
    font-size: 20px;
    font-weight: bold;
    line-height: 1.9;
    margin-bottom: 112px;
}
.operationsystem .sec03 .sec03_img {
  width: 1249px;
  margin: 0 auto;
  text-align: center;
}
.operationsystem .sec03 .sec03_img p{
  margin-bottom: 100px;
}
.operationsystem .sec03 .sec03_img p.sec03_img02{
  width: 1080px;
  margin:0 auto 100px;
}
.operationsystem .sec03 .sec03_img p.sec03_img03{
  width: 1080px;
  margin:0 auto 133px;
  position: relative;
}
.operationsystem .sec03 .sec03_img p.sec03_img03 .over_txt01{
  position: absolute;
  left: 11%;
  top: 13%;
  font-size: 20px;
  font-weight: bold;
  line-height: 1.9;
  letter-spacing: -0.04em;
}

.operationsystem .goNextBtnWrap {
    margin: 160px auto 80px;
    padding-right: 55px;
    text-align: right;
}
.operationsystem .goNextBtnWrap img{
    width: 485px;
}



/*-----------------------------
 下層ページ applicationpolicy
------------------------------*/
.applicationpolicy .sec01 {
  width: 1460px;
  margin: 0 auto 100px;
  padding: 0 55px;
    position: relative;
    text-align: center;
}

.applicationpolicy .sec01 .flex_item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}

.applicationpolicy .sec01 .flex_item li {
    width: 31.44%;
    position: relative;
}
.applicationpolicy .sec01 .flex_item li p{
    position: absolute;
    left: 7%;
    top: 20%;
    font-size: 20px;
    font-weight: bold;
    line-height: 1.85;
    width: 88%;
    letter-spacing: -0.03em;
    text-align: left;
}
.applicationpolicy .sec01 .flex_item li p sup{
    font-size: 70%;
    vertical-align: super;
}



.applicationpolicy .sec03_1 {
    position: relative;
    text-align: center;
    margin: 0 auto;
}

.applicationpolicy .sec03_1 .ttl01 {
    width: 395px;
    margin-left: auto;
    margin-right: auto;
    padding-top: 97px;
    padding-bottom: 66px;
}
.applicationpolicy .sec03_1 .img01 {
    position: absolute;
    left: 20px;
    top: 0;
    width: 404px;
    height: 262px;
}
.applicationpolicy .sec03_1 .txt01 {
    font-size: 20px;
    font-weight: bold;
    line-height: 1.9;
    margin-bottom: 58px;
}
.applicationpolicy .sec04 {
    width: 1350px;
    text-align: center;
    margin: 0 auto 80px;
    padding-bottom: 95px;
    background: #f3f9ff;
    border: 4px solid #000;
}
.applicationpolicy .sec04-last {
    margin-bottom: 270px;
}
.applicationpolicy .sec04 .ttl01 {
    width: 1060px;
    margin-left: auto;
    margin-right: auto;
    padding-bottom: 45px;
}
.applicationpolicy .sec04 .detail {
    width: 890px;
    margin: 0 auto;
    text-align: left;
}
.applicationpolicy .sec04 .detail .d-ttl{
    margin-bottom: 5px;
}
.applicationpolicy .sec04 .detail .d-txt{
    font-size: 18px;
    font-weight: bold;
    line-height: 1.778;
    margin-bottom: 45px;
    letter-spacing: -0.03em;
}
.applicationpolicy .sec04 .detail02 {
    width: 1060px;;
    margin: 0 auto;
    text-align: left;
}
.applicationpolicy .sec04 .detail02 img{
    width: 100%;
}
.applicationpolicy .sec04 .detail02 .pos-re {
    position: relative;
}
.applicationpolicy .sec04 .detail02 .up-txt {
    width: 100%;
    position: absolute;
    left: 51%;
    top:46%;
    font-size: 28px;
    font-weight: bold;
    text-align: center;
    color: #0050aa;
    line-height: 1.786;
    transform: translate(-50%, 0);
}

.applicationpolicy .sec04 .detail02 .sub-txt {
    width: 100%;
    position: absolute;
    left: 51%;
    bottom: 25%;
    font-size: 16px;
    font-weight: bold;
    text-align: center;
    line-height: 1.786;
    transform: translate(-50%, 0);
}

/*-----------------------------
	1590px以下
------------------------------*/
@media (max-width: 1590px) {

    header .headerInner {
    padding-top: calc((28/ 1590) * 100%);
        padding-bottom: calc((28/ 1590) * 100%);
         padding-left: calc((20/ 1590) * 100%);
         padding-right: calc((20/ 1590) * 100%);
}

    header .headerInner h1{
        width: calc((200/ 1590) * 100%);
    }

    header .headerInner .nav{
        width: calc((1000/ 1590) * 100%);
    }

    header .headerInner .nav li{
        margin-left: calc((40/ 1000) * 100%);
    }

    header .headerInner .nav li.nav01{
        width: calc((193/ 1000) * 100%);
    }
    header .headerInner .nav li.nav02{
        width: calc((188/ 1000) * 100%);
    }
    header .headerInner .nav li.nav03{
        width: calc((187/ 1000) * 100%);
    }
    header .headerInner .nav li.nav04{
        width: calc((164/ 1000) * 100%);
    }

    .top .topVisual .right .topVisualTtl {
         margin-bottom: calc((20/ 1590) * 100%);
        font-size: calc((36/ 1590) * 100 *1vw);
    }
    .top .topVisual .right .topVisualTxt {
         margin-bottom: calc((20/ 1590) * 100%);
        font-size: calc((16/ 1590) * 100 *1vw);
    }
    .top .navListWrap {
    margin-bottom: calc((50/ 1590) * 100%);
        padding-top: calc((45/ 1590) * 100%);
        padding-bottom: calc((40/ 1590) * 100%);
        padding-left: calc((20/ 1590) * 100%);
        padding-right: calc((20/ 1590) * 100%);
}


    .top .topVisual .inner {
  display: flex;
    align-items: center;
    justify-content: center;
  height: auto;
         padding-top: calc((130/ 1590) * 100%);
        padding-bottom: calc((130/ 1590) * 100%);
}

.top .topVisual .left {
    width: calc((452/ 1590) * 100%);
    margin-left: calc((100/ 1590) * 100%);
    margin-right: calc((150/ 1590) * 100%);
}

.top .topVisual .right {
    text-align: center;
}


    .top .topVisual .right .remarks li {
    font-size: calc((13/ 1590) * 100 *1vw);
}

    .top .navListWrap li {
    margin-right: calc((40/ 1590) * 100%);
        width: calc((367/ 1590) * 100%);
}
.top .relatedLink h2{
    width: calc((118/ 1470) * 100%);
    min-width: 80px;
}

.top .relatedLink h2.relatedLinkTtl02{
    width: calc((225/ 1470) * 100%);
    min-width: 151px;
    margin-bottom: 10px;
}

.top .relatedLink .btn_opinion {
    width: calc((340/ 1470) * 100%);
    min-width: 228px;
    margin-bottom: 45px;
}

.top .relatedLinkTtl02_txt{
  margin-bottom: 20px;
  margin-right: 20px;
}

    .top .relatedLink {
        font-size: calc((16/ 1590) * 100 *1vw);
         margin-bottom: calc((160/ 1590) * 100%);
        padding-left: calc((120/ 1590) * 100%);
    }

    .copyright {
        font-size: calc((16/ 1590) * 100 *1vw);
    }



    /*-----------------------------
	   下層ページ
    ------------------------------*/
    .topTtlWrap {
        margin-bottom: calc((90/ 1590) * 100%);
    }
    .topTtlWrap02 {
        margin-bottom: 0;
    }

    .basicpolicy .topTtlWrap .inner {
        padding-top: calc((70/ 1590) * 100%);
        padding-bottom: calc((70/ 1590) * 100%);
    }

    .basicpolicy .topTtlWrap .topTtl {
        width: calc((827/ 1590) * 100%);
    }

    .secIntroduction .secIntroductionIco {
         width: calc((74/ 1590) * 100%);
    }

    .secIntroduction .secIntroductionTxt {
        font-size: calc((24/ 1590) * 100 *1vw);
    }
    .secIntroduction {
         margin-bottom: calc((80/ 1590) * 100%);
    }


    /*-----------------------------
     下層ページ basicpolicy
    ------------------------------*/
    .basicpolicy .sec01 {
        margin-left: calc((55/ 1460) * 100%);
        margin-right: calc((55/ 1460) * 100%);
    }
    .basicpolicy .sec01 .ttl01 {
        width: calc((649/ 1460) * 100%);
        margin: 0 auto;
        padding-top: calc((106/ 1460) * 100%);
        padding-bottom: calc((66/ 1460) * 100%);
    }
    .basicpolicy .sec01 .img01 {
        position: absolute;
        left: calc((58/ 1460) * 100%);
        top: calc((42/ 1460) * 100%);
        width: calc((360/ 1460) * 100%);
        height: calc((328/ 1460) * 100%);
    }
    .basicpolicy .sec01 .txt01 {
        font-size: calc((20/ 1590) * 100 *1vw);
        margin-bottom: calc((58/ 1460) * 100%);
    }
    .basicpolicy .sec01 .img02 {
        width: calc((1120/ 1460) * 100%);
        margin: 0 auto;
        padding-bottom: calc((80/ 1460) * 100%);
    }

    .basicpolicy .sec02 {
        margin-left: calc((55/ 1460) * 100%);
        margin-right: calc((55/ 1460) * 100%);
    }
    .basicpolicy .sec02 .ttl01 {
        width: calc((586/ 1460) * 100%);
        margin: 0 auto;
        padding-top: calc((106/ 1460) * 100%);
        padding-bottom: calc((66/ 1460) * 100%);
    }
    .basicpolicy .sec02 .img01 {
        position: absolute;
        left: calc((85/ 1460) * 100%);
        top: calc((97/ 1460) * 100%);
        width: calc((340/ 1460) * 100%);
        height: calc((280/ 1460) * 100%);
    }
    .basicpolicy .sec02 .txt01 {
        font-size: calc((20/ 1590) * 100 *1vw);
        margin-bottom: calc((58/ 1460) * 100%);
    }
    .basicpolicy .sec02 .img02 {
        width: calc((1040/ 1460) * 100%);
        margin: 0 auto;
        padding-bottom: calc((80/ 1460) * 100%);
    }
    .basicpolicy .goNextBtnWrap {
        margin-top: calc((138/ 1460) * 100%);
        margin-bottom: calc((80/ 1460) * 100%);
        padding-right: calc((55/ 1460) * 100%);
    }
    .basicpolicy .goNextBtnWrap img{
        width: calc((429/ 1460) * 100%);
    }

    .goNextBtnWrap {
         padding-left: calc((20/ 1460) * 100%);
         padding-right: calc((20/ 1460) * 100%);
    }


    /*-----------------------------
     下層ページ threeprinciple
    ------------------------------*/
    .threeprinciple .sec01 {
        margin-left: calc((55/ 1460) * 100%);
        margin-right: calc((55/ 1460) * 100%);
    }
    .threeprinciple .topTtlWrap .topTtl {
        width: calc((827/ 1460) * 100%);
    }
    .threeprinciple .topTtlWrap .inner {
        padding-top: calc((70/ 1460) * 100%);
        padding-bottom: calc((70/ 1460) * 100%);
    }
    .threeprinciple .secIntroduction .secIntroductionIco {
        width: calc((76/ 1460) * 100%);
    }
    .threeprinciple .sec01 .ttl01 {
        width: calc((443/ 1460) * 100%);
        margin: 0 auto;
        padding-top: calc((106/ 1460) * 100%);
        padding-bottom: calc((66/ 1460) * 100%);
    }
    .threeprinciple .sec01 .img01 {
        position: absolute;
        left: calc((80/ 1460) * 100%);
        top: calc((91/ 1460) * 100%);
        width: calc((339/ 1460) * 100%);
        height: calc((256/ 1460) * 100%);
    }
    .threeprinciple .sec01 .txt01 {
        font-size: calc((20/ 1590) * 100 *1vw);
        margin-bottom: calc((80/ 1460) * 100%);
    }
    .threeprinciple .sec01 .img02 {
        width: calc((1260/ 1460) * 100%);
        margin: 0 auto;
        padding-bottom: calc((80/ 1460) * 100%);
    }
    .threeprinciple .sec02 {
        margin-left: calc((55/ 1460) * 100%);
        margin-right: calc((55/ 1460) * 100%);
        padding-top: calc((135/ 1460) * 100%);
    }
    .threeprinciple .sec02 .flexArea .flexL .ttl01{
        width: calc((558/ 1460 / 0.45) * 100%);
        margin: 0 auto;
        padding-top: calc((55/ 1460 / 0.45) * 100%);
        padding-left: calc((67/ 1460 / 0.45) * 100%);
        padding-bottom: calc((66/ 1460 / 0.45) * 100%);
    }
    .threeprinciple .sec02 .flexArea .flexL .txt01{
        font-size: calc((20/ 1590) * 100 *1vw);
        margin-right: calc((5/ 1460) * 100%);
        margin-bottom: calc((80/ 1460) * 100%);
    }
    .threeprinciple .sec02 .flexArea .flexL .img01 {
        width: calc((426/ 1460 / 0.45) * 100%);
        margin-left: calc((194/ 1460 / 0.45) * 100%);
    }

    .threeprinciple .sec02 .flexArea .flexR .principle {
        margin-bottom: calc((40/ 1460 / 0.55) * 100%);
    }

    .threeprinciple .sec02 .flexArea .flexR .principle:last-child {
        margin-bottom: 0;
    }

    .threeprinciple .sec02 .flexArea .flexR .principle .sub-ttl{
        width: calc((98/ 1460 / 0.55) * 100%);
    }

    .threeprinciple .sec02 .flexArea .flexR .principle .sub-ttl img{
        width: calc((51/98) * 100%);
    }

    .threeprinciple .sec02 .flexArea .flexR .principle .num-cont{
        position: relative;
        margin-bottom: calc((40/ 1460 / 0.55) * 100%);
        margin-left: calc((30/ 1460 / 0.55) * 100%);
        padding-left: calc((70/ 1460 / 0.55) * 100%);
        font-weight: bold;
    }

    .threeprinciple .sec02 .flexArea .flexR .principle .num-cont::before{
        content: '';
        width: calc((43/ 1460 / 0.55) * 100%);
        height: 100%;
        background-size: contain;
        background-repeat: no-repeat;
    }

    .threeprinciple .sec02 .flexArea .flexR .principle .num-cont:last-child{
        margin-bottom: 0;
    }

    .threeprinciple .sec02 .flexArea .flexR .principle .num-cont-01 dt,
    .threeprinciple .sec02 .flexArea .flexR .principle .num-cont-02 dt,
    .threeprinciple .sec02 .flexArea .flexR .principle .num-cont-03 dt{
        font-size: calc((24/ 1590) * 100 *1vw);
    }

    .threeprinciple .sec02 .flexArea .flexR .principle .num-cont-04 dt,
    .threeprinciple .sec02 .flexArea .flexR .principle .num-cont-05 dt,
    .threeprinciple .sec02 .flexArea .flexR .principle .num-cont-06 dt{
        font-size: calc((24/ 1590) * 100 *1vw);
    }

    .threeprinciple .sec02 .flexArea .flexR .principle .num-cont-07 dt,
    .threeprinciple .sec02 .flexArea .flexR .principle .num-cont-08 dt{
        font-size: calc((24/ 1590) * 100 *1vw);
    }

    .threeprinciple .sec02 .flexArea .flexR .principle .num-cont dd{
        font-size: calc((20/ 1590) * 100 *1vw);
    }


    .threeprinciple .goNextBtnWrap {
        margin-top: calc((138/ 1460) * 100%);
        margin-bottom: calc((80/ 1460) * 100%);
        padding-right: calc((55/ 1460) * 100%);
    }
    .threeprinciple .goNextBtnWrap img{
        width: calc((480/ 1460) * 100%);
    }


    /*-----------------------------
     下層ページ operationsystem
    ------------------------------*/
    .operationsystem .sec01 {
        margin-left: calc((55/ 1460) * 100%);
        margin-right: calc((55/ 1460) * 100%);
        margin-bottom: calc((140/ 1460) * 100%);
    }
    .operationsystem .topTtlWrap .topTtl {
        width: calc((827/ 1460) * 100%);
    }
    .operationsystem .topTtlWrap .inner {
        padding-top: calc((70/ 1460) * 100%);
        padding-bottom: calc((70/ 1460) * 100%);
    }
    .operationsystem .sec01 .ttl01 {
        width: calc((474/ 1460) * 100%);
        margin: 0 auto;
        padding-top: calc((118/ 1460) * 100%);
        padding-bottom: calc((66/ 1460) * 100%);
    }
    .operationsystem .sec01 .img01 {
        position: absolute;
        left: calc((117/ 1460) * 100%);
        top: calc((32/ 1460) * 100%);
        width: calc((370/ 1460) * 100%);
        height: calc((321/ 1460) * 100%);
    }
    .operationsystem .sec01 .txt01 {
        font-size: calc((20/ 1590) * 100 *1vw);
        margin-bottom: calc((112/ 1460) * 100%);
    }

    .operationsystem .sec01 .op_system {
        padding-bottom: calc((80/ 1460) * 100%);
    }

    .operationsystem .sec01 .op_system .sub_ttl{
        width: calc((590/ 1460) * 100%);
        margin-bottom: calc((50/ 1460) * 100%);
        margin-left: auto;
        margin-right: auto;
    }
    .operationsystem .sec01 .op_system .sub_ttl img{
        margin-left: calc((-130/ 590) * 100%);
    }
    .operationsystem .sec01 .op_system .op_flexArea {
      padding-left: calc((30/ 1460) * 100%);
      padding-right: calc((30/ 1460) * 100%);
    }

    .operationsystem .sec01 .op_system .op_flexArea .op_flexArea_item{
        width: calc((390/ 1350) * 100%);
        margin-left: calc((20/ 1460) * 100%);
        margin-right: calc((20/ 1460) * 100%);
    }

    .operationsystem .sec01 .op_system .op_flexArea .op_flexArea_item .ttl_num {
        margin-bottom: calc((24/ 390) * 100%);
    }

    .operationsystem .sec01 .op_system .op_flexArea .op_flexArea_item .lead {
        font-size: calc((21/ 1590) * 100 *1vw);
        margin-bottom: calc((24/ 390) * 100%);
    }
    .operationsystem .sec01 .op_system .op_flexArea .op_flexArea_item .txt {
        font-size: calc((18/ 1590) * 100 *1vw);
    }

    .operationsystem .sec01 .op_system .op_flexArea .op_flexArea_item .comments {
        font-size: calc((16/ 1590) * 100 *1vw);
        margin-top: calc((22/ 390) * 100%);
    }

    .operationsystem .sec02 {
        margin-left: calc((55/ 1460) * 100%);
        margin-right: calc((55/ 1460) * 100%);
    }
    .operationsystem .sec02 .ttl01 {
        width: calc((683/ 1460) * 100%);
        margin: 0 auto;
        padding-bottom: calc((58/ 1460) * 100%);
    }
    .operationsystem .sec02 .txt01 {
        font-size: calc((20/ 1590) * 100 *1vw);
        margin-bottom: calc((54/ 1460) * 100%);
    }
    .operationsystem .sec02 .img01 {
        width: calc((840/ 1460) * 100%);
        margin: 0 auto;
    }

    .operationsystem .sec03 {
      margin-left: calc((55/ 1460) * 100%);
      margin-right: calc((55/ 1460) * 100%);
      margin-bottom: calc((140/ 1460) * 100%);
    }

    .operationsystem .sec03 .ttl01 {
        width: calc((647/ 1460) * 100%)
    }
    .operationsystem .sec03 .txt01 {
      font-size: calc((20/ 1590) * 100 *1vw);
      margin-bottom: calc((112/ 1460) * 100%);
    }
    .operationsystem .sec03 .sec03_img {
      width: calc((1249/ 1460) * 100%);
    }
    .operationsystem .sec03 .sec03_img p{
      margin-bottom: calc((100/ 1460) * 100%);
    }
    .operationsystem .sec03 .sec03_img p.sec03_img02{
      width: calc((1080/ 1249) * 100%);
      margin-left: auto;
      margin-right: auto;
    }
    .operationsystem .sec03 .sec03_img p.sec03_img03{
      width: calc((1080/ 1249) * 100%);
      margin-left: auto;
      margin-right: auto;
      margin-bottom: calc((133/ 1460) * 100%);
    }

    .operationsystem .sec03 .sec03_img p.sec03_img03 .over_txt01{
      font-size: calc((20/ 1590) * 100 *1vw);
    }

    .operationsystem .goNextBtnWrap {
        margin-top: calc((60/ 1460) * 100%);
        margin-bottom: calc((80/ 1460) * 100%);
        padding-right: calc((55/ 1460) * 100%);
    }
    .operationsystem .goNextBtnWrap img{
        width: calc((485/ 1460) * 100%);
    }



    /*-----------------------------
     下層ページ applicationpolicy
    ------------------------------*/
    .applicationpolicy .sec01 {
        margin-bottom: calc((100/ 1460) * 100%);
        width: calc((1350/ 1460) * 100%);
        margin-left: auto;
        margin-right: auto;
        padding: 0;
    }
    .applicationpolicy .sec01 .flex_item li {
        width: 31.44%;
    }
    .applicationpolicy .sec01 .flex_item li p{
        font-size: calc((20/ 1590) * 100 *1vw);
    }
    .applicationpolicy .topTtlWrap .inner {
        padding-top: calc((70/ 1460) * 100%);
        padding-bottom: calc((70/ 1460) * 100%);
    }
     .applicationpolicy .topTtlWrap .topTtl {
        width: calc((717/ 1460) * 100%);
    }

    .applicationpolicy .sec02 {
        /* padding-left: calc((20/ 1460) * 100%);
        padding-right: calc((20/ 1460) * 100%); */
        padding: 0;
    }

    .applicationpolicy .sec02 .img {
        width: calc((1350/ 1460) * 100%);
        margin-left: auto;
        margin-right: auto;
    }


    .applicationpolicy .sec03_1 {
        position: relative;
        text-align: center;
        margin: 0 auto;
        padding-left: calc((20/ 1460) * 100%);
         padding-right: calc((20/ 1460) * 100%);
    }

    .applicationpolicy .sec03_1 .ttl01 {
        width: calc((395/ 1460) * 100%);
        padding-top: calc((97/ 1460) * 100%);
        padding-bottom: calc((66/ 1460) * 100%);
        margin: 0 auto;
    }
    .applicationpolicy .sec03_1 .img01 {
        width: calc((404/ 1460) * 100%);
        height: calc((262/ 1460) * 100%);
    }
    .applicationpolicy .sec03_1 .txt01 {
        font-size: calc((20/ 1590) * 100 *1vw);
        margin-bottom: calc((58/ 1460) * 100%);
    }
    .applicationpolicy .sec04 {
        width: calc((1350/ 1460) * 100%);
        text-align: center;
        margin: 0 auto;
        margin-bottom: calc((80/ 1460) * 100%);
        padding-bottom: calc((95/ 1460) * 100%);
        margin-left: calc((55/ 1460) * 100%);
        margin-right: calc((55/ 1460) * 100%);
    }
    .applicationpolicy .sec04-last {
        margin-bottom: calc((270/ 1460) * 100%);
    }
    .applicationpolicy .sec04 .ttl01 {
        width: calc((1060/ 1350) * 100%);
        margin-left: auto;
        margin-right: auto;
        padding-bottom: calc((45/ 1350) * 100%);
    }
    .applicationpolicy .sec04 .detail {
        width: calc((890/ 1350) * 100%);
    }
    .applicationpolicy .sec04 .detail .d-ttl{
        margin-bottom: calc((5/ 890) * 100%);
    }
    .applicationpolicy .sec04 .detail .d-ttl-01{
        width: calc((117/ 890) * 100%);
    }
    .applicationpolicy .sec04 .detail .d-ttl-02{
        width: calc((394/ 890) * 100%);
    }
    .applicationpolicy .sec04 .detail .d-ttl-03{
        width: calc((394/ 890) * 100%);
    }
    .applicationpolicy .sec04 .detail .d-ttl-04{
        width: calc((347/ 890) * 100%);
    }
    .applicationpolicy .sec04 .detail .d-ttl-05{
        width: calc((117/ 890) * 100%);
    }
    .applicationpolicy .sec04 .detail .d-ttl-06{
        width: calc((394/ 890) * 100%);
    }
    .applicationpolicy .sec04 .detail .d-ttl-07{
        width: calc((194/ 890) * 100%);
    }
    .applicationpolicy .sec04 .detail .d-ttl-08{
        width: calc((117/ 890) * 100%);
    }
    .applicationpolicy .sec04 .detail .d-ttl-09{
        width: calc((394/ 890) * 100%);
    }
    .applicationpolicy .sec04 .detail .d-ttl-10{
        width: calc((328/ 890) * 100%);
    }
    .applicationpolicy .sec04 .detail .d-ttl-11{
        width: calc((117/ 890) * 100%);
    }
    .applicationpolicy .sec04 .detail .d-ttl-12{
        width: calc((394/ 890) * 100%);
    }
    .applicationpolicy .sec04 .detail .d-ttl-13{
        width: calc((195/ 890) * 100%);
    }
    .applicationpolicy .sec04 .detail .d-txt{
        font-size: calc((18/ 1590) * 100 *1vw);
        margin-bottom: calc((45/ 890) * 100%);
    }
    .applicationpolicy .sec04 .detail02 {
        width: calc((890/ 1060) * 100%);
    }

    .applicationpolicy .zoomImgWrap ul li {
        width: calc((444/ 1060) * 100%);
    }
    .applicationpolicy .objective01 .zoomImgWrap p {
        width: calc((430/ 1060) * 100%);
    }

    .applicationpolicy .objective02 .zoomImgWrap p, .applicationpolicy .objective03 .zoomImgWrap p, .applicationpolicy .objective04 .zoomImgWrap p {
        width: calc((500/ 1060) * 100%);
    }

    .applicationpolicy .sec04 .detail02 .up-txt {
        font-size: calc((28/ 1590) * 100 *1vw);
    }
    .applicationpolicy .sec04 .detail02 .sub-txt {
        font-size: calc((16/ 1590) * 100 *1vw);
    }

}


/*-----------------------------
	1590px以下
------------------------------*/
@media (max-width: 750px) {
    body {
        -webkit-text-size-adjust: 100%;
    }
    .mi-pc {
        display: none!important;
    }
    .mi-sp {
        display: block!important;
    }

    /*header*/
    header .headerInner {
        width: 100%;
        max-width: 100%;
        margin: 0 auto;
        padding: 0;
        display: flex;
        align-items: center;
        justify-content: space-between;
    }
    header .headerInner .nav{
        display: none;
    }

    header .headerInner .nav li{
        margin-left: 40px;
        position: relative;
    }
    header .headerInner .nav li::before{
        display: none;
    }
    header .headerInner h1{
        width: calc((174/ 750) * 100%);
        margin-left: calc((40/ 750) * 100%);
    }

    header .headerInner .nav{
        display: none;
    }


    header .headerInner .nav_sp{
        width: auto;
        display: flex;
        align-items: center;
        justify-content: flex-end;
        width: calc((472/ 750) * 100%);
    }

    header .headerInner .nav_sp li{
        position: relative;
        width: 25%;
    }

    header .headerInner h1{
        width: calc((174/ 750) * 100%);
        margin-left: calc((40/ 750) * 100%);
    }


    /*-----------------------------
        top
    ------------------------------*/
    .top .topVisual {
      width: 100%;
      background: url(../images/bg_mv01_sp.jpg);
      background-position: 50% 50%;
      background-size: cover;
    }

    .top .topVisual .inner {
        display: block;
        max-height:none;
        padding: 0;
        padding-left: calc((40/ 750) * 100%);
        padding-right: calc((40/ 750) * 100%);
    }

    .top .topVisual .left {
        width: 100%;
        margin-left: 0;
        margin-right: 0;
        padding-top: calc((25/ 670) * 100%);
    }

    .top .topVisual .right {
        text-align: left;
    }

    .top .topVisual .right .topVisualTtl {
        text-align: center;
      margin-bottom: calc((25/ 670) * 100%);
      color: #fff;
      font-size: calc((44/ 750) * 100 *1vw);
    }

    .top .topVisual .right .topVisualTxt {
      margin-bottom: calc((36/ 670) * 100%);
      line-height: 1.792;
      font-size: calc((24/ 750) * 100 *1vw);
        color: #fff;
    }



    .top .topVisual .right .topVisualTxt sup {
      font-size: 70%;
      vertical-align: super;
    }

    .top .topVisual .right .remarks {
      display: table;
      margin: 0 auto;
      text-align: left;
        color: #fff;
        padding-bottom: calc((60/ 670) * 100%);
    }

    .top .topVisual .right .remarks li {
      display: inline-block;
      line-height: 1.84;
      font-size: calc((20/ 750) * 100 *1vw);
        white-space: nowrap;
        margin-right: 10px;
        letter-spacing: -0.03em;
    }

    .top .topVisual .right .remarks li:first-child {
      display: block;
    }

    .top .topVisual .right .remarks li a {
      margin-right:calc((20/ 670) * 100%);
      color: #85e4ff;
      text-decoration: underline;
    }

    .top .topVisual .right .remarks li a:hover {
      text-decoration: none;
    }

    .top .navListWrap {
      margin-bottom: calc((40/ 750) * 100%);
        padding : calc((40/ 750) * 100%);
        padding-bottom : calc((15/ 750) * 100%);
    }

    .top .navListWrap li {
      display: inline-block;
        width: calc((320/ 670) * 100%);
      margin-right: calc((25/ 670) * 100%);
        margin-bottom: calc((25/ 670) * 100%);
    }

    .top .navListWrap li:nth-child(2){
      margin-right: 0;
    }

    .top .navListWrap li:last-child {
      margin-right: 0;
    }

    .top .relatedLink {
    width: 100%;
        max-width: 100%;
      margin: 0 auto;
        margin-bottom: calc((105/ 750) * 100%);
      line-height: 2;
      font-size: calc((20/ 750) * 100 *1vw);
      padding-left: calc((60/ 750) * 100%);
        padding-right: calc((60/ 750) * 100%);
    }

    .top .relatedLink h2 {
        width: calc((154/ 630) * 100%);
    }
    .top .relatedLink h2.relatedLinkTtl02 {
        width: calc((295/ 630) * 100%);
        margin-bottom: 5px;
    }
    .top .relatedLink .btn_opinion {
        width: 100%;
        margin-bottom: 30px;
    }
    .top .relatedLink .btn_opinion img{
        width: 100%;
    }
    .top .relatedLinkTtl02_txt{
      margin-bottom: 10px;
      margin-right: 0;
    }

    .top .relatedLink .relatedLinkTtl {
      margin-bottom: 10px;
    }

    .top .relatedLink .relatedLinkTtl02 {
      margin-bottom: 10px;
    }

    .top .relatedLink li {
      margin-bottom: 10px;
    }
    .copyright {
        font-size: calc((19/ 750) * 100 *1vw);
    }

    .topTtlWrap_sp {
        margin-bottom: calc((42/ 750) * 100%);
    }

    .topTtlWrap_sp02 {
        margin-bottom: 0;
    }
    .inner {
        width: 100%;
        max-width: 100%;
        margin: 0 auto;
    }

    .secIntroduction {
        padding-left: calc((40/ 750) * 100%);
        padding-right: calc((40/ 750) * 100%);
        margin-bottom: calc((65/ 750) * 100%);
        margin-left: auto;
        margin-right: auto;
    }

    .secIntroduction .secIntroductionIco {
        width: calc((64/ 670) * 100%);
        margin-bottom: calc((30/ 670) * 100%);
    }

    .secIntroduction .secIntroductionTxt {
        font-size: calc((24/ 750) * 100 *1vw);
         line-height: 1.708;
    }


    /*-----------------------------
     下層ページ basicpolicy
    ------------------------------*/
    .basicpolicy .sec01 {
        position: relative;
        text-align: left;
        margin: 0 auto;
        padding-left: calc((40/ 750) * 100%);
        padding-right: calc((40/ 750) * 100%);
    }

    .basicpolicy .sec01 .ttl01 {
        width: 100%;
        padding: 0;
        padding-bottom: calc((40/ 670) * 100%);
    }
    .basicpolicy .sec01 .img01 {
        display: none;
    }
    .basicpolicy .sec01 .txt01 {
        font-size: calc((24/ 750) * 100 *1vw);
        margin-bottom: calc((40/ 670) * 100%);
    }
    .basicpolicy .sec01 .img02 {
        width:100%;
        padding-bottom: calc((65/ 670) * 100%);
    }

    .basicpolicy .sec02 {
        position: relative;
        text-align: left;
        margin: 0 auto;
        padding-left: calc((40/ 750) * 100%);
        padding-right: calc((40/ 750) * 100%);
    }

    .basicpolicy .sec02 .ttl01 {
        width: 100%;
        padding:0;
        padding-bottom: calc((40/ 670) * 100%);
    }
    .basicpolicy .sec02 .img01 {
        display: none;
    }
    .basicpolicy .sec02 .txt01 {
        font-size: calc((24/ 750) * 100 *1vw);
        margin-bottom: calc((40/ 670) * 100%);
    }
    .basicpolicy .sec02 .img02 {
        width:100%;
        padding-bottom: 0;
    }
    .basicpolicy .goNextBtnWrap {
        margin: 0 auto;
        margin-top: calc((100/ 750) * 100%);
        margin-bottom: calc((45/ 750) * 100%);
        padding-left: calc((40/ 750) * 100%);
        padding-right: calc((40/ 750) * 100%);
        text-align: right;
    }
    .basicpolicy .goNextBtnWrap img{
        width: calc((308/ 670) * 100%);

    }



    /*-----------------------------
     下層ページ threeprinciple
    ------------------------------*/
    .threeprinciple .secIntroduction .secIntroductionIco {
        width: calc((59/ 670) * 100%);
    }
    .threeprinciple .sec01 {
        position: relative;
        text-align: left;
        margin: 0 auto;
        padding-left: calc((40/ 750) * 100%);
        padding-right: calc((40/ 750) * 100%);
    }
    .threeprinciple .sec01 .ttl01 {
        width: 100%;
        padding: 0;
        padding-bottom: calc((40/ 670) * 100%);
    }
    .threeprinciple .sec01 .img01 {
        display: none;
    }
    .threeprinciple .sec01 .txt01 {
        font-size: calc((24/ 750) * 100 *1vw);
        margin-bottom: calc((40/ 670) * 100%);
    }
    .threeprinciple .sec01 .img02 {
         width:100%;
        padding-bottom: calc((65/ 670) * 100%);
    }

    .threeprinciple .sec02 {
        margin: 0 auto;
        padding-left: calc((40/ 750) * 100%);
        padding-right: calc((40/ 750) * 100%);
        padding-top: 0;
    }

    .threeprinciple .sec02 .flexArea{
        display: block;
    }

    .threeprinciple .sec02 .flexArea .flexL{
        width: 100%;
    }
    .threeprinciple .sec02 .flexArea .flexR{
        width: 100%;
    }
    .threeprinciple .sec02 .flexArea .flexL .ttl01{
        width: 100%;
        padding-top: 0;
        padding-left: 0;
        padding-bottom: calc((40/ 670) * 100%);
    }
    .threeprinciple .sec02 .flexArea .flexL .txt01{
        font-size: calc((24/ 750) * 100 *1vw);
        margin-bottom: calc((40/ 670) * 100%);
    }
    .threeprinciple .sec02 .flexArea .flexL .img01 {
        display: none;
    }

    .threeprinciple .sec02 .flexArea .flexR .principle {
        display: flex;
        align-items: center;
        justify-content: flex-start;
        margin-bottom: 40px;
    }

    .threeprinciple .sec02 .flexArea .flexR .principle:last-child {
        margin-bottom: 0;
    }

    .threeprinciple .sec02 .flexArea .flexR .principle .sub-ttl{
        width: 98px;
        width: calc((68/670) * 100%);
        text-align: right;
    }
    .threeprinciple .sec02 .flexArea .flexR .principle .sub-ttl img {
        width: 100%;
    }

    .threeprinciple .sec02 .flexArea .flexR .principle .numSet{
        width: 100%;
    }

    .threeprinciple .sec02 .flexArea .flexR .principle .num-cont{
        position: relative;
        margin-bottom: calc((30/670) * 100%);
        margin-left: calc((20/670) * 100%);
        padding-left: calc((90/670) * 100%);
        font-weight: bold;
    }

    .threeprinciple .sec02 .flexArea .flexR .principle .num-cont::before{
        content: '';
        width: calc((62/602) * 100%);
        height: 100%;
        position: absolute;
        left: 0;
        top: 50%;
        background: url(../threeprinciple/images/img_num01.png) 0 50%;
        background-size: contain;
        transform: translate(0, -50%);
        background-repeat:no-repeat;
    }

    .threeprinciple .sec02 .flexArea .flexR .principle .num-cont-02::before{
        background: url(../threeprinciple/images/img_num02.png) 0 50%;
        background-size: contain;
        transform: translate(0, -50%);
        background-repeat:no-repeat;
    }

    .threeprinciple .sec02 .flexArea .flexR .principle .num-cont-03::before{
        background: url(../threeprinciple/images/img_num03.png) 0 50%;
        background-size: contain;
        transform: translate(0, -50%);
        background-repeat:no-repeat;
    }

    .threeprinciple .sec02 .flexArea .flexR .principle .num-cont-04::before{
        background: url(../threeprinciple/images/img_num04.png) 0 50%;
        background-size: contain;
        transform: translate(0, -50%);
        background-repeat:no-repeat;
    }

    .threeprinciple .sec02 .flexArea .flexR .principle .num-cont-05::before{
        background: url(../threeprinciple/images/img_num05.png) 0 50%;
        background-size: contain;
        transform: translate(0, -50%);
        background-repeat:no-repeat;
    }

    .threeprinciple .sec02 .flexArea .flexR .principle .num-cont-06::before{
        background: url(../threeprinciple/images/img_num06.png) 0 50%;
        background-size: contain;
        transform: translate(0, -50%);
        background-repeat:no-repeat;
    }

    .threeprinciple .sec02 .flexArea .flexR .principle .num-cont-07::before{
        background: url(../threeprinciple/images/img_num07.png) 0 50%;
        background-size: contain;
        transform: translate(0, -50%);
        background-repeat:no-repeat;
    }

    .threeprinciple .sec02 .flexArea .flexR .principle .num-cont-08::before{
        background: url(../threeprinciple/images/img_num08.png) 0 50%;
        background-size: contain;
        transform: translate(0, -50%);
        background-repeat:no-repeat;
    }

    .threeprinciple .sec02 .flexArea .flexR .principle .num-cont:last-child{
        margin-bottom: 0;
    }

    .threeprinciple .sec02 .flexArea .flexR .principle .num-cont-01 dt,
    .threeprinciple .sec02 .flexArea .flexR .principle .num-cont-02 dt,
    .threeprinciple .sec02 .flexArea .flexR .principle .num-cont-03 dt{
        font-size: calc((37/ 750) * 100 *1vw);
    }

    .threeprinciple .sec02 .flexArea .flexR .principle .num-cont-04 dt,
    .threeprinciple .sec02 .flexArea .flexR .principle .num-cont-05 dt,
    .threeprinciple .sec02 .flexArea .flexR .principle .num-cont-06 dt{
        font-size: calc((37/ 750) * 100 *1vw);
    }

    .threeprinciple .sec02 .flexArea .flexR .principle .num-cont-07 dt,
    .threeprinciple .sec02 .flexArea .flexR .principle .num-cont-08 dt{
        font-size: calc((37/ 750) * 100 *1vw);
    }

    .threeprinciple .sec02 .flexArea .flexR .principle .num-cont dd{
        font-size: calc((24/ 750) * 100 *1vw);
    }

    .threeprinciple .goNextBtnWrap {
        margin-top: calc((150/ 750) * 100%);
        margin-bottom: calc((45/ 750) * 100%);
        padding-left: calc((40/ 750) * 100%);
        padding-right: calc((40/ 750) * 100%);
        text-align: right;
    }
    .threeprinciple .goNextBtnWrap img{
        width: calc((343/ 670) * 100%);
    }


    /*-----------------------------
     下層ページ operationsystem
    ------------------------------*/
    .operationsystem .secIntroduction .secIntroductionIco {
        width: calc((76/ 670) * 100%);
    }
    .operationsystem .sec01 {
        text-align: left;
        margin: 0 auto;
        padding-left: calc((40/ 750) * 100%);
        padding-right: calc((40/ 750) * 100%);
    }
    .operationsystem .sec01 .ttl01 {
        width: 100%;
        padding: 0;
        padding-bottom: calc((40/ 670) * 100%);
    }
    .operationsystem .sec01 .img01 {
        display: none;
    }
    .operationsystem .sec01 .txt01 {
        font-size: calc((24/ 750) * 100 *1vw);
        margin-bottom: calc((85/ 670) * 100%);
    }

    .operationsystem .sec01 .op_system {
        padding-bottom: calc((30/ 670) * 100%);
    }

    .operationsystem .sec01 .op_system .sub_ttl{
        width:100%;
        margin-bottom: calc((54/ 670) * 100%);
    }
    .operationsystem .sec01 .op_system .sub_ttl img{
        margin-left: 0;
    }
    .operationsystem .sec01 .op_system .op_flexArea{
        display: block;
    }
    .operationsystem .sec01 .op_system .op_flexArea .op_flexArea_item{
        width: 100%;
        margin: 0;
        margin-bottom: calc((77/ 670) * 100%);
    }

    .operationsystem .sec01 .op_system .op_flexArea .op_flexArea_item .ttl_num {
        width: 100%;
        margin-bottom: calc((40/ 670) * 100%);
    }

    .operationsystem .sec01 .op_system .op_flexArea .op_flexArea_item .ttl_num img{
        width: 100%;
    }

    .operationsystem .sec01 .op_system .op_flexArea .op_flexArea_item .lead {
        text-align: center;
        font-size: calc((36/ 750) * 100 *1vw);
        margin-bottom: calc((30/ 670) * 100%);
    }


    .operationsystem .sec01 .op_system .op_flexArea .op_flexArea_item .txt {
        font-size: calc((24/ 750) * 100 *1vw);
    }

    .operationsystem .sec01 .op_system .op_flexArea .op_flexArea_item .comments {
        font-size: calc((20/ 750) * 100 *1vw);
        margin-top: calc((40/ 670) * 100%);
    }

    .operationsystem .sec02 {
        text-align: left;
        margin: 0 auto;
        padding-left: calc((40/ 750) * 100%);
        padding-right: calc((40/ 750) * 100%);
        margin-top: calc((110/ 750) * 100%);
    }
    .operationsystem .sec02 .ttl01 {
        width: 100%;
        padding-bottom: calc((40/ 670) * 100%);
    }
    .operationsystem .sec02 .txt01 {
        font-size: calc((24/ 750) * 100 *1vw);
        margin-bottom: calc((60/ 670) * 100%);
    }
    .operationsystem .sec02 .img01 {
        width: 100%;

    }

    .operationsystem .sec03 {
        text-align: left;
        margin: 0 auto;
        padding-left: calc((40/ 750) * 100%);
        padding-right: calc((40/ 750) * 100%);
    }
    .operationsystem .sec03 .ttl01 {
        width: 100%;
        padding: 0;
        padding-top: calc((75/ 670) * 100%);
        padding-bottom: calc((40/ 670) * 100%);
    }
    .operationsystem .sec03 .txt01 {
        font-size: calc((24/ 750) * 100 *1vw);
        margin-bottom: calc((85/ 670) * 100%);
    }
    .operationsystem .sec03 .sec03_img {
      width: 100%;
    }
    .operationsystem .sec03 .sec03_img p{
      margin-bottom: calc((100/ 670) * 100%);
    }
    .operationsystem .sec03 .sec03_img p.sec03_img02{
      width: 100%;
      margin:0 auto 100px;
      margin-bottom: calc((100/ 670) * 100%);
    }
    .operationsystem .sec03 .sec03_img p.sec03_img03{
      width: 100%;
      margin:0 auto 133px;
      margin-bottom: calc((70/ 670) * 100%);
    }

    .operationsystem .sec03 .sec03_img p.sec03_img03 .over_txt01{
      position: absolute;
      left: 5.5%;
      top: 7.5%;
      font-size: calc((24/ 750) * 100 *1vw);
      width: 90%;
      text-align: left;
      letter-spacing: 0em;
      line-height: 1.6;
    }


    .operationsystem .goNextBtnWrap {
        margin-top: calc((120/ 750) * 100%);
        margin-bottom: calc((45/ 750) * 100%);
        padding-left: calc((40/ 750) * 100%);
        padding-right: calc((40/ 750) * 100%);
        text-align: right;
    }
    .operationsystem .goNextBtnWrap img{
        width: calc((349/ 670) * 100%);
    }


    /*-----------------------------
     下層ページ applicationpolicy
    ------------------------------*/
    .applicationpolicy .secIntroduction .secIntroductionIco {
        width: calc((59/ 670) * 100%);
    }
    .applicationpolicy .sec01 {
        position: relative;
        text-align: center;
        padding-left: calc((40/ 750) * 100%);
        padding-right: calc((40/ 750) * 100%);
        margin: 0 auto;
        padding-bottom: calc((20/ 670) * 100%);
    }

    .applicationpolicy .sec01 .flex_item {
      display: block;
    }

    .applicationpolicy .sec01 .flex_item li {
        width: 100%;
        position: relative;
        margin-bottom: calc((60/ 670) * 100%);
    }
    .applicationpolicy .sec01 .flex_item li p{
        position: absolute;
        left: 5%;
        top: 20%;
        font-size: calc((24/ 750) * 100 *1vw);
    }

    .applicationpolicy .sec01 .flex_item li:nth-child(1) p{
        position: absolute;
        left: 5%;
        top: 18%;
    }

    .applicationpolicy .sec01 .flex_item li:nth-child(2) p{
        position: absolute;
        left: 5%;
        top: 22%;
    }

    .applicationpolicy .sec01 .flex_item li:nth-child(3) p{
        position: absolute;
        left: 5%;
        top: 19%;
    }
    .applicationpolicy .sec01 .flex_item li p sup{
        font-size: 70%;
        vertical-align: super;
    }

    .inner2 {
        width: 100%;
        max-width: 100%;
        margin: 0 auto;
    }

    .applicationpolicy .sec02 {
        margin: 0 auto;
        padding-left: calc((40/ 750) * 100%);
        padding-right: calc((40/ 750) * 100%);
        padding-bottom: calc((70/ 750) * 100%);
        margin-bottom: calc((90/ 750) * 100%);
    }

    .applicationpolicy .sec03_1 {
        position: relative;
        text-align: center;
        margin: 0 auto;
        padding-left: calc((40/ 750) * 100%);
        padding-right: calc((40/ 750) * 100%);
    }

    .applicationpolicy .sec03_1 .ttl01 {
        padding:0;
        width: 100%;
        margin: 0 auto;
        margin-bottom: calc((45/ 670) * 100%);
    }
    .applicationpolicy .sec03_1 .img01 {
        display: none;
    }
    .applicationpolicy .sec03_1 .txt01 {
        font-size: calc((24/ 750) * 100 *1vw);
        margin-bottom: calc((40/ 670) * 100%);
    }

    .applicationpolicy .inner04 {
        padding-left: calc((40/ 750) * 100%);
        padding-right: calc((40/ 750) * 100%);
    }
    .applicationpolicy .sec04 {
        width: 100%;
        text-align: center;
        margin: 0 auto;
        padding-bottom: calc((46/ 670) * 100%);
        margin-bottom: calc((58/ 670) * 100%);
        border: 2px solid #000;
    }
    .applicationpolicy .sec04-last {
        margin-bottom: calc((176/ 670) * 100%);
    }
    .applicationpolicy .sec04 .ttl01 {
        width: calc((606/ 670) * 100%);
        padding-bottom: 45px;
    }
    .applicationpolicy .sec04 .detail {
        width: calc((606/ 670) * 100%);
        margin: 0 auto;
        text-align: left;
    }
    .applicationpolicy .sec04 .detail .d-ttl{
        margin-bottom: calc((10/ 670) * 100%);
    }
    .applicationpolicy .sec04 .detail .d-ttl-01{
        width: calc((121/ 670) * 100%);
    }
    .applicationpolicy .sec04 .detail .d-ttl-02{
        width: calc((401/ 670) * 100%);
    }
    .applicationpolicy .sec04 .detail .d-ttl-03{
        width: calc((419/ 670) * 100%);
    }
    .applicationpolicy .sec04 .detail .d-ttl-04{
        width: calc((350/ 670) * 100%);
    }
    .applicationpolicy .sec04 .detail .d-ttl-05{
        width: calc((121/ 670) * 100%);
    }
    .applicationpolicy .sec04 .detail .d-ttl-06{
        width: calc((419/ 670) * 100%);
    }
    .applicationpolicy .sec04 .detail .d-ttl-07{
        width: calc((211/ 670) * 100%);
    }
    .applicationpolicy .sec04 .detail .d-ttl-08{
        width: calc((121/ 670) * 100%);
    }
    .applicationpolicy .sec04 .detail .d-ttl-09{
        width: calc((401/ 670) * 100%);
    }
    .applicationpolicy .sec04 .detail .d-ttl-10{
        width: calc((349/ 670) * 100%);
    }
    .applicationpolicy .sec04 .detail .d-ttl-11{
        width: calc((121/ 670) * 100%);
    }
    .applicationpolicy .sec04 .detail .d-ttl-12{
        width: calc((419/ 670) * 100%);
    }
    .applicationpolicy .sec04 .detail .d-ttl-13{
        width: calc((209/ 670) * 100%);
    }

    .applicationpolicy .sec04 .detail .d-txt{
        font-size: calc((24/ 750) * 100 *1vw);
        margin-bottom: calc((53/ 606) * 100%);
    }
    .applicationpolicy .sec04 .detail02 {
        width: calc((606/ 670) * 100%);
        margin: 0 auto;
    }
    .applicationpolicy .zoomImgWrap ul {
        display: block;
    }
    .applicationpolicy .zoomImgWrap ul li {
        width: calc((402/ 606) * 100%);
        margin: 0 auto;
    }
    .applicationpolicy .objective01 .zoomImgWrap p {
        width: calc((402/ 606) * 100%);
    }
    .applicationpolicy .objective02 .zoomImgWrap p, .applicationpolicy .objective03 .zoomImgWrap p, .applicationpolicy .objective04 .zoomImgWrap p {
        width: calc((402/ 606) * 100%);
    }


    .applicationpolicy .sec04 .detail02 .up-txt {
        width: 100%;
        position: absolute;
        left: 51%;
        top:40%;
        font-size: calc((24/ 750) * 100 *1vw);
    }
    .applicationpolicy .sec04 .detail02 .sub-txt {
        width: 95%;
        position: absolute;
        left: 51%;
        bottom: 25%;
        font-size: calc((20/ 750) * 100 *1vw);
        text-align: left;
        line-height: 1.3;
        letter-spacing: -0.03em;
    }

    .applicationpolicy .zoomImgWrap {
        background: url(../applicationpolicy/images/sec04_bg_sp.png) 0 0 repeat-y;
        background-size: contain;
    }



}
