@charset "UTF-8";
/*
Theme Name: chiiki
*/
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {
  display: block; }

div, pre, p, blockquote, h1, h2, h3, h4, h5, h6, form, fieldset, figure, figcaption, ul, li {
  margin: 0;
  padding: 0; }

/*
$media-sp-9: 900px;
*/
/*
@mixin sp9 {
  @media only screen and (max-width: $media-sp-9 ) {
    @content;  
  }
}
*/
.tbl, .tbl-01, .tbl-flow {
  border-collapse: collapse;
  width: 100%; }

.p-mb0 p {
  margin-bottom: 0; }

html {
  font-size: 62.5%; }

* {
  box-sizing: border-box;
  font-family: YuGothic, "游ゴシック", "Yu Gothic medium", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", "sans-serif"; }

body {
  display: block;
  width: 100%;
  margin: 0 auto;
  padding: 0;
  background: #FFF;
  font-weight: 500;
  font-size: 2.0rem; }
  @media only screen and (max-width: 767px) {
    body {
      font-size: 1.6rem; } }

p {
  margin-bottom: 1em; }

img {
  vertical-align: bottom;
  border: 0; }
  @media only screen and (max-width: 767px) {
    img {
      max-width: 100%;
      height: auto; } }

a {
  color: #000;
  text-decoration: none;
  transition: 1s;
  /*
  .topic-txt {
  	&:hover {
  		text-decoration: underline;
  	}
  }
  .box-article {
  	dd {
  		p:last-child {
  			&:hover {
  				text-decoration: underline;
  			}
  		}
  	}
  }
  */ }
  @media only screen and (min-width: 768px) {
    a[href^="tel:"] {
      pointer-events: none; } }
  a:hover {
    opacity: .6; }
  a.uline {
    color: #0d6efd;
    text-decoration: underline; }
    a.uline:hover {
      text-decoration: none; }

h1 {
  background-color: #F6F6F6;
  background-image: url("img/h1-bg.png");
  background-repeat: no-repeat;
  background-position: center;
  padding: 25px 1em;
  text-align: center;
  font-weight: normal;
  font-size: 4.0rem;
  /*
  
  color: #fff;
  font-weight: 700;
  &.ver1 {
  	margin-bottom: 5px;
  	text-align: left;
  	color: #000;
  	font-weight: 500;
  	font-size: 1.6rem;
  }
  */ }
  @media only screen and (max-width: 1199px) {
    h1 {
      background-size: contain;
      font-size: 2.5rem; } }
  h1 img {
    margin-bottom: 15px; }

/*
.h1-wrap {
	@include bg-img();
	padding: 60px 0 75px;
	h1 {
		padding-top: 140px;
		font-size: 2.4rem;
		font-family: "新ゴ R";
		position: relative;
		@include sp {
			padding-top: 70px;
			font-size: 2.0rem;
			font-family: $f-gothic;
		}
		&::before {
			content: attr(data-eng);
			display: block;
			position: absolute;
			top: 0;
			left: 0;
			right: 0;
			margin: 0 auto;
			font-size: 5.6rem;
			font-family: "新ゴ B";
			letter-spacing: .5rem;
			@include sp {
				font-weight: bold;
				font-size: 4.2rem;
				font-family: $f-gothic;
				letter-spacing: .2rem;
			}
		}
		&::after {
			content: "";
			display: block;
			width: 80px;
			height: 1px;
			//margin: 10px auto 0;
			background-color: #fff;
			position: absolute;
			top: 110px;
			right: 0;
			left: 0;
			margin: 0 auto;
			@include sp {
				top: 68px;
			}
		}
	}
}
*/
/*
_::-webkit-full-page-media, _:future, :root .h1-wrap h1,
_::-webkit-full-page-media, _:future, :root .h1-wrap h1::before {
	font-family: $f-gothic;
}
*/
h2 {
  /*
  margin-bottom: 35px;
  padding-bottom: 25px;
  text-align: center;
  color: $clr;
  font-weight: 900;
  font-size: 5.0rem;
  position: relative;
  line-height: 1.6;
  &::after {
  	content: attr(data-jp);
  	display: block;
  	position: absolute;
  	left: 0;
  	right: 0;
  	bottom: 0;
  	color: #333;
  	font-weight: bold;
  	font-size: 2.3rem;
  	@include sp {
  		font-size: 1.8rem;
  	}
  }
  @include sp {
  	font-size: 2.8rem;
  }
  &.biz {
  	margin-bottom: 2em;
  	padding-bottom: 0;
  	text-align: left;
  	color: #000;
  	font-size: 2.0rem;
  	@include sp {
  		font-size: 1.8rem;
  	}
  	&::before {
  		content: attr(data-nmb);
  		display: inline-block;
  		position: static;
  		background-color: #cf2e2e;
  		border-radius: 3px;
  		margin-right: 1em;
  		padding: 5px 25px;
  		color: #fff;
  		font-weight: 700;
  		font-size: 1.6rem;
  		line-height: 1;
  		@include sp {
  			margin-right: 10px;
  			padding: 5px 10px;
  			font-size: 1.4rem;
  		}
  	}
  	&::after {
  		content: "";
  		display: none;
  		position: static;
  	}
  }
  &.biz-02 {
  	margin-bottom: 25px;
  	padding-bottom: 5px;
  	text-align: left;
  	color: #000;
  	font-size: 2.5rem;
  	@include sp {
  		font-size: 1.8rem;
  	}
  	&::after {
  		content: "";
  		width: 50px;
  		height: 1px;
  		background: #cf2e2e;
  	}
  }
  */ }
  h2.h2-bg-y {
    padding: 40px 1em;
    background: #FFDA27;
    text-align: center;
    font-weight: bold;
    font-size: 4.5rem; }
    @media only screen and (max-width: 767px) {
      h2.h2-bg-y {
        padding: 1em;
        font-size: 2.5rem; } }
  h2.h2-bg-bl {
    padding: 40px 1em;
    background: #8EE3FB;
    text-align: center;
    font-weight: bold;
    font-size: 4.5rem; }
    @media only screen and (max-width: 767px) {
      h2.h2-bg-bl {
        padding: 1em;
        font-size: 2.5rem; } }

h3 {
  /*
  margin-bottom: 25px;
  color: $clr;
  font-weight: bold;
  font-size: 2.3rem;
  &::after {
  	content: "";
  	display: block;
  	width: 50px;
  	height: 3px;
  	background-color: #D8D8D8;
  	margin-top: 10px;
  }
  &.ctr {
  	margin-bottom: 40px;
  	text-align: center;
  	font-size: 2.5rem;
  	@include sp {
  		font-size: 1.8rem;
  		line-height: 1.7;
  	}
  	&::after {
  		width: 80px;
  		margin-top: 20px;
  		margin-right: auto;
  		margin-left: auto;
  	}
  }
  &.mrk {
  	color: #000;
  	font-size: 2.0rem;
  	@include sp {
  		font-size: 1.6rem;
  	}
  	&::after {
  		display: none;
  	}
  	&::before {
  		content: "◆";
  		margin-right: 5px;
  		color: #cf2e2e;
  	}
  }
  */ }
  h3.h3-comm {
    border-top: solid 1px #B20000;
    border-bottom: solid 1px #B20000;
    padding: 17px 0;
    font-weight: bold;
    font-size: 4.0rem; }
    @media only screen and (max-width: 767px) {
      h3.h3-comm {
        padding: 0;
        font-size: 2.5rem; } }
    h3.h3-comm .h3-in {
      width: 95%;
      max-width: 1200px;
      margin: 0 auto;
      display: flex;
      flex-flow: row wrap;
      align-items: center;
      line-height: 1; }
      h3.h3-comm .h3-in.handle::before {
        content: url("img/ico-house.png");
        display: inline-block;
        margin-right: 30px; }
        @media only screen and (max-width: 767px) {
          h3.h3-comm .h3-in.handle::before {
            margin-right: 10px;
            transform: scale(0.7); } }
      h3.h3-comm .h3-in.area::before {
        content: url("img/ico-pin.png");
        display: inline-block;
        margin-right: 30px; }
        @media only screen and (max-width: 767px) {
          h3.h3-comm .h3-in.area::before {
            margin-right: 10px;
            transform: scale(0.7); } }
      @media only screen and (max-width: 767px) {
        h3.h3-comm .h3-in.area .area-txt {
          width: calc(100% - 85px); } }
  h3.flow {
    padding-bottom: 30px;
    text-align: center;
    font-weight: bold;
    font-size: 3.0rem;
    position: relative; }
    @media only screen and (max-width: 767px) {
      h3.flow {
        font-size: 2.2rem; } }
    h3.flow::after {
      content: "";
      display: block;
      margin: 0 auto;
      width: 150px;
      height: 10px;
      background: #FEDA24; }

#header {
  width: 100%;
  margin: 0 auto;
  padding: 30px 35px;
  transition: 1.5s;
  line-height: 1;
  z-index: 2; }
  #header .header-in {
    width: 100%;
    margin: 0 auto; }
    #header .header-in .logo a {
      display: flex;
      flex-flow: row wrap;
      align-items: center; }
      @media only screen and (max-width: 767px) {
        #header .header-in .logo a .logo-box {
          width: 40%;
			margin-right: 27px;
		  margin-bottom: 1em; } }
      #header .header-in .logo a .chiiki {
        min-width: 236px;
        height: 60px;
        margin-left: 27px;
        display: flex;
        align-items: center;
        justify-content: center;
        background: #B20000;
        color: #fff;
        font-size: 2.4rem; }
        @media only screen and (max-width: 767px) {
          #header .header-in .logo a .chiiki {
            min-width: 120px;
            height: 40px;
			  margin-left: 0;
			  padding: 0 5px;
            font-size: 1.8rem; } }
    @media only screen and (max-width: 767px) {
      #header .header-in .logo img {
        width: 210px; } }
    @media only screen and (max-width: 1199px) {
      #header .header-in .header-btn {
        display: none; } }
  @media only screen and (max-width: 1199px) {
    #header {
      padding: 20px 20px; } }

.home-wrap #header {
  position: absolute;
  top: 0;
  left: 0; }

.sub-wrap #header {
  padding-bottom: 11px;
  background: url("img/header-sub-bg.jpg") no-repeat right top;
  border-bottom: solid 1px #979797; }
  .sub-wrap #header .header-in {
    display: flex;
    flex-flow: row wrap;
    align-items: flex-end;
    justify-content: space-between; }

nav {
  border-bottom: solid 1px #979797; }

.gnavi {
  list-style: none;
  display: flex;
  flex-flow: row wrap;
  justify-content: space-between;
  max-width: 1200px;
  margin: 0 auto;
  padding: 20px 0; }
  .gnavi li {
    width: calc(100% / 6);
    border-right: solid 1px #ccc; }
    .gnavi li:first-child {
      border-left: solid 1px #ccc; }
    .gnavi li a {
      display: block;
      width: 100%;
      padding: 0 10px;
      text-align: center; }
    .gnavi li:nth-of-type(5) {
      padding-top: 7px; }
  @media only screen and (max-width: 1199px) {
    .gnavi {
      display: none; } }

@media only screen and (min-width: 1200px) {
  .sp-gnavi {
    display: none; } }
@media only screen and (max-width: 1199px) {
  .sp-gnavi {
    display: block; } }

footer {
  text-align: center;
  /*
  .f-logo {
  	@include sp {
  		width: 220px;
  	}
  }
  */ }
  footer img {
    max-width: 100%;
    height: auto; }
  footer .footer-in {
    width: 95%;
    max-width: 1200px;
    margin: 40px auto; }
    footer .footer-in .lower {
      text-align: center; }
  footer .f-gnavi-wrap {
    margin-bottom: 40px;
    padding: 0 90px;
    border-bottom: solid 1px #9D9D9D; }
    @media only screen and (max-width: 767px) {
      footer .f-gnavi-wrap {
        padding: 0; } }
  footer .f-gnavi {
    list-style: none;
    display: flex;
    flex-flow: row wrap;
    justify-content: space-between; }
    footer .f-gnavi li {
      display: flex;
      width: 33%;
      margin-bottom: 25px;
      padding: 0 10px 0 0;
      text-align: left;
      font-weight: bold;
      line-height: 1;
      /*
      &:nth-of-type(2),&:nth-of-type(6) {
      	width: 31%;
      	@include sp {
      		width: 50%;
      	}
      }
      */ }
      @media only screen and (max-width: 767px) {
        footer .f-gnavi li {
          width: 50%;
          align-items: center; } }
      footer .f-gnavi li::before {
        content: "";
        display: inline-block;
        width: 4px;
        /*height: 26px;*/
        height: 100%;
        border-left: solid 4px #B20000; }
      footer .f-gnavi li a {
        padding: 3px 0;
        /*display: flex;
        padding-left: 14px;*/
        color: #333;
        position: relative;
        /*
        &::before {
        	content: "";
        	position: absolute;
        	top: -3px;
        	left: 0;
        	display: block;
        	width: 4px;
        	height: 26px;
        	//margin-right: 10px;
        	border-left: solid 4px #B20000;
        }
        */ }
  footer .copyright {
    background: #B20000;
    padding: 20px;
    text-align: center;
    color: #fff;
    font-size: 1.6rem;
    line-height: 1; }
    @media only screen and (max-width: 767px) {
      footer .copyright {
        padding: 10px 1em;
        font-size: 1.2rem; } }
  footer p {
    /*
    margin-bottom: 0;
    &.copyright {
    	position: absolute;
    	bottom: 15px;
    	right: 0;
    	left: 0;
    	margin: 0 auto;
    	@include sp {
    		font-size: 1.4rem;
    	}
    }
    */ }

.i-mail {
  margin-left: 1em; }
  @media only screen and (max-width: 767px) {
    .i-mail {
      display: block;
      margin-top: 3px;
      margin-left: 0; } }

.f-icon {
  display: inline-block;
  border: solid 1px #B20000;
  margin-right: 10px;
  padding: 2px 5px;
  vertical-align: middle;
  color: #B20000;
  line-height: 1; }

.drawer-hamburger {
  top: 0;
  width: 1.8em;
  padding: 20px 1rem;
  background: rgba(255, 255, 255, 0.7); }

.drawer-hamburger-icon, .drawer-hamburger-icon:after, .drawer-hamburger-icon:before {
  height: 3px;
  background-color: #B20000; }

.drawer-hamburger-icon {
  margin-top: 0; }
  .drawer-hamburger-icon::before {
    top: -10px; }
  .drawer-hamburger-icon::after {
    top: 10px; }

.drawer-menu {
  padding-bottom: 20px; }
  .drawer-menu li {
    text-align: center; }
    .drawer-menu li:first-child {
      margin-top: 20px; }
    .drawer-menu li a {
      display: block;
      padding: 20px;
      color: #B20000;
      font-weight: bold; }

.mainimg {
  position: relative;
  width: 100%;
  padding-bottom: 41.6666%; }
  @media only screen and (max-width: 767px) {
    .mainimg {
      padding-bottom: 0;
      height: 600px; } }
  .mainimg > img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    max-width: 100%;
    height: auto; }
    @media only screen and (max-width: 767px) {
      .mainimg > img {
        width: auto;
        height: 600px;
        object-fit: cover; } }
  .mainimg .img-wrap {
    display: inline-block;
    position: absolute;
    bottom: 10%;
    left: 50%;
    transform: translateX(-50%); }
    @media only screen and (max-width: 767px) {
      .mainimg .img-wrap {
        padding: 0 20px; } }
    @media only screen and (max-width: 470px) {
      .mainimg .img-wrap {
        bottom: 13%;
        left: 0;
        transform: translateX(0); } }
    .mainimg .img-wrap img {
      width: 100%;
      max-width: 100%;
      height: auto; }
      .mainimg .img-wrap img.pc-img {
        display: inline-block; }
        @media only screen and (max-width: 767px) {
          .mainimg .img-wrap img.pc-img {
            display: none; } }
      .mainimg .img-wrap img.sp-img {
        display: none; }
        @media only screen and (max-width: 767px) {
          .mainimg .img-wrap img.sp-img {
            display: inline-block; } }
  .mainimg a:hover {
    opacity: 1; }

.topic-path {
  background: #B20000; }
  @media only screen and (max-width: 767px) {
    .topic-path {
      height: 0;
      margin-bottom: 40px; } }
  .topic-path ul {
    list-style: none;
    width: 95%;
    max-width: 1200px;
    display: flex;
    margin: 0 auto 40px; }
    @media only screen and (max-width: 767px) {
      .topic-path ul {
        display: none; } }
    .topic-path ul li {
      height: 40px;
      line-height: 40px;
      margin-right: 15px;
      padding-left: 15px;
      color: #fff;
      position: relative; }
      .topic-path ul li:nth-of-type(1) {
        padding-left: 0; }
      .topic-path ul li::before, .topic-path ul li::after {
        content: "";
        display: block;
        position: absolute;
        top: 0;
        border-top: 20px solid transparent;
        border-right: 20px solid transparent;
        border-bottom: 20px solid transparent; }
      .topic-path ul li::before {
        right: -40px;
        border-left: 15px solid #fff; }
      .topic-path ul li::after {
        right: -39px;
        border-left: 15px solid #B20000; }
      .topic-path ul li:nth-last-of-type(1)::before, .topic-path ul li:nth-last-of-type(1)::after {
        display: none; }
      .topic-path ul li a {
        display: block;
        height: 100%;
        color: #fff; }

/*#inner,*/
main {
  width: 100%;
  margin: 60px 0 100px;
  /*
  &.ver1 {
  	margin: 0;
  	//line-height: 1.7;
  }
  &.a-uline, &.company {
  	a {
  		text-decoration: underline;
  		color: #cf2e2e;
  		&:hover {
  			text-decoration: none;
  		}
  	}
  	&.rd {
  		a {
  			color: #cf2e2e;
  		}
  	}
  }
  */ }
  main.sub-main {
    margin-top: 0; }
  @media only screen and (max-width: 767px) {
    main {
      margin: 30px 0; } }

/*
.bg-l_bl {
	width: 100%;
	background-color: $clr-lbl;
	&.mb {
		margin-bottom: 160px;
		@include sp {
			margin-bottom: 60px;
		}
	}
	&.biz-in {
		@include sp9 {
			margin-bottom: 30px;
		}
	}
	.box-in {
		padding: 60px 0;
		text-align: center;
		@include sp {
			padding: $dt-pg;
		}
		article {
			margin-bottom: 0;
		}
		&.w-full {
			@include sp {
				padding: 60px 0;
			}
		}
	}
}
.bg-bl {
	background-color: $clr;
}
*/
.box-lay {
  width: 95%;
  max-width: 1200px;
  margin: 0 auto 160px;
  /*
  &.biz {
  	@include sp {
  		width: 100%;
  	}
  }
  &.biz-in {
  	width: 100%;
  	max-width: none;
  	margin-bottom: 0;
  }
  &.ptnr {
  	@include sp {
  		width: 100%;
  	}
  }
  &.ditails {
  	max-width: 800px;
  	p {
  		margin-bottom: 1.5em;
  	}
  	.img-box {
  		text-align: center;
  	}
  }
  &.sec {
  	@extend .ditails;
  	&.wid {
  		max-width: 1000px;
  	}
  }
  */ }
  @media only screen and (max-width: 767px) {
    .box-lay {
      width: 90%;
      margin-bottom: 80px; } }

article {
  margin-bottom: 60px; }

.sec-box {
  width: 95%;
  max-width: 1200px;
  margin: 0 auto; }
  .sec-box.bg-bl {
    width: 100%;
    max-width: none;
    background: #E4F9FF;
    margin-bottom: 60px;
    padding: 50px; }
    @media only screen and (max-width: 767px) {
      .sec-box.bg-bl {
        padding: 1em; } }
  .sec-box.handle-wrap {
    width: 100%;
    max-width: none;
    margin: 40px 0 80px;
    overflow: hidden; }
  .sec-box.area-wrap {
    margin-top: 25px; }

/*
main.ver1 {
	.box-lay {
		margin-bottom: 5em;
		&:last-child {
			margin-bottom: 160px;
			@include sp {
				margin-bottom: 80px;
			}
		}
	}
	article {
		margin-bottom: 5em;
		&:last-child {
			margin-bottom: 160px;
			@include sp {
				margin-bottom: 80px;
			}
		}
	}
}
*/
/*
.box-01 {
	width: $wid-par-pc;
	max-width: $wid-max-pc;
	margin: 0 auto;
	@include sp {
		width: 90%;
	}
}
*/
/*
.box-in {
	&.logo-wrap {
		padding: 65px;
		text-align: center;
		@include sp {
			padding: 5%;
		}
	}
}
.logo-bor {
	width: 80%;
	max-width: 1000px;
	margin: 0 auto;
	padding: 57px;
	background-clip: padding-box;
	border: solid 1px rgba(255,255,255,.8);
	line-height: 1;
	@include sp {
		width: 100%;
		padding: 8%;
	}
	img {
		max-width: 100%;
	}
}
*/
.col2 {
  width: 100%;
  list-style: none;
  display: flex;
  flex-flow: row wrap;
  justify-content: space-between;
  /*
  &.half {
  	> div {
  		width: 50%;
  	}
  }
  */
  /*
  > div {
  	width: calc((100% - 80px) /2);
  	@include sp {
  		width: 100%;
  	}
  }
  */ }
  .col2.img2-txt {
    width: 95%;
    max-width: 1200px;
    margin: 0 auto; }
    @media only screen and (max-width: 767px) {
      .col2.img2-txt {
        flex-direction: column; } }
    .col2.img2-txt .img-box {
      width: 24%; }
      @media only screen and (max-width: 767px) {
        .col2.img2-txt .img-box {
          width: 100%;
          margin-bottom: 30px;
          text-align: center; } }
      .col2.img2-txt .img-box img {
        max-width: 100%;
        height: auto; }
        @media only screen and (max-width: 767px) {
          .col2.img2-txt .img-box img {
            width: 50%; } }
    .col2.img2-txt .txt-box {
      width: calc(100% - 24%);
      padding-left: 40px; }
      @media only screen and (max-width: 767px) {
        .col2.img2-txt .txt-box {
          width: 100%;
          padding-left: 0; } }

ul.col2 {
  list-style: none;
  display: flex;
  flex-flow: row wrap;
  justify-content: space-between;
  /*
  	@extend div.col2;
  	&.line {
  		margin-bottom: 2em;
  		li {
  			width: calc((100% - 80px) /2);
  			border-bottom: solid 1px #D8D8D8;
  			padding: 15px;
  			&:first-child {
  				border-top: solid 1px #D8D8D8;
  			}
  			&:nth-of-type(2) {
  				border-top: solid 1px #D8D8D8;
  				@include sp {
  					border-top: none;
  				}
  			}
  			@include sp {
  				width: 100%;
  				padding: 15px 0;
  			}
  		}
  	}
  */ }
  ul.col2.half.flow {
    margin-top: 80px;
    margin-bottom: 40px; }
    ul.col2.half.flow li {
      width: 50%;
      height: auto;
      display: flex;
      flex-direction: column;
      padding-bottom: 45px; }
      @media only screen and (max-width: 850px) {
        ul.col2.half.flow li {
          display: block;
          width: 100%; } }
      ul.col2.half.flow li:nth-child(odd) {
        position: relative; }
        ul.col2.half.flow li:nth-child(odd)::after {
          content: "";
          position: absolute;
          top: 0;
          right: -2px;
          width: 5px;
          height: 100%;
          background: rgba(178, 0, 0, 0.2);
          z-index: -1; }
          @media only screen and (max-width: 850px) {
            ul.col2.half.flow li:nth-child(odd)::after {
              display: none; } }
      @media only screen and (max-width: 850px) {
        ul.col2.half.flow li.now-non {
          display: none; } }
      ul.col2.half.flow li p {
        margin-bottom: 0; }
      ul.col2.half.flow li .tit {
        position: relative;
        display: block;
        padding: 0 55px;
        text-align: center;
        font-weight: bold;
        font-size: 3.0rem; }
        @media only screen and (max-width: 850px) {
          ul.col2.half.flow li .tit {
            font-size: 2.0rem; } }
        ul.col2.half.flow li .tit::before, ul.col2.half.flow li .tit::after {
          content: "";
          position: absolute;
          top: 50%;
          transform: translateY(-50%);
          display: inline-block;
          width: 10%;
          height: 8px; }
        ul.col2.half.flow li .tit::before {
          left: 0; }
        ul.col2.half.flow li .tit::after {
          right: 0; }
      ul.col2.half.flow li:nth-of-type(1) {
        padding-right: 90px; }
        @media only screen and (max-width: 850px) {
          ul.col2.half.flow li:nth-of-type(1) {
            padding-right: 0; } }
        ul.col2.half.flow li:nth-of-type(1) .tit::before, ul.col2.half.flow li:nth-of-type(1) .tit::after {
          border-top: solid 3px #9D9D9D;
          border-bottom: solid 3px #9D9D9D; }
      ul.col2.half.flow li:nth-of-type(2) {
        padding-left: 90px; }
        @media only screen and (max-width: 850px) {
          ul.col2.half.flow li:nth-of-type(2) {
            padding-left: 0; } }
        ul.col2.half.flow li:nth-of-type(2) .tit::before, ul.col2.half.flow li:nth-of-type(2) .tit::after {
          border-top: solid 3px #B20000;
          border-bottom: solid 3px #B20000; }
        ul.col2.half.flow li:nth-of-type(2) .tit img {
          max-width: 100%;
          height: auto; }
      ul.col2.half.flow li .old {
        display: flex;
        flex-flow: row wrap; }
        @media only screen and (max-width: 850px) {
          ul.col2.half.flow li .old {
            position: relative; } }
        ul.col2.half.flow li .old .txt-box {
          width: calc(100% - 90px);
          border: solid 1px #9D9D9D;
          border-radius: 5px;
          background: #F9F9F9;
          padding: 25px 20px;
          /*.tit-sp {
          	display: none;
          	@include sp2 {
          		display: inline-block;
          		color: #000;
          		font-weight: bold;
          		//-webkit-text-stroke: .5rem #FFF;
          		//text-stroke: .5rem #FFF;
          		background: linear-gradient(to bottom, #ffffff, #ffffff, #F9F9F9);
          		padding: 1px 8px;
          		position: absolute;
          		top: -15px;
          		right: 10px;
          		//left: 50%;
          		//transform: translateX(-50%);
          		white-space: nowrap;
          	}
          }*/ }
          @media only screen and (max-width: 850px) {
            ul.col2.half.flow li .old .txt-box {
              width: 93%;
              margin: 0 0 0 auto;
              padding: 1.5em 20px 1em;
              position: relative; } }
          ul.col2.half.flow li .old .txt-box .tit {
            display: inline-block;
            background: #fff;
            border-radius: 50px;
            margin-bottom: 20px;
            padding: 4px 20px;
            color: #333333;
            font-weight: bold;
            font-size: 2.5rem; }
            @media only screen and (max-width: 850px) {
              ul.col2.half.flow li .old .txt-box .tit {
                font-size: 2.0rem; } }
        ul.col2.half.flow li .old .numb {
          display: flex;
          flex-flow: row wrap;
          align-items: flex-start;
          width: 90px; }
          @media only screen and (max-width: 850px) {
            ul.col2.half.flow li .old .numb {
              width: 40px;
              position: absolute;
              top: 1.5em;
              left: 0; } }
          ul.col2.half.flow li .old .numb .circle {
            display: flex;
            align-items: center;
            justify-content: center;
            width: 70px;
            height: 70px;
            margin-left: 20px;
            background: #9D9D9D;
            border-radius: 50%;
            color: #fff;
            font-weight: bold;
            font-size: 4.9rem;
            line-height: 1;
            position: relative; }
            @media only screen and (max-width: 850px) {
              ul.col2.half.flow li .old .numb .circle {
                width: 40px;
                height: 40px;
                margin-left: 0;
                font-size: 2.5rem; } }
            ul.col2.half.flow li .old .numb .circle::after {
              content: "";
              display: block;
              width: 20px;
              height: 1px;
              background: #9D9D9D;
              position: absolute;
              top: 50%;
              left: -20px; }
              @media only screen and (max-width: 850px) {
                ul.col2.half.flow li .old .numb .circle::after {
                  display: none; } }
      ul.col2.half.flow li .now {
        height: 100%;
        display: flex;
        flex-flow: row-reverse wrap; }
        @media only screen and (max-width: 850px) {
          ul.col2.half.flow li .now {
            position: relative; } }
        ul.col2.half.flow li .now .txt-box {
          width: calc(100% - 90px);
          margin: 0 0 0 auto;
          border: solid 1px #5AC3E1;
          border-radius: 5px;
          background: #F4FAFC;
          padding: 25px 20px;
          /*.tit-sp {
          	display: none;
          	@include sp2 {
          		display: block;
          		width: 176px;
          		//color: #000;
          		//font-weight: bold;
          		//-webkit-text-stroke: .5rem #FFF;
          		//text-stroke: .5rem #FFF;
          		background: linear-gradient(to bottom, #ffffff, #ffffff, #F4FAFC);
          		padding: 1px 8px;
          		position: absolute;
          		top: -15px;
          		right: 10px;
          		//left: 50%;
          		//transform: translateX(-50%);
          		white-space: nowrap;
          		img {
          			width: 160px;
          			height: auto;
          		}
          	}
          }*/ }
          @media only screen and (max-width: 850px) {
            ul.col2.half.flow li .now .txt-box {
              width: 93%;
              padding: 1.5em 20px 1em;
              position: relative; } }
          ul.col2.half.flow li .now .txt-box .tit {
            display: inline-block;
            background: #fff;
            border-radius: 50px;
            margin-bottom: 20px;
            padding: 4px 20px;
            color: #B20000;
            font-weight: bold;
            font-size: 2.5rem; }
            @media only screen and (max-width: 850px) {
              ul.col2.half.flow li .now .txt-box .tit {
                font-size: 2.0rem; } }
        ul.col2.half.flow li .now .numb {
          display: flex;
          flex-flow: row wrap;
          align-items: flex-start;
          width: 90px; }
          @media only screen and (max-width: 850px) {
            ul.col2.half.flow li .now .numb {
              width: 40px;
              position: absolute;
              top: 1em;
              left: 0; } }
          ul.col2.half.flow li .now .numb .circle {
            display: flex;
            align-items: center;
            justify-content: center;
            width: 70px;
            height: 70px;
            background: #B20000;
            border-radius: 50%;
            color: #fff;
            font-weight: bold;
            font-size: 4.9rem;
            line-height: 1;
            position: relative;
            /*
            &::before {
            	content: "";
            	position: absolute;
            	top: 0;
            	left: -1px;
            	width: 1px;
            	height: 55%;
            	background: aqua;
            }
            */ }
            @media only screen and (max-width: 850px) {
              ul.col2.half.flow li .now .numb .circle {
                width: 40px;
                height: 40px;
                font-size: 2.5rem; } }
            ul.col2.half.flow li .now .numb .circle::after {
              content: "";
              display: block;
              width: 20px;
              height: 1px;
              background: #5AC3E1;
              position: absolute;
              top: 50%;
              right: -20px; }
              @media only screen and (max-width: 850px) {
                ul.col2.half.flow li .now .numb .circle::after {
                  display: none; } }

@media only screen and (max-width: 850px) {
  ul.col2.half.flow li:nth-child(1) {
    order: 0; }

  ul.col2.half.flow li:nth-child(3) {
    order: 1; }

  ul.col2.half.flow li:nth-child(5) {
    order: 2; }

  ul.col2.half.flow li:nth-child(7) {
    order: 3; }

  ul.col2.half.flow li:nth-child(9) {
    order: 4; }

  ul.col2.half.flow li:nth-child(11) {
    order: 5; }

  ul.col2.half.flow li:nth-child(13) {
    order: 6; }

  ul.col2.half.flow li:nth-child(15) {
    order: 7; }

  ul.col2.half.flow li:nth-child(17) {
    order: 8; }

  ul.col2.half.flow li:nth-child(2) {
    order: 9; }

  ul.col2.half.flow li:nth-child(4) {
    order: 10; }

  ul.col2.half.flow li:nth-child(6) {
    order: 11; }

  ul.col2.half.flow li:nth-child(8) {
    order: 12; }

  ul.col2.half.flow li:nth-child(10) {
    order: 13; }

  ul.col2.half.flow li:nth-child(12) {
    order: 14; }

  ul.col2.half.flow li:nth-child(14) {
    order: 15; }

  ul.col2.half.flow li:nth-child(16) {
    order: 16; } }
dl.col2 {
  margin: 0;
  padding: 0;
  /*
  &.ver1 {
  	justify-content: flex-start;
  	font-weight: 700;
  	dt {
  		margin-right: 2em;
  		@include sp {
  			width: 30%;
  			margin-right: 1em;
  		}
  	}
  	dd {
  		@include sp {
  			width: calc(100% - 30% - 1em);
  		}
  	}
  }
  */ }
  dl.col2 dt, dl.col2 dd {
    margin: 0;
    padding: 0; }
  dl.col2.half dt, dl.col2.half dd {
    width: 50%; }
    @media only screen and (max-width: 767px) {
      dl.col2.half dt, dl.col2.half dd {
        width: 100%; } }
    dl.col2.half dt img, dl.col2.half dd img {
      max-width: 100%;
      height: auto; }
      @media only screen and (max-width: 767px) {
        dl.col2.half dt img, dl.col2.half dd img {
          width: 100%; } }
  dl.col2.half.rev {
    flex-direction: row-reverse; }
  dl.col2.half.txt-img {
    /*
    &.biz {
    	align-items: center;
    }
    &.biz-in {
    	@include sp9 {
    		flex-direction: column;
    	}
    	dt {
    		position: relative;
    		padding: 15px;
    		@include sp9 {
    			width: 100%;
    			position: static;
    			padding: 7.8%;
    		}
    		.lay-cc {
    			width: 400px;
    			position: absolute;
    			top: 50%;
    			left: 50%;
    			transform: translate(-50%,-50%);
    			@include sp9 {
    				width: 100%;
    				position: static;
    				top: 0;
    				left: 0;
    				transform: translate(0,0);
    			}
    		}
    	}
    	dd {
    		@include sp9 {
    			width: 100%;
    		}
    		img {
    			width: 100%;
    			min-height: 450px;
    			max-height: 540px;
    			object-fit: cover;
    			@include sp9 {
    				min-height: auto;
    				max-height: none;
    				object-fit: none;
    			}
    		}
    	}
    	
    }
    */ }
    dl.col2.half.txt-img dt h2 {
      text-align: left; }
      @media only screen and (max-width: 767px) {
        dl.col2.half.txt-img dt h2 {
          text-align: center; } }
      dl.col2.half.txt-img dt h2.ver1 {
        padding-bottom: 20px;
        line-height: 1; }
        @media only screen and (max-width: 767px) {
          dl.col2.half.txt-img dt h2.ver1 {
            padding-bottom: 0; } }
    dl.col2.half.txt-img dt .txt {
      margin-bottom: 0; }
    dl.col2.half.txt-img dt a:hover .txt {
      text-decoration: underline; }
    dl.col2.half.txt-img dt .btn-wrap {
      margin-bottom: 0;
      text-align: left; }
      @media only screen and (max-width: 767px) {
        dl.col2.half.txt-img dt .btn-wrap {
          text-align: center; } }
    dl.col2.half.txt-img.bg {
      margin-bottom: 70px;
      position: relative; }
      dl.col2.half.txt-img.bg::after {
        content: "";
        background-color: #E4F9FF;
        position: absolute;
        top: calc(70px + 48px);
        right: 0;
        width: 60%;
        height: 90%;
        min-height: 743px; }
        @media only screen and (max-width: 767px) {
          dl.col2.half.txt-img.bg::after {
            display: none; } }
      dl.col2.half.txt-img.bg.rev::after {
        left: 0;
        right: auto; }
      dl.col2.half.txt-img.bg dt, dl.col2.half.txt-img.bg dd {
        position: relative;
        z-index: 1; }
      dl.col2.half.txt-img.bg dt {
        margin-top: 70px; }
        @media only screen and (max-width: 767px) {
          dl.col2.half.txt-img.bg dt {
            margin-top: 0; } }
      dl.col2.half.txt-img.bg dd {
        padding: 136px 50px 60px; }
        @media only screen and (max-width: 767px) {
          dl.col2.half.txt-img.bg dd {
            background-color: #E4F9FF;
            padding: 40px 1em; } }
        dl.col2.half.txt-img.bg dd p:last-child {
          margin-bottom: 0; }
  dl.col2.area-list {
    list-style: none;
    display: flex;
    flex-flow: row wrap;
    justify-content: space-between;
    align-items: center; }
    @media only screen and (max-width: 767px) {
      dl.col2.area-list {
        flex-direction: column; } }
    dl.col2.area-list dt {
      width: 280px; }
      @media only screen and (max-width: 767px) {
        dl.col2.area-list dt {
          width: 100%; } }
    dl.col2.area-list dd {
      width: calc(100% - 280px);
      padding-left: 40px;
      font-size: 2.6rem;
      line-height: 2; }
      @media only screen and (max-width: 767px) {
        dl.col2.area-list dd {
          width: 100%;
          padding-left: 0;
          font-size: 1.6rem; } }

/*
.top-merit dl.bg:nth-last-of-type(1) {
	margin-bottom: 0 !important;
}
*/
.col3 {
  list-style: none;
  display: flex;
  flex-flow: row wrap;
  justify-content: unset;
  width: 100%;
  margin-bottom: -1.7%; }
  .col3 li {
    width: calc((100% - 3.57%) /3);
    margin-right: 1.7%;
    margin-bottom: 1.7%; }
    .col3 li:nth-of-type(3n) {
      margin-right: 0; }
    .col3 li a {
      display: block;
      height: 100%;
      text-decoration: none !important;
      color: #000 !important; }
    @media only screen and (max-width: 767px) {
      .col3 li {
        width: 100%;
        margin-right: 0;
        margin-bottom: 20px; } }
  .col3.news li {
    border: solid 1px #D8D8D8; }
    .col3.news li a {
      padding: 25px; }
  .col3.works {
    margin-bottom: -2%; }
    .col3.works li {
      margin-bottom: 2%; }
      @media only screen and (max-width: 767px) {
        .col3.works li {
          margin-bottom: 20px; } }
      .col3.works li a {
        display: flex;
        height: 100%; }
        .col3.works li a dl {
          width: 100%; }
        .col3.works li a dl, .col3.works li a dd {
          display: flex;
          flex-direction: column; }
        .col3.works li a dt {
          text-align: center;
          height: 320px; }
          @media only screen and (max-width: 767px) {
            .col3.works li a dt {
              height: auto;
              min-height: 228px;
              max-height: 320px; } }
        .col3.works li a dd {
          flex-grow: 1; }
  .col3.note li {
    border: solid 1px #B20000; }
    .col3.note li a {
      padding: 25px; }

.handle-list {
  list-style: none;
  display: flex;
  flex-flow: row wrap;
  justify-content: center;
  margin-bottom: -40px; }
  @media only screen and (max-width: 767px) {
    .handle-list {
      margin-right: -20px;
      margin-bottom: -20px; } }
  .handle-list li {
    margin-right: 20px;
    margin-bottom: 40px; }
    @media only screen and (max-width: 767px) {
      .handle-list li {
        margin-bottom: 20px; } }
    .handle-list li:nth-last-of-type(1) {
      margin-right: 0; }
      @media only screen and (max-width: 767px) {
        .handle-list li:nth-last-of-type(1) {
          margin-right: 20px; } }
    .handle-list li figure {
      width: 200px;
      text-align: center;
      line-height: 1; }
      @media only screen and (max-width: 767px) {
        .handle-list li figure {
          width: 150px; } }
      .handle-list li figure a {
        display: block; }
      .handle-list li figure figcaption {
        margin-bottom: 3px;
        color: #273973;
        font-weight: bold;
        font-size: 2.6rem; }
        @media only screen and (max-width: 767px) {
          .handle-list li figure figcaption {
            font-size: 1.8rem; } }
      .handle-list li figure .img-box {
        display: flex;
        align-items: center;
        justify-content: center;
        width: 100%;
        height: 166px;
        border: solid 1px #707070;
        border-radius: 10px; }
        @media only screen and (max-width: 767px) {
          .handle-list li figure .img-box {
            height: 150px;
            padding: 10px; } }

.nayami-box {
  margin-top: -20px; }
  @media only screen and (max-width: 767px) {
    .nayami-box {
      margin-top: -10px; } }

.msg-box {
  position: relative;
  margin: 85px 0 0;
  padding: 60px 40px;
  border: solid 5px #F39815;
  border-radius: 8px; }
  @media only screen and (max-width: 767px) {
    .msg-box {
      margin-top: 50px;
      padding: 2.5em 1em 1em; } }
  .msg-box .title {
    position: absolute;
    display: inline-block;
    top: -25px;
    left: 10px;
    padding: 0 9px;
    line-height: 1;
    font-size: 4.5rem;
    background: #FFF;
    font-weight: bold; }
    @media only screen and (max-width: 767px) {
      .msg-box .title {
        width: 90%;
        font-size: 2.3rem; } }
  .msg-box dl {
    margin: 0;
    padding: 0;
    display: flex;
    flex-flow: row wrap; }
    .msg-box dl dt, .msg-box dl dd {
      margin: 0;
      padding: 0; }
    @media only screen and (max-width: 767px) {
      .msg-box dl {
        flex-direction: column; } }
    .msg-box dl dt {
      width: 277px; }
      @media only screen and (max-width: 767px) {
        .msg-box dl dt {
          width: 100%;
          margin-bottom: 30px;
          text-align: center; } }
    .msg-box dl dd {
      width: calc(100% - 277px);
      padding-left: 40px; }
      @media only screen and (max-width: 767px) {
        .msg-box dl dd {
          width: 100%;
          padding-left: 0; } }

/*
.map-border {
	width: 280px;
	height: 280px;
	border-radius:50%;
	border: solid 5px #9CD34D;
	@include sp {
		margin: 0 auto 30px;
	}
}
*/
.map-cut {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 280px;
  height: 280px;
  border-radius: 50%;
  background: #9CD34D; }
  @media only screen and (max-width: 767px) {
    .map-cut {
      margin: 0 auto 30px; } }
  .map-cut img {
    width: 270px;
    height: 270px;
    border-radius: 50%;
    object-fit: cover;
    /*
    background-image: url("../img/id/map.png");
    background-position: center;
    */ }

.box-gry {
  display: inline-block;
  border: solid 1px #ccc;
  padding: 1.5em; }

.comp-memb-box {
  margin-top: 60px;
  text-align: center; }
  .comp-memb-box dl.comp-logo {
    margin: 0;
    padding: 0;
    margin-bottom: 40px;
    display: inline-flex;
    flex-flow: row wrap;
    align-items: center;
    justify-content: center; }
    .comp-memb-box dl.comp-logo dt, .comp-memb-box dl.comp-logo dd {
      margin: 0;
      padding: 0; }
    .comp-memb-box dl.comp-logo dt {
      width: 200px; }
    .comp-memb-box dl.comp-logo dd {
      width: calc(100% - 200px);
      padding-left: 40px;
      text-align: left; }
  .comp-memb-box p.bord-top {
    border-top: solid 1px #ccc;
    padding-top: 40px; }

img.img-mid {
  vertical-align: middle; }

/*
.box-article {
	@include mp0;
	dt {
		background-color: #e0e0e0;//追加
		position: relative;//追加
		img {//↓追加
			width: auto;
			height: auto;
			max-width: 100%;
			max-height: 100%;
			position: absolute;
			top: 50%;
			left: 50%;
			transform: translate(-50%, -50%);
			//width: 100%;旧
			//height: 320px;旧
      		//object-fit: cover;旧
		}
	}
	dd {
		background-color: #F1FBFF;
		padding: 30px 25px;
		.tit {
			margin-bottom: 30px;
			text-align: center;
			font-weight: bold;
			font-size: 2.3rem;
			@include sp {
				font-size: 2.0rem;
			}
		}
		p {
			margin-bottom: 0;
		}
	}
}

.stamp {
	margin-bottom: 30px;
}
.topic-tit {
	margin: 25px 0;
	font-weight: bold;
	font-size: 2.3rem;
	@include sp {
		font-size: 2.0rem;
	}
}
time {
	font-size: 1.4rem;
}
.icon-ctgry {
	display: inline-block;
	min-width: 100px;
	margin-right: 15px;
	padding: 4px 14px;
	border-radius: 2px;
	text-align: center;
	font-weight: bold;
	font-size: 1.4rem;
	line-height: 1;
	&.service {
		background-color: $clr;
		color: #fff;
	}
	&.keiei {
		border: solid 1px $clr;
		background-color: #fff;
		color: $clr;
	}
	&.news {
		background-color: #FF63AC;
		color: #fff;
	}
}

.box-gry {
	padding: 2em;
	border: solid 1px #D8D8D8;
	@include sp {
		padding: .5em 1em;
	}
}
*/
.btn {
  position: relative;
  overflow: hidden;
  text-decoration: none;
  display: inline-block;
  background: #fff;
  border: 1px solid #979797;
  padding: 20px 20px 20px 90px;
  outline: none;
  transition: ease .2s; }
  @media only screen and (max-width: 1180px) {
    .btn {
      padding-left: 20px; } }

@media only screen and (max-width: 767px) {
  .top-merit dt .btn {
    display: none; } }

.w580 {
  display: block;
  width: 580px;
  margin: 0 0 0 auto; }
  .w580.mt {
    margin-top: 25px; }
  @media only screen and (max-width: 1180px) {
    .w580 {
      width: 100%; } }

.rev .w580 {
  margin-right: auto;
  margin-left: 0; }

.btn span {
  position: relative;
  display: flex;
  align-items: center;
  color: #F39815;
  font-weight: bold;
  font-size: 3.0rem; }
  .btn span::before {
    content: url("img/btn-arrow-bl.png");
    display: inline-block;
    margin-right: 15px;
    line-height: 1; }

.btn:hover span {
  color: #fff; }
  .btn:hover span::before {
    content: url("img/btn-arrow-wt.png"); }

.bgleft::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  background: #5AC3E1;
  width: 100%;
  height: 100%;
  transition: transform 0.6s cubic-bezier(0.8, 0, 0.2, 1) 0s;
  transform: scale(0, 1);
  transform-origin: right top; }

.bgleft:hover {
  opacity: 1; }

.bgleft:hover::before {
  transform-origin: left top;
  transform: scale(1, 1); }

.btn-wrap {
  background: url("img/btn-arrow-pnk.png") no-repeat center top 40px;
  padding-top: 180px;
  text-align: center; }
  @media only screen and (max-width: 850px) {
    .btn-wrap {
      padding: 130px 1em 0;
      background-size: 10%; } }
  @media only screen and (max-width: 767px) {
    .btn-wrap {
      padding-top: 25%;
      background-size: 10%; } }

.btnshine {
  /*キラッと光る基点とするためrelativeを指定*/
  position: relative;
  /*ボタンの形状*/
  display: inline-block;
  padding: 45px 108px;
  background: #DB0000;
  border-radius: 90px;
  color: #fff;
  font-weight: bold;
  font-size: 4.5rem;
  text-decoration: none;
  outline: none;
  overflow: hidden; }
  @media only screen and (max-width: 767px) {
    .btnshine {
      width: 100%;
      padding: 1em;
      font-size: 2.0rem; } }

/*キラッと光る*/
.btnshine::before {
  content: '';
  /*絶対配置でキラッと光るの位置を決める*/
  position: absolute;
  top: 0;
  left: -75%;
  /*キラッと光る形状*/
  width: 50%;
  height: 100%;
  background: linear-gradient(to right, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.3) 100%);
  transform: skewX(-25deg); }

.btnshine:hover {
  opacity: 1; }

/*hoverした際の移動のアニメーション*/
.btnshine:hover::before {
  animation: shine 1s; }

@keyframes shine {
  100% {
    left: 125%; } }
/*
.btn-wrap {
	padding: 58px 0 0;
	text-align: center;
	@include sp {
		padding-top: 35px;
	}
	a {
		display: inline-block;
		text-decoration: none !important;
		//width: 100%;
		//max-width: 230px;
		border: solid 1px $clr;
		padding: 10px 64px;
		font-weight: bold;
		line-height: 1;
		&.wt {
			background-color: #fff;
			color: $clr;
		}
		&.bl {
			background-color: $clr;
			color: #fff;
		}
	}
}

.btn-02 {
	margin-top: 3em;
	a {
    position: relative;
    display: flex;
    justify-content: space-around;
    align-items: center;
    margin: 0 auto;
    max-width: 300px;
    padding: 10px 25px;
    //color: #FFF;
    transition: 0.3s ease-in-out;
    font-weight: 700;
	font-size: 2.3rem;
    background: #ffcd39;
    border-radius: 3px;
    border-bottom: solid 3px #cc9a06;
	color: #664d03;
	}
}
*/
.tbl-01 {
  border: solid 1px #ccc;
  /*
  &.bl {
  	th, td {
  		border-bottom: solid 1px $clr;
  	}
  }
  */ }
  .tbl-01 th, .tbl-01 td {
    padding: 20px 10px;
    border-bottom: solid 1px #ccc;
    vertical-align: top;
    text-align: left;
    font-weight: normal; }
  .tbl-01 th {
    width: 25%;
    background: #f2f2f2; }
    @media only screen and (max-width: 767px) {
      .tbl-01 th {
        width: 28%; } }
  .tbl-01 td {
    width: 75%;
    padding-left: 25px; }
    @media only screen and (max-width: 767px) {
      .tbl-01 td {
        width: 72%; } }

.tbl-flow {
  height: 100%;
  margin-top: 80px;
  margin-bottom: 40px;
  table-layout: fixed; }
  .tbl-flow tr th {
    padding-bottom: 20px; }
    .tbl-flow tr th .tit {
      position: relative;
      display: block;
      padding: 0 55px;
      font-weight: bold;
      font-size: 3.0rem; }
      .tbl-flow tr th .tit::before, .tbl-flow tr th .tit::after {
        content: "";
        position: absolute;
        top: 50%;
        transform: translateY(-50%);
        display: inline-block;
        width: 50px;
        height: 8px; }
      .tbl-flow tr th .tit::before {
        left: 0; }
      .tbl-flow tr th .tit::after {
        right: 0; }
    .tbl-flow tr th:nth-of-type(1) {
      padding-right: 90px; }
      .tbl-flow tr th:nth-of-type(1) .tit::before, .tbl-flow tr th:nth-of-type(1) .tit::after {
        width: 70px;
        border-top: solid 3px #9D9D9D;
        border-bottom: solid 3px #9D9D9D; }
    .tbl-flow tr th:nth-of-type(2) {
      padding-left: 90px; }
      .tbl-flow tr th:nth-of-type(2) .tit::before, .tbl-flow tr th:nth-of-type(2) .tit::after {
        border-top: solid 3px #B20000;
        border-bottom: solid 3px #B20000; }
    @media only screen and (max-width: 850px) {
      .tbl-flow tr th {
        display: none; } }
  .tbl-flow tr td {
    width: calc((100% - 183px) /2);
    height: 100%;
    padding-bottom: 45px;
    vertical-align: top;
    /*&:nth-child(even) {
    	position: relative;
    	&::after {
    		content: "";
    		position: absolute;
    		top: 0;
    		left: 0;
    		width: 1px;
    		height: 100%;
    		background: rgba(178,0,0,.2);
    	}
    }*/ }
    @media only screen and (max-width: 850px) {
      .tbl-flow tr td {
        display: block;
        width: 100%; } }
    .tbl-flow tr td:nth-child(odd) {
      position: relative; }
      .tbl-flow tr td:nth-child(odd)::after {
        content: "";
        position: absolute;
        top: 0;
        right: -2px;
        width: 5px;
        height: 100%;
        background: rgba(178, 0, 0, 0.2);
        z-index: -1; }
        @media only screen and (max-width: 850px) {
          .tbl-flow tr td:nth-child(odd)::after {
            display: none; } }
    @media only screen and (max-width: 850px) {
      .tbl-flow tr td.now-non {
        display: none; } }
    .tbl-flow tr td p {
      margin-bottom: 0; }
    .tbl-flow tr td .old {
      display: flex;
      flex-flow: row wrap; }
      @media only screen and (max-width: 850px) {
        .tbl-flow tr td .old {
          position: relative; } }
      .tbl-flow tr td .old .txt-box {
        width: calc(100% - 90px);
        border: solid 1px #9D9D9D;
        border-radius: 5px;
        background: #F9F9F9;
        padding: 25px 20px; }
        @media only screen and (max-width: 850px) {
          .tbl-flow tr td .old .txt-box {
            width: 93%;
            padding: 1.5em 20px 1em;
            position: relative; } }
        .tbl-flow tr td .old .txt-box .tit {
          display: inline-block;
          background: #fff;
          border-radius: 50px;
          margin-bottom: 20px;
          padding: 4px 20px;
          color: #333333;
          font-weight: bold;
          font-size: 2.5rem; }
          @media only screen and (max-width: 850px) {
            .tbl-flow tr td .old .txt-box .tit {
              font-size: 2.0rem; } }
        .tbl-flow tr td .old .txt-box .tit-sp {
          display: none; }
          @media only screen and (max-width: 850px) {
            .tbl-flow tr td .old .txt-box .tit-sp {
              display: inline-block;
              color: #000;
              font-weight: bold;
              background: linear-gradient(to bottom, #ffffff, #ffffff, #F9F9F9);
              padding: 1px 8px;
              position: absolute;
              top: -15px;
              right: 10px;
              white-space: nowrap; } }
      .tbl-flow tr td .old .numb {
        display: flex;
        flex-flow: row wrap;
        align-items: flex-start;
        width: 90px; }
        @media only screen and (max-width: 850px) {
          .tbl-flow tr td .old .numb {
            width: 40px;
            position: absolute;
            top: 1.5em;
            right: 0; } }
        .tbl-flow tr td .old .numb .circle {
          display: flex;
          align-items: center;
          justify-content: center;
          width: 70px;
          height: 70px;
          margin-left: 20px;
          background: #9D9D9D;
          border-radius: 50%;
          color: #fff;
          font-weight: bold;
          font-size: 4.9rem;
          line-height: 1;
          position: relative; }
          @media only screen and (max-width: 850px) {
            .tbl-flow tr td .old .numb .circle {
              width: 40px;
              height: 40px;
              margin-left: 0;
              font-size: 2.5rem; } }
          .tbl-flow tr td .old .numb .circle::after {
            content: "";
            display: block;
            width: 20px;
            height: 1px;
            background: #9D9D9D;
            position: absolute;
            top: 50%;
            left: -20px; }
            @media only screen and (max-width: 850px) {
              .tbl-flow tr td .old .numb .circle::after {
                display: none; } }
    .tbl-flow tr td .now {
      height: 100%;
      display: flex;
      flex-flow: row-reverse wrap; }
      @media only screen and (max-width: 850px) {
        .tbl-flow tr td .now {
          position: relative; } }
      .tbl-flow tr td .now .txt-box {
        width: calc(100% - 90px);
        margin: 0 0 0 auto;
        border: solid 1px #5AC3E1;
        border-radius: 5px;
        background: #F4FAFC;
        padding: 25px 20px; }
        @media only screen and (max-width: 850px) {
          .tbl-flow tr td .now .txt-box {
            width: 93%;
            padding: 1.5em 20px 1em;
            position: relative; } }
        .tbl-flow tr td .now .txt-box .tit {
          display: inline-block;
          background: #fff;
          border-radius: 50px;
          margin-bottom: 20px;
          padding: 4px 20px;
          color: #B20000;
          font-weight: bold;
          font-size: 2.5rem; }
          @media only screen and (max-width: 850px) {
            .tbl-flow tr td .now .txt-box .tit {
              font-size: 2.0rem; } }
        .tbl-flow tr td .now .txt-box .tit-sp {
          display: none; }
          @media only screen and (max-width: 850px) {
            .tbl-flow tr td .now .txt-box .tit-sp {
              display: block;
              width: 176px;
              background: linear-gradient(to bottom, #ffffff, #ffffff, #F4FAFC);
              padding: 1px 8px;
              position: absolute;
              top: -15px;
              right: 10px;
              white-space: nowrap; }
              .tbl-flow tr td .now .txt-box .tit-sp img {
                width: 160px;
                height: auto; } }
      .tbl-flow tr td .now .numb {
        display: flex;
        flex-flow: row wrap;
        align-items: flex-start;
        width: 90px; }
        @media only screen and (max-width: 850px) {
          .tbl-flow tr td .now .numb {
            width: 40px;
            position: absolute;
            top: 1em;
            left: 0; } }
        .tbl-flow tr td .now .numb .circle {
          display: flex;
          align-items: center;
          justify-content: center;
          width: 70px;
          height: 70px;
          background: #B20000;
          border-radius: 50%;
          color: #fff;
          font-weight: bold;
          font-size: 4.9rem;
          line-height: 1;
          position: relative;
          /*
          &::before {
          	content: "";
          	position: absolute;
          	top: 0;
          	left: -1px;
          	width: 1px;
          	height: 55%;
          	background: aqua;
          }
          */ }
          @media only screen and (max-width: 850px) {
            .tbl-flow tr td .now .numb .circle {
              width: 40px;
              height: 40px;
              font-size: 2.5rem; } }
          .tbl-flow tr td .now .numb .circle::after {
            content: "";
            display: block;
            width: 20px;
            height: 1px;
            background: #5AC3E1;
            position: absolute;
            top: 50%;
            right: -20px; }
            @media only screen and (max-width: 850px) {
              .tbl-flow tr td .now .numb .circle::after {
                display: none; } }
  .tbl-flow tr:nth-last-child(1) td {
    padding-bottom: 0; }
    @media only screen and (max-width: 850px) {
      .tbl-flow tr:nth-last-child(1) td:nth-of-type(1) {
        padding-bottom: 45px; } }

.bg-dot {
  width: 80px;
  height: 85%;
  margin: 0 auto;
  background: radial-gradient(#5AC3E1 15%, transparent 17%) 0 0/80px 80px #fff;
  	/*
    background-color   : #ffffff;
    background-image   : radial-gradient(#ff4d4d 11%, transparent 12%),
                         radial-gradient(#ff4d4d 11%, transparent 12%);
    background-position: 0 0, 40px 40px;
    background-size    : 80px 80px;
  	*/ }

ul.std {
  margin-left: 40px;
  margin-bottom: 1em; }

ul.merit {
  list-style: none;
  list-style: none;
  display: flex;
  flex-flow: row wrap;
  justify-content: space-between;
  width: 100%;
  margin-bottom: 40px; }
  ul.merit li {
    width: calc((100% - 50px) /2);
    margin-bottom: 75px; }
    @media only screen and (max-width: 850px) {
      ul.merit li {
        width: 100%; } }
    ul.merit li .merit-bg {
      background: #E4F9FF;
      width: 100%;
      height: 100%;
      margin-top: 74px;
      padding: 30px;
      position: relative; }
    ul.merit li .merit-icon {
      position: absolute;
      top: -74px;
      left: 50%;
      width: 160px;
      height: 160px;
      transform: translateX(-50%);
      z-index: 1; }
      ul.merit li .merit-icon img {
        width: 160px;
        height: 160px;
        object-fit: cover;
        border-radius: 50%; }

dl {
  /*
  &.std {
  	dt {
  		font-weight: 700;
  	}
  	dd {
  		margin-left: 1em;
  	}
  }
  &.faq {
  	dt {
  		font-weight: 700;
  		&::before {
  			content: "Q.";
  			color: #cf2e2e;
  		}
  	}
  	dd {
  		margin: 0 0 1em;
  		&::before {
  			content: "A.";
  			color: $clr;
  			font-weight: bold;
  		}
  	}
  }
  &.voi {
  	dt {
  		font-weight: 700;
  		&::before {
  			content: "▼";
  			color: #cf2e2e;
  		}
  	}
  	dd {
  		margin: 0 0 1.5em;
  		padding-bottom: 1.5em;
  		border-bottom: solid 1px #D8D8D8;
  	}
  }
  &.fm {
  	display: flex;
  	flex-flow: row wrap;
  	//align-items: center;
  	dt {
  		width: 30%;
  		@include sp {
  			width: 100%;
  		}
  	}
  	dd {
  		margin: 0 0 1.5em;
  		width: 70%;
  		@include sp {
  			width: 100%;
  		}
  	}
  }
  */ }
  dl.rule dt {
    font-weight: bold; }
  dl.rule dd {
    margin-bottom: 1.5em; }
    dl.rule dd p {
      margin-bottom: 0; }
  dl.faq {
    margin: 0;
    padding: 0;
    counter-reset: numb 0; }
    dl.faq dt, dl.faq dd {
      margin: 0;
      padding: 0; }
    dl.faq dt, dl.faq dd {
      padding-left: 80px;
      position: relative; }
      dl.faq dt::before, dl.faq dd::before {
        display: inline-block;
        width: 40px;
        padding: 2px 8px;
        text-align: center;
        font-weight: 700;
        position: absolute;
        top: 0;
        left: 0; }
    dl.faq dt {
      margin-bottom: 1em; }
      dl.faq dt::before {
        counter-increment: numb 1;
        content: "Q" counter(numb);
        background: #B20000;
        color: #fff; }
    dl.faq dd {
      margin-bottom: 2em;
      padding-bottom: 2em;
      border-bottom: solid 1px #ccc; }
      dl.faq dd::before {
        content: "A" counter(numb);
        background: #5AC3E1; }

/*
main.ver1 strong {
	display: inline-block;
	margin-bottom: 5px;
	font-size: 1.8rem;
}
*/
.lay-c {
  text-align: center; }

.txt-numb {
  display: inline-block;
  margin-bottom: 28px;
  padding-right: 200px;
  color: #5AC3E1;
  font-weight: bolder;
  font-size: 12.0rem;
  line-height: 1;
  position: relative; }
  @media only screen and (max-width: 767px) {
    .txt-numb {
      padding-right: 130px;
      font-size: 4.0rem; } }
  .txt-numb::before {
    position: absolute;
    bottom: 0;
    right: 0;
    display: inline-block;
    line-height: 0; }
    @media only screen and (max-width: 767px) {
      .txt-numb::before {
        transform: scale(0.5); } }
  .txt-numb::after {
    content: "";
    position: absolute;
    bottom: 30px;
    display: inline-block;
    width: 70px;
    height: 1px;
    background-color: #5AC3E1;
    -webkit-transform: rotate(-60deg);
    transform: rotate(-60deg); }
    @media only screen and (max-width: 767px) {
      .txt-numb::after {
        bottom: 10px;
        width: 30px; } }
  .txt-numb.no1::before {
    content: url("img/top/no1-kaito.png");
    bottom: -10px; }
    @media only screen and (max-width: 767px) {
      .txt-numb.no1::before {
        bottom: -40px; } }
  .txt-numb.no2 {
    display: block;
    padding-right: 230px;
    text-align: right; }
    @media only screen and (max-width: 767px) {
      .txt-numb.no2 {
        display: inline-block;
        padding-right: 150px;
        text-align: left; } }
    .txt-numb.no2::before {
      content: url("img/top/no2-kaito.png");
      bottom: -10px; }
      @media only screen and (max-width: 767px) {
        .txt-numb.no2::before {
          bottom: -40px; } }
  .txt-numb.no3::before {
    content: url("img/top/no3-kaito.png");
    bottom: -10px; }
    @media only screen and (max-width: 767px) {
      .txt-numb.no3::before {
        bottom: -40px; } }
  .txt-numb.merit {
    padding-right: 0;
    font-size: 6.0rem; }
    .txt-numb.merit::before {
      display: none; }
    .txt-numb.merit::after {
      bottom: 10px;
      width: 30px;
      height: 1px;
      background-color: #5AC3E1;
      -webkit-transform: rotate(-60deg);
      transform: rotate(-60deg); }

.txt-att {
  color: #B20000;
  text-align: center; }

.font-b-r {
  color: #B20000;
  font-weight: bold; }
  .font-b-r.f30 {
    font-size: 3.0rem; }
    @media only screen and (max-width: 767px) {
      .font-b-r.f30 {
        font-size: 2.0rem; } }
  .font-b-r.f35 {
    font-size: 3.5rem; }
    @media only screen and (max-width: 767px) {
      .font-b-r.f35 {
        font-size: 2.0rem; } }
  .font-b-r.f40 {
    margin-bottom: 40px;
    font-size: 4.0rem; }
    @media only screen and (max-width: 767px) {
      .font-b-r.f40 {
        margin-bottom: 20px;
        font-size: 2.0rem; } }

.f-r35 {
  color: #B20000;
  font-weight: bold;
  font-size: 3.5rem; }
  @media only screen and (max-width: 767px) {
    .f-r35 {
      font-size: 2.0rem; } }

.f-r40 {
  margin-bottom: 40px;
  color: #B20000;
  font-weight: bold;
  font-size: 4.0rem; }
  @media only screen and (max-width: 767px) {
    .f-r40 {
      margin-bottom: 20px;
      font-size: 2.0rem; } }

.numb-wrap {
  width: 100%;
  height: 100%; }
  .numb-wrap::after {
    content: "";
    display: block;
    width: 1px;
    height: 100%;
    border-left: solid 1px #B20000;
    position: absolute;
    top: 0;
    left: 50%;
    z-index: -1; }

#conference-timeline {
  position: relative;
  width: 100%;
  margin: 0 auto; }

/*
#conference-timeline .timeline-start,
#conference-timeline .timeline-end {
  display: table;
  font-family: "Roboto", sans-serif;
  font-size: 18px;
  font-weight: 900;
  text-transform: uppercase;
  background: #00b0bd;
  padding: 15px 23px;
  color: #fff;
  max-width: 5%;
  width: 100%;
  text-align: center;
  margin: 0 auto;
}
*/
#conference-timeline .conference-center-line {
  position: absolute;
  width: 3px;
  height: 100%;
  top: 0;
  left: 50%;
  margin-left: -2px;
  background: #00b0bd;
  z-index: -1; }

#conference-timeline .conference-timeline-content {
  padding-top: 67px;
  padding-bottom: 67px; }

.timeline-article {
  width: 100%;
  height: 100%;
  position: relative;
  overflow: hidden;
  margin: 20px 0; }

.timeline-article .content-left-container,
.timeline-article .content-right-container {
  max-width: 44%;
  width: 100%; }

.timeline-article .timeline-author {
  display: block;
  font-weight: 400;
  font-size: 14px;
  line-height: 24px;
  color: #242424;
  text-align: right; }

.timeline-article .content-left,
.timeline-article .content-right {
  position: relative;
  width: auto;
  border: 1px solid #ddd;
  background-color: #fff;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.03);
  padding: 27px 25px; }

.timeline-article p {
  margin: 0 0 0 60px;
  padding: 0;
  font-weight: 400;
  color: #242424;
  font-size: 14px;
  line-height: 24px;
  position: relative; }

.timeline-article p span.article-number {
  position: absolute;
  font-weight: 300;
  font-size: 44px;
  top: 10px;
  left: -60px;
  color: #00b0bd; }

.timeline-article .content-left-container {
  float: left; }

.timeline-article .content-right-container {
  float: right; }

.timeline-article .content-left:before,
.timeline-article .content-right:before {
  position: absolute;
  top: 20px;
  font-size: 23px;
  font-family: "FontAwesome";
  color: #fff; }

.timeline-article .content-left:before {
  content: "\f0da";
  right: -8px; }

.timeline-article .content-right:before {
  content: "\f0d9";
  left: -8px; }

.timeline-article .meta-date {
  position: absolute;
  top: 0;
  left: 50%;
  width: 62px;
  height: 62px;
  margin-left: -31px;
  color: #fff;
  border-radius: 100%;
  background: #00b0bd; }

.timeline-article .meta-date .date,
.timeline-article .meta-date .month {
  display: block;
  text-align: center;
  font-weight: 900; }

.timeline-article .meta-date .date {
  font-size: 30px;
  line-height: 40px; }

.timeline-article .meta-date .month {
  font-size: 18px;
  line-height: 10px; }

/*===== // Vertical Timeline =====*/
/*===== Resonsive Vertical Timeline =====*/
@media only screen and (max-width: 830px) {
  #conference-timeline .timeline-start,
  #conference-timeline .timeline-end {
    margin: 0; }

  #conference-timeline .conference-center-line {
    margin-left: 0;
    left: 50px; }

  .timeline-article .meta-date {
    margin-left: 0;
    left: 20px; }

  .timeline-article .content-left-container,
  .timeline-article .content-right-container {
    max-width: 100%;
    width: auto;
    float: none;
    margin-left: 110px;
    min-height: 53px; }

  .timeline-article .content-left-container {
    margin-bottom: 20px; }

  .timeline-article .content-left,
  .timeline-article .content-right {
    padding: 10px 25px;
    min-height: 65px; }

  .timeline-article .content-left:before {
    content: "\f0d9";
    right: auto;
    left: -8px; }

  .timeline-article .content-right:before {
    display: none; } }
@media only screen and (max-width: 400px) {
  .timeline-article p {
    margin: 0; }

  .timeline-article p span.article-number {
    display: none; } }
/*
.box-point {
    position: relative;
    margin: 6em 0 3em;
    padding: 1em 2em;
	background: #FFEAEA;
    border: solid 1px #cf2e2e;
	@include sp {
		margin-top: 4.5em;
		padding: 1em;
	}
	.tit {
		position: absolute;
    	display: inline-block;
    	top: -32px;
    	left: -1px;
    	padding: 0 15px;
    	height: 32px;
    	line-height: 32px;
    	background: #cf2e2e;
    	color: #ffffff;
    	font-weight: bold;
		font-size: 2.0rem;
    	border-radius: 3px 3px 0 0;
		@include sp {
			font-size: 1.8rem;
		}
	}
	p {
		margin: 0 !important;
		padding: 0;
	}
}

figure {
	&.fig-01 {
	position: relative;
	figcaption {
		position: absolute;
		top: 100px;
		left: 0;
		//transform: translateY(-20%);
		display: block;
		width: 350px;
		height: auto;
		padding: 20px;
		background: $clr;
		color: #fff;
		font-size: 2.0rem;
		@include sp {
			position: static;
			width: 100%;
		}
	}
	}
	&.fig-ful {
		margin-bottom: 4em;
		@include sp {
			margin-bottom: 40px;
		}
		img {
			width: 100%;
		}
		&.cut {
			@include sp {
			margin-bottom: 5em;
		}
			img {
				height: 350px;
				object-fit: cover;
				object-position: 0 90%;	
			}
		}
	}
	&.fig-02 {
		max-width: 800px;
		margin-right: auto;
		margin-left: auto;
		margin-bottom: 4em;
		@include sp {
			margin-bottom: 40px;
		}
		img {
			width: 100%;
		}
	}
}
*/
/*
.list-topics {
	width: 100%;
	list-style: none;
	li {
		padding: 3px 5px;
		p {
			margin-bottom: 0;
		}
		a {
			display: inline-flex;
			align-items: center;
			text-decoration: none;
			font-size: 1.9rem;
			&::before {
				content: url("img/news-arrow-red.png");
				display: inline-block;
				margin-right: 10px;
				line-height: 0;
			}
			&:hover {
				text-decoration: underline;
			}
		}
	}
}
*/
/*
input, textarea {
	width: 100%;
	background: none;
	border: solid 1px #ced4da;
	padding: 9px;
}

.wpcf7-list-item {
	margin: 0 1em 0 0;
	input {
		width: auto;
	}
}

input[type="submit"] {
	width: auto;
	display: inline-block;
	padding: 10px 64px;
	//padding: 3px 10px;
	background: $clr;
	border: solid 1px $clr;
	//border: solid 1px #997404;
	//border-radius: 3px;
	color: #fff;
	font-weight: bold;
	font-size: 1.6rem;
	line-height: 1;
	-webkit-appearance: none;
	border-radius: 0;
	&:hover {
		//background: #cc9a06;
		opacity: .7;
	}
}

p.txt_req {
	margin-bottom: 5px !important;
	&::after {
		content: "(必須)";
		display: inline-block;
		margin-left: 5px;
		color: #dc3545;
	}
}


@include sp {
	.wpcf7 .ajax-loader {
		display: block;
		margin: 0 auto;
	}
	.wpcf7-spinner {
		display: block;
		margin: 0 auto;
	}
}

.navigation {
	&.pagination {
		margin-top: 60px;
		text-align: center;
		.nav-links {
			display: inline-block;
			border: solid 5px #F2F2F2;
			font-weight: bold;
			font-size: 0;
			.page-numbers {
				display: inline-block;
				padding: 5px 10px;
				background-color: #fff;
				border-right: solid 1px #F2F2F2;
				font-size: 1.6rem;
				&.current {
					background-color: $clr;
					color: #fff;
				}
				&:hover {
					opacity: .7;
				}
				&:last-child {
					border-right: none;
				}
			}
		}
	}
}
*/
/* To top */
.s2v {
  display: none;
  position: fixed;
  bottom: 20px;
  right: 20px;
  z-index: 100; }
  @media only screen and (max-width: 767px) {
    .s2v {
      bottom: 0;
      right: 0; } }

.banner {
  display: none;
  position: fixed;
  bottom: 20px;
  right: 0;
  text-align: right;
  z-index: 1; }
  .banner a {
    padding: 10px 0; }
  .banner img {
    filter: drop-shadow(0 1px 3px rgba(0, 0, 0, 0.2));
    /*
    @include sp {
    	width: 50%;
    }
    */ }

.pc-on {
  display: block; }
  @media only screen and (max-width: 767px) {
    .pc-on {
      display: none; } }

.sp-on {
  display: none; }
  @media only screen and (max-width: 767px) {
    .sp-on {
      display: block; } }
