@charset "utf-8";
@import "https://use.fontawesome.com/releases/v5.13.0/css/all.css";

/*    basic    */


body {
	font: 1.6rem/1.4 "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS P Gothic", sans-serif;
	background-color:#fff;
	margin: 0;
	padding: 0;
	color: #000;
	display: flex;
	flex-flow: column;
	min-height: 100vh;	
	}
html{
    font-size: 62.5%;
}
body{
    font-size:1.6rem;/* 16px*/
    line-height: 2;
}
h1 {
    font-size: 36px;/* IE8以下とAndroid4.3以下用フォールバック */
    font-size: calc(2.4rem + ((1vw - 0.64rem) * 2.1429));/* 24px~36pxで可変*/
    line-height: 1.3;
}
h2 {
    font-size: 24px;/* IE8以下とAndroid4.3以下用フォールバック */
    font-size: calc(2rem + ((1vw - 0.64rem) * 0.7143));/* 20px~24pxで可変*/
    line-height: 1.3;
}
@media (min-width: 1200px) {/* 1200px以上*/
    h1 {
        font-size: 3.6rem;/* 36px*/
    }
    h2 {
        font-size: 2.4rem;/* 24px*/
    }
}
@media screen and (max-width: 640px) {/* 640px以下*/
    body{
    line-height: 2;
    }
    h1{
        font-size: 2.4rem;/* 24px*/
    }
    h2 {
        font-size: 2rem;/* 20px*/
    }
}
/* ~~ エレメント / タグセレクター ~~ */
ul, ol, dl { /* ブラウザー間の相違により、リストの余白とマージンをゼロにすることをお勧めします。一貫性を保つために、量をここで指定するか、リストに含まれるリスト項目 (LI、DT、DD) で指定できます。より詳細なセレクターを記述しない限り、ここで指定する内容が .nav リストにも適用されることに注意してください。 */
	padding: 0;
	margin: 0;
}
h1, h2, h3, h4, h5, h6, p {
	margin-top: 0;	 /* 上マージンを削除すると、マージンを含む div からマージンがはみ出す場合があるという問題を回避できます。残った下マージンにより、後続のエレメントからは離されます。 */
	padding-right: 15px;
	padding-left: 15px; /* div 自体ではなく div 内でエレメントの両側に余白を追加すると、ボックスモデル計算が不要になります。代わりに、両側に余白を指定した div をネストして使用することもできます。 */
	word-wrap: break-word;
}
td, th {
padding: 5px 10px;
}
.-han-serif-400 {
    font-family: "游明朝","sans-serif";
    font-weight: 400;
    font-style: normal;
}

a img { /* このセレクターは、一部のブラウザーでイメージをリンクで囲んだ場合にイメージの周囲に表示される初期設定の青いボーダーを削除します。 */
	border: none;
	vertical-align:top;
}

/* ~~ サイトのリンクのスタイル付けは、ホバー効果を作成するセレクターグループも含め、この順序にする必要があります。~~ */
a:link {
	color: #c7c7c7;
	text-decoration: underline;
}
a:visited {
	color: #8c8b8b;
	text-decoration: underline;
}
a:hover, a:active, a:focus { /* このセレクターグループは、キーボードを使用するユーザーに対し、マウスを使用するユーザーと同じホバー効果を提供します。 */
	text-decoration: none;
}

p.indentfront{
  text-indent: 1em;
  padding-left: 1em;
	margin: 1em 0px;   /* 上下に1em・左右に0px */
}

p.indentback{
  text-indent: -1em;
  padding-left: 2em;
	margin: 1em 0px;   /* 上下に1em・左右に0px */
}

hr{ border:none;
    border-top: 1px solid #7C7C7C;
    width: 98%;
    }

/* ~~ このコンテナが他のすべての div を囲み、パーセンテージに基づいた幅を指定します。~~ */
.container {
	width: 90%;
	height: auto;
	background-color: #FFF;
	margin: 0 auto;
	flex: 1;
}

@media screen and (min-width:769px){
/* PC用CSS -------------- */
	.content {
	padding: 10px ;
	word-break: normal;
	width: 960px;
	height: auto;
	margin-bottom: 5%;
	margin-top: 10px;
	margin-right: auto;
margin-left : auto;
}
}
@media screen and (max-width: 480px) {
/* スマホ用CSS -------------- */
	.content {
	padding: 10px ;
	word-break: normal;
	width: 100%;
	height: auto;
	margin-bottom: 10%;
}
}

/* ~~ このセレクターグループは、.content 内のリストに領域間隔を指定します。~~ */
.content ul, .content ol { 
	padding: 0 15px 15px 40px; /* この余白は、上述の見出しと段落ルールの右の余白を表します。下の余白はリスト内の他のエレメントとの間隔用に配置され、左の余白はインデント作成用に配置されています。これは必要に応じて調整できます。 */
}

.center {
	max-width: 80vh;
	margin: 0 auto;
	text-align: center;
}
@media (min-width: 768px) {
  .case {
    width: 960px;
	padding-right: 15px;
	padding-left: 15px;
	margin-right: auto;
	margin-left: auto;
  }
}
@media (min-width: 992px) {
  .case {

  }
}
@media (min-width: 1200px) {
  .case {
	width: 1015px;
  }
}
.case-fluid {
  padding-right: 15px;
  padding-left: 15px;
  margin-right: auto;
  margin-left: auto;
}
.case img {
	width: 100%;
	height: auto;
	margin: 0 auto;
}
@media (min-width: 768px) {
  .mount {
    width: 960px;
	  height: auto;
	padding: 50px;	
	margin-right: auto;
	margin-left: auto;
	  background-color: #FFFFFF;
	  margin-bottom: 10%;
  }
}
@media screen and (max-width: 480px) {
  .mount {
    width: 100%;
	  height: auto;
	  padding: 15px;	
	  background-color: #FFFFFF;
	  margin-bottom: 10%;
  }
}
/* ~~ その他の float/clear クラス ~~ */
.fltrt {  /* このクラスを使用すると、ページ内でエレメントを右にフローティングさせることができます。フローティングさせるエレメントは、ページ内で横に並べて表示するエレメントの前に指定する必要があります。 */
	float: right;
	margin-left: 8px;
}
.fltlft { /* このクラスを使用すると、ページ内でエレメントを左にフローティングさせることができます。フローティングさせるエレメントは、ページ内で横に並べて表示するエレメントの前に指定する必要があります。 */
	float: left;
	margin-right: 8px;
}
.clearfloat { /* このクラスは、#footer が #container から削除されているか取り出されている場合に、<br /> または空の div で、フローティングさせる最後の div に続く最後のエレメントとして (#container 内に) 配置できます。 */
	clear:both;
	height:0;
	font-size: 1px;
	line-height: 0px;
}

* {
  margin: 0;
  padding: 0; }
@media screen and (min-width:769px){
/* PC用CSS -------------- */
header {
  width: 100%;
  height: 70px;
  color: #1d1d1d;
 background-color:#ffffff;

  position: fixed;
  top: 0;
  transition: 0.5s;
	box-shadow: 0 32px 30px -30px rgba(53, 47, 47, 0.15);
	z-index: 9999;
	}
}
@media screen and (max-width:768px){
/* スマホ用CSS -------------- */
	header {
	width: 100%;
  height: 70px;
  color: #1d1d1d;
  background-color:#ffffff;
  position: fixed;
  top: 0;
  transition: 0.5s; 
	box-shadow: 0 32px 30px -30px rgba(53, 47, 47, 0.15);
	z-index: 9999;
	}
}


  header .inner {
    height: 100%;
    margin: 0px 20px;
    display: flex;
    align-items: center; }
    header .inner h1 {
      font-size: 20px;
      margin-left: 40px; }


ul {
	margin: 0;
	padding-left: 0;
}
li {
	list-style: none;
	text-align:left;
}

/*============================
header style
============================*/
#top-head {
  width: 100%;
  height: 66px;
  background: #FFFFFF;
  display: flex;
  position: fixed;
  z-index: 999;
box-shadow: 0px 9px 3px -3px rgba(0,0,0,0.1);
  -webkit-box-shadow: 0px 9px 3px -3px rgba(0,0,0,0.1);
  -moz-box-shadow: 0px 9px 3px -3px rgba(0,0,0,0.1);
}
#top-head .inner {
  float: left;
  width: 90%;
  max-width: 1000px;
  margin: 0 auto;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
/*logo style*/
.inner h1 a {
  color: #F8B902;
  text-decoration: none;
  font-weight: bold;
}
/*nav style*/
#top-head nav ul {
  display: flex;
  list-style-type: none;
}
/*nav link style*/
#top-head nav ul li  {
	font-size: 12px;  
}
#top-head nav ul li a {
  text-decoration: none;
  padding: 16px;
  color: black;
}
#top-head nav ul li a:hover {
  color:#F8B902;
}
#nav_toggle {
  display: none;
}
img {
  margin-top: 0px;
  width: 100%;
}
/*============================
mobile style
============================*/
@media screen and (max-width:680px) {
/*hamburger menu style*/
  #nav_toggle {
    display: block;
    width: 30px;
    height: 30px;
    position: relative;
    top: 4px;
    z-index: 100;
  }
  #nav_toggle div {
    position: relative;
  }
/*hamburger menu close style*/
  #nav_toggle span {
    display: block;
    height: 2px;
    background: #404040;
    position:absolute;
    width: 100%;
    left: 0;
    -webkit-transition: 0.5s ease-in-out;
    -moz-transition: 0.5s ease-in-out;
    transition: 0.5s ease-in-out;
  }
  #nav_toggle span:nth-child(1) {
    top:0px;
  }
  #nav_toggle span:nth-child(2) {
    top:10px;
  }
  #nav_toggle span:nth-child(3) {
    top:20px;
  }
/*hamburger menu open style*/
  .open #nav_toggle span:nth-child(1) {
    top: 10px;
    -webkit-transform: rotate(135deg);
    -moz-transform: rotate(135deg);
    transform: rotate(135deg);
  }
  .open #nav_toggle span:nth-child(2) {
    width: 0;
    left: 50%;
  }
  .open #nav_toggle span:nth-child(3) {
    top: 10px;
    -webkit-transform: rotate(-135deg);
    -moz-transform: rotate(-135deg);
    transform: rotate(-135deg);
  }
/*nav style*/
  #top-head nav {
    display: none;
    position: absolute;
    top: 60px;
    left: 0;
    width: 100%;
    height: 1040px;
    background: #fff;
    z-index: 999;
  }
  #top-head nav ul {
    display: block;
    width: 100%;
  }
  #top-head nav ul li {
    text-align: center;
    border-bottom: 1px solid #dcdcdc;
  }
  #top-head nav ul li:last-child {
    border: none;
  }
/*nav link style*/
  #top-head nav ul li a {
    display: block;
	  color: black;
  }
}

/* -------------------------
    ページ内メニュー
------------------------- */

.my-parts {
	border: 1px dotted #FFF;
	text-align: left;
	border-radius: 0px;
	overflow: hidden;
	width: 100%;
}
.my-parts-title {
	color: #fff;
	background: #006400;
	padding: .4em .8em;
	font-weight: bold;
}
.my-parts ul {
	list-style: none;
	padding: 0;
	margin: 0;
}
.my-parts ul li {
	padding: 0;
	margin: 0;
}
.my-parts ul li a {
	color: #006400;
	font-weight: bold;
	text-decoration: none;
	display: block;
	padding: .4em 1.2em;
	border-bottom: 1px dotted #006400;
}
.my-parts ul li:last-child a {
	border: none;
}
.my-parts ul li  a:hover {
  color:#F8B902;
}
/* -------------------------
    .fixed
------------------------- */


.fixed_btn
{
  position: fixed;
  bottom:70%; 
  right: 10px;
 text-align:center;
  height:40px;
  line-height:40px;
  z-index: 100000;color: #EC407A;
  border: 2px solid #EC407A;
  box-shadow: 0 2px 4px rgba(0,0,0,0.3);
 }
 .fixed_btn:hover 
{
  background: #EC407A;
  color: #fff;
  box-shadow: 0 0 2px rgba(0,0,0,0.2);
 }
 @media screen and (max-width: 599px) {
	 .fixed_btn
{
  position: fixed;
  bottom:10%; 
  right: 10px;
  text-align:center;
  height:30px;
  line-height:30px;
  z-index: 100000;color: #EC407A;
  border: 2px solid #EC407A;
  font-size: 9px;
  box-shadow: 0 2px 4px rgba(0,0,0,0.3);
 }
 .fixed_btn:hover 
{
  background: #EC407A;
  color: #fff;
  box-shadow: 0 0 2px rgba(0,0,0,0.2);
 }
}
/* -------------------------
    contents
------------------------- */
/* 2カラム */
*, *:before, *:after {
	box-sizing: border-box;
}
.col_2{
	width: 100%;
	display: flex;
	display: -ms-flexbox; /* IE10 */
	flex-wrap: wrap;
	-ms-flex-wrap: wrap; /* IE10 */
	text-align: center; /* 内容は中央配置 */
}
.col_2 p {
text-align: left;
}
.col_2 > div{
	width: 50%;
	padding: 10px;
}
@media screen and (max-width: 640px) {
	.col_2 > div{
		width: 100%;
	}
}
/* 2カラムleft */
*, *:before, *:after {
	box-sizing: border-box;
}
.col_2left{
	width: 100%;
	display: flex;
	display: -ms-flexbox; /* IE10 */
	flex-wrap: wrap;
	-ms-flex-wrap: wrap; /* IE10 */
	text-align: left; /* 内容は中央配置 */
}
.col_2left p {
text-align: left;
}
.col_2left > div{
	width: 50%;
	padding: 10px;
}
@media screen and (max-width: 640px) {
	.col_2left > div{
		width: 100%;
	}
}

/* ~~ slides ~~ */


* {
  box-sizing: border-box;
}

.slider2 {
	width: 100%;
	text-align: center;
	margin: 0px 0px 0px 0px;	
}

.slides2 {	
	display: flex;
	overflow-x: auto;
	scroll-snap-type: x mandatory;
  
  
  
  scroll-behavior: smooth;
  -webkit-overflow-scrolling: touch;
  
  /*
  scroll-snap-points-x: repeat(300px);
  scroll-snap-type: mandatory;
  */
}
.slides2::-webkit-scrollbar {
  width: 10px;
  height: 10px;
}
.slides2::-webkit-scrollbar-thumb {
  background: black;
  border-radius: 10px;
}
.slides2::-webkit-scrollbar-track {
  background: transparent;
}
.slides2 > div {
  scroll-snap-align: start;
  flex-shrink: 0;
  width: 100%;
  height: auto;
  margin-right: 1px;
  border-radius: 10px;
  background: #eee;
  transform-origin: center center;
  transform: scale(1);
  transition: transform 0.5s;
  position: relative;
  
  display: flex;
  justify-content: center;
  align-items: center;
	overflow: hidden;
}
.slides2 > div:target {
/*   transform: scale(0.8); */
}
.author-info2 {
  background: rgba(0, 0, 0, 0.75);
  color: white;
  text-align: center;
  position: absolute;
  bottom: 0;
  left: 0;
  padding: 0.75rem;
  width: 100%;
  margin: 0;
}
.author-info2 a {
  color: white;
}

img2 {
  object-fit: cover;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: auto;
}

.slider2 > a {
  display:none;
  width: 1.5rem;
  height: 1.5rem;
  background: white;
  text-decoration: none;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  margin: 0 0 0.5rem 0;
  position: relative;
}
.slider2 > a:active {
  top: 1px;
}
.slider2 > a:focus {
  background: #000;
}
.slider2 img {
	width: 100%;
	object-fit: cover;
	height: 400px;
	text-align: center;
}
/* Don't need button navigation */
@supports (scroll-snap-type) {
  .slider2 > a {
    display: none;
  }
}
/* -------------------------
    box
------------------------- */
.box{
    padding: 0px;
	width: 100%;
    height: auto;
}
.box8 {
    padding: 0.5em 1em;
    margin: 2em 0;
    color: #ffffff;
    background: #000000;
    border-left: solid 10px #006400;
	font-size: 26px;
	font-weight: 700;
	transform:skewX(-20deg);
}
.box4{
    padding: 8px 19px;
    margin: 2em 0;
    color: #2c2c2f;
    background: #ffffff;
    border-top: solid 5px #006400;
    border-bottom: solid 5px #006400;
}
.box4 p {
    margin: 0; 
    padding: 0;
}
.box8 p {
    margin: 0; 
    padding: 0;
	transform:skewX(20deg);
}
@media screen and (max-width: 480px) {
	.box8 {
	font-size: 16px;
	font-weight: 500;
		width: 90%;
		margin-left: 5%;
	}
}
.box11{
    padding: 0.5em 1em;
    margin: 0 auto;
    color: #FFF;
	background-color: rgba(0, 0, 0, 0.6);
    border-top: solid 5px #006400;
    box-shadow: 0 3px 5px rgba(0, 0, 0, 0.22);
	border-radius: 5px;/*角の丸み*/
	height: 30%;
}
@media screen and (max-width: 480px) {
	.box11{
    height: 40%;
}
}
.box11 p {
    margin: 0; 
    padding: 0;
	text-align: left;
	font-size: 18px;
}
@media screen and (max-width: 480px) {
	.box11 p {
		margin: 0;
		padding: 0;
		font-size: 10px;
		text-align: left;
	}
}
.box15 {
    padding: 0.2em 0.5em;
    margin: 2em 0;
    color: #565656;
    background: #ffeaea;
    box-shadow: 0px 0px 0px 10px #ffeaea;
    border: dashed 2px #ffc3c3;
    border-radius: 8px;
	width: 100%;
	height: auto;
}
.box15 p {
    margin: 0; 
    padding: 0;
}
.box18{
    margin:2em 0;
    position: relative;
    padding: 0.25em 1em;
    border: solid 2px #ffcb8a;
    border-radius: 3px 0 3px 0;
}
.box18:before,.box18:after
{
    content: '';
    position: absolute;
    width:10px;
    height: 10px;
    border: solid 2px #ffcb8a;
    border-radius: 50%;
}
.box18:after {
    top:-12px;
    left:-12px;
}
.box18:before {
    bottom:-12px;
    right:-12px;
}
.box18 p {
    margin: 0; 
    padding: 0;
}
.box19 {
    position: relative;
    padding:0.25em 1em;
}
.box19:before,.box19:after{ 
    content:'';
    width: 20px;
    height: 30px;
    position: absolute;
    display: inline-block;
}
.box19:before{
    border-left: solid 1px #000000;
    border-top: solid 1px #000000;
    top:0;
    left: 0;
}
.box19:after{
    border-right: solid 1px #000000;
    border-bottom: solid 1px #000000;
    bottom:0;
    right: 0;
}
.box19 p {
    margin: 0; 
    padding: 0;
}
.box24 {
    position: relative;
    padding: 0.5em 0.7em;
    margin: 2em 0;
    background: #e6f4ff;
    color: #5c98d4;
    font-weight: bold;
}
.box24:after {
    position: absolute;
    content: '';
    top: 100%;
    left: 30px;
    border: 15px solid transparent;
    border-top: 15px solid #e6f4ff;
    width: 0;
    height: 0;
}
.box24 p {
    margin: 0; 
    padding: 0;
}
.box27 {
    position: relative;
    margin: 4em 0;
    padding: 0.5em 1em;
    border: solid 2px #000000;
	margin: 0 auto;
	width: 100%;
	height: auto;
}
@media screen and (min-width:769px){
.box27 .box-title {
    position: absolute;
    display: inline-block;
    top: -27px;
    left: -3px;
    padding: 0 9px;
    height: 30px;
    line-height: 30px;
    background: #000000;
    color: #ffffff;
    font-weight: 300;
    border-radius: 5px 5px 0 0;
	font-size: 1.2em;
}
}
@media screen and (max-width: 480px) {
.box27 .box-title {
    position: absolute;
    display: inline-block;
    top: -15px;
    left: -3px;
    padding: 0 9px;
    height: 20px;
    line-height: 22px;
    background: #000000;
    color: #ffffff;
    font-weight: 200;
    border-radius: 5px 5px 0 0;
	margin-bottom: 5px;
	font-size: 1.0em;
}
}
.box27 p {
    margin: 0; 
    padding: 0;
}

.box28 {
    position: relative;
    margin: 2em 0;
    padding: 25px 10px 7px;
    border: solid 2px #62c1ce;
}
.box28 .box-title {
    position: absolute;
    display: inline-block;
    top: -2px;
    left: -2px;
    padding: 0 9px;
    height: 25px;
    line-height: 25px;
    font-size: 17px;
    background: #62c1ce;
    color: #ffffff;
    font-weight: bold;
}
.box28 p {
    margin: 0; 
    padding: 0;
}


.box29 {
    margin: 2em 0;
    background: #f5f5f5;
}
.box29 .box-title {
    font-size: 1.2em;
    background: #000000;
    padding: 4px;
    text-align: center;
    color: #FFF;
    font-weight: bold;
    letter-spacing: 0.05em;
}
.box29 p {
    padding: 15px 20px;
    margin: 0;
	font-size: 1.3em;
}
.box30 {
    margin: 2em 0;
    background: #f1f1f1;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.22);
}
.box30 .box-title {
    font-size: 1.6em;
    background: #000;
    padding: 4px;
    text-align: center;
    color: #FFF;
    font-weight: bold;
    letter-spacing: 0.05em;
}
.box30 p {
    padding: 15px 20px;
    margin: 0;
	font-size: 1.2em;
}

/* -------------------------
    box
------------------------- */

.box{
    padding: 0px;
	width: 100%;
    height: auto;
}

.box1{
	background-image:url(../img/topimage.gif);
	background-position: center;
	background-size: cover;
	background-repeat: no-repeat;
	text-align: center;	
	height: 100vh;
}
.box1::before{
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  width: 100%;
  height: 100%;
  background: rgba(0,0,0, 0.3);
}
.box2{	
  	margin-top: 50px;
	width: 100%;
	height: auto;
	height: 100vh;
}

.box3 {
    margin-top: 50px;
	margin-bottom: 200px;
	width: 100%;
	height: auto;
	text-align: left;
	line-height: 3.0em;
	
}

.boxshadow{	
	width: 80%;
	 box-shadow: 0 10px 10px -10px rgba(53, 47, 47, 0.15);
	background: rgba(255,255,255,0.7);	
  text-align:center;
  padding:20px 0;
}


/* -------------------------
    cover
------------------------- */


.cover1 {
	 background: url(../img/bik_b.jpg);
	background-size: cover;
	position: relative;
	height:100%;	
}

 
.cover2 {
	background-image:url(../img/kei_car_b.jpg);
	background-size: cover;
	position: relative;
	height:100%;
}
.cover3 {
	background-image:url(../img/4t_b.jpg);
	background-size: cover;
	position: relative;
	height:100%;
}
.cover4 {
	background-image:url(../img/airservice_b.jpg);
	background-size: cover;
	position: relative;
	height:100%;
}

.cover1, .cover2, .cover3, .cover4 {
  float: left;
  width: 50%;
  height: 50vh;
  text-align:center;
	background-position: bottom;
}
.example {
    color: #ffffff;
	font-size: 3.0rem;
	margin-top: 100px;
	width: 100%;
	height: auto;
	text-align: center;	
	z-index: 1;
	text-shadow: 1px 2px 3px #808080; 

}
@media screen and (max-width:768px) {
	.example {
    color: #ffffff;
	font-size: 2.0rem;
	margin-top: 20px;
	width: 100%;
	height: auto;
	text-align: center;	
	z-index: 1;
	text-shadow: 1px 2px 3px #808080;
}
	
}
a,.example {
  display: inline-block;
  transition: .3s;
  -webkit-transform: scale(1);
  transform: scale(1);
}
a,.example:hover {
  -webkit-transform: scale(1.1);
	transform: scale(1.1);
}

@media screen and (max-width: 480px) {
.cover1, .cover2, .cover3, .cover4 {
  float: left;
  width: 100%;
  height: 25vh;
}
}
/*/////////////////////////////////////////////////
//連番リスト6
/////////////////////////////////////////////////*/

.count_6{
  counter-reset: chapter;
}

.count_6 li {
  background: #cde2e8;
  position: relative;
  margin-bottom: 20px;
  border-radius: 10px;
}

.count_6 li p{
  padding: 20px;
  margin: 0;
}

.count_6 li:nth-child(even) {
  background: #eee;
}

.count_6 li:before {
  content: "STEP " counter(chapter) ;
  counter-increment: chapter;
  display: block;
  padding:5px;
  text-align: center;
  text-decoration: none;
  color: #FFF;
  background: #30b0d8;
  font-weight: bold;
  z-index: 1;
  border-radius: 10px 10px 0 0;
  box-shadow: inset 0 2px 0 rgba(255,255,255,0.2), 0 2px 2px rgba(0, 0, 0, 0.19);
}

.count_6 li:after{
  content: "";
  position: absolute;
  bottom: -30px;
  left: 50%;
  margin-left: -15px;
  border: 15px solid transparent;
  border-top: 15px solid #cde2e8;
  z-index: 1;
}

.count_6 li:nth-child(even):after {
  border-top: 15px solid #eee;
}

.count_6 li.count_6-last:before,
.count_6 li.count_6-last::after {
  display: none;
}
/* 全体設定 */
* {
  box-sizing: border-box;
  }

/* ポップアップウインドウの設定 */
.popup {
  background-color: #efefef;
  box-shadow: 0 0 0 9999px rgba(0, 0, 0, .8);
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  margin: auto;
  width: 70vw;
  height: 55vw;
  overflow-y: scroll;
	z-index: 1000;
}
/* チェックボックスの初期設定 */
#popup-on{
  display: none;
}
/* チェックされたらポップアップウインドウを開く */
#popup-on:checked + .popup{
  display: block;
}

/* 閉じるアイコン（右上） */
.icon-close{
  background: #000;
  color: #fff;
  font-size: 30px;
  padding: 0 10px;
  position: absolute;
  right: 0;
}

/* 閉じるボタン */
.btn-close{
  background: #000;
  border-radius: 10px;
  color: #fff;
  padding: 10px;
  cursor: pointer;
  margin: 10px auto;
  width: 95%;
  text-align: center;
}

/* 開くボタン */
.btn-open{
  background: #fff;
  border-radius: 10px;
  color: #fff;
  padding: 10px;
  cursor: pointer;
  margin: 10px auto;
  width: 95%;
  text-align: center;
}

/* ポップアップの内容 */
.popup-content{
  margin: 40px auto 40px auto;
  width: 90%;
}
/* -------------------------
    shadow
------------------------- */
.card {
  box-shadow: 0 1rem 2rem hsl(0 0% 0% / 20%);
  
  background: hsl(0 0% 100%);
  color: hsl(200 50% 20%);
  line-height: 1.5;
  font-size: 1.5rem;
  font-weight: 300;
  width: 35vmin;
  height: 35vmin;
  display: flex;
  place-items: center;
  text-align: center;
  padding: 3ch;
  border-radius: 2ch;
  border: 1px solid hsl(0 0% 83%);
}
 
.better {
  box-shadow: 0 2.5rem 2rem -2rem hsl(200 50% 20% / 40%);
}


a.btn--green {
  color: #fff;
  background-color: #eb6877;
}

a.btn--green:hover {
  color: #fff;
  background: #eb6877;
}

a.btn--green.btn--cubic {
  border-bottom: 5px solid #e53b4e;
}

a.btn--green.btn--cubic:hover {
  margin-top: 3px;
  border-bottom: 2px solid #e53b4e;
}

a.btn-c {
  font-size: 2rem;
  position: relative;
  padding: 1.5rem 3rem 1.5rem 2rem;
  border-radius: 100vh;
}

a.btn-c i.fa {
  margin-right: 1rem;
}

a.btn-c:before {
  font-family: 'Font Awesome 5 Free';
  font-size: 1.6rem;
  line-height: 1;
  position: absolute;
  top: calc(50% - .8rem);
  right: 1rem;
  margin: 0;
  padding: 0;
  content: '\f054';
}


/* -------------------------
    btn2
------------------------- */


a.btn-border {
  border: 2px solid #000;
  border-radius: 0;
  background: #fff;

  -webkit-transform-style: preserve-3d;

  transform-style: preserve-3d;
}

a.btn-border:before {
  position: absolute;
  top: 0;
  left: 0;

  width: 15px;
  height: 100%;

  content: '';
  -webkit-transition: all .3s;
  transition: all .3s;
  -webkit-transform: translateX(0) translateY(0);
  transform: translateX(0) translateY(0);

  border-radius: 0 50% 50% 0;
  background: #000;
}

a.btn-border:hover:before {
  font-family: 'Font Awesome 5 Free';
  font-weight: bold;
  line-height: 30px;

  width: 30px;
  height: 30px;

  content: '\f061';
  -webkit-transform: translateX(460%) translateY(.5rem);
  transform: translateX(460%) translateY(.5rem);

  color: #fff;
  border-radius: 50%;
}





.btn-copy {
  font-size: 1.5rem;
  font-weight: bold;

  position: relative;

  margin-bottom: .2em;

  text-align: center;
}

.btn-copy:before {
  margin-right: 1rem;

  content: '＼';
}

.btn-copy:after {
  margin-left: 1rem;

  content: '／';
}
/* -------------------------
    btn個人
------------------------- */
*,
*:before,
*:after {
  -webkit-box-sizing: inherit;
  box-sizing: inherit;
}

html {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  font-size: 62.5%;
}

.btn,
a.btn,
button.btn {
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1.5;
  position: relative;
  display: inline-block;
  padding: 1rem 4rem;
  cursor: pointer;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  text-align: center;
  vertical-align: middle;
  text-decoration: none;
  letter-spacing: 0.1em;
  color: #212529;
  border-radius: 0.5rem;
}

/* -------------------------
    btn通常配送
------------------------- */
.btn-wrap-pc-sp {
  max-width: 435px;
  margin: 0 auto 20px;
}

a.btn-pc-sp {
  line-height: 1.4;

  width: 49.5%;
  padding: 1.25rem 0;

  color: #ffff;
}

a.btn--contact {
  display: block;
  padding: 1.5rem 0;
  color: #fff;
  background: #E88200;
  -webkit-box-shadow: 0 5px 0 #d2691e;
  box-shadow: 0 5px 0 #d2691e;
	width: 320px;
	height: 50px;
}
@media screen and (max-width: 480px) {
	a.btn--contact {
  display: block;
  padding: 1.5rem 0;
  color: #fff;
  background: #E88200;
  -webkit-box-shadow: 0 5px 0 #d2691e;
  box-shadow: 0 5px 0 #d2691e;
	width:90%;
	height: 50px;
}
}
a.btn--contact p{
	font-size: 14px;	
}

a.btn--contact i {
  font-size: 2rem;
}

a.btn--contact i.fa-position-left {
  font-size: 3rem;

  left: 2rem;
}

a.btn--contact :hover {
  color: #fff;
}

a.btn--tel {
  display: block;

  margin-top: 15px;
  padding: 1rem 0;

  color: #fff;
  background: #094;
  -webkit-box-shadow: 0 5px 0 #008039;
  box-shadow: 0 5px 0 #008039;
	width: 320px;
	height: auto;
}
@media screen and (max-width: 480px) {
	a.btn--tel {
  display: block;

  margin-top: 15px;
  padding: 1rem 0;

  color: #fff;
  background: #094;
  -webkit-box-shadow: 0 5px 0 #008039;
  box-shadow: 0 5px 0 #008039;
	width: 90%;
	height: auto;
}
	
}
a.btn--tel p{
	font-size: 14px;	
}
a.btn--tel i {
  font-size: 2rem;
}

a.btn--tel i.fa-position-left {
  font-size: 3rem;

  left: 2rem;
}

a.btn--tel .number {
  line-height: 1;

  display: inline-block;

  margin-top: 0.5rem;
  padding: 0.25rem 2rem;

  letter-spacing: 0;

  color: #094;
  border-radius: 0.5rem;
  background: #fff;
	font-size: 14px;
}

a.btn--tel:hover {
  color: #fff;
}

.fa-position-left {
  position: absolute;
  top: calc(50% - 0.5em);
  left: 1rem;
}

.fa-position-right {
  position: absolute;
  top: calc(50% - 0.5em);
  right: 1rem;
}

/* -------------------------
    btn_tel_end
------------------------- */



a.btn-c {
  font-size: 1.8rem;

  position: relative;

  padding: 1.5rem 2rem 1.5rem 2rem;

  color: #fff;
  border-radius: 100vh;
  background: #eb6877;
  -webkit-box-shadow: 0 5px 0 #e85163;
  box-shadow: 0 5px 0 #e85163;
}

a.btn-c span {
  color: #fff100;
}

a.btn-c small {
  font-weight: bold;
}

a.btn-c i {
  margin-right: 1rem;
}

a.btn-c:hover {
  -webkit-transform: translate(0, 3px);
  transform: translate(0, 3px);

  color: #fff;
  background: #ee7f8b;
  -webkit-box-shadow: 0 2px 0 #e85163;
  box-shadow: 0 2px 0 #e85163;
}


/* -------------------------
    Form
------------------------- */


.Form {
  margin-top: 80px;
  margin-left: auto;
  margin-right: auto;
  max-width: 720px;
}
@media screen and (max-width: 480px) {
  .Form {
    margin-top: 40px;
  }
}
.Form-Item {
  border-top: 1px solid #ddd;
  padding-top: 24px;
  padding-bottom: 24px;
  width: 100%;
  display: flex;
  align-items: center;
}
@media screen and (max-width: 480px) {
  .Form-Item {
    padding-left: 14px;
    padding-right: 14px;
    padding-top: 16px;
    padding-bottom: 16px;
    flex-wrap: wrap;
  }
}
.Form-Item:nth-child(5) {
  border-bottom: 1px solid #ddd;
}
.Form-Item-Label {
  width: 100%;
  max-width: 248px;
  letter-spacing: 0.05em;
  font-weight: bold;
  font-size: 18px;
}
@media screen and (max-width: 480px) {
  .Form-Item-Label {
    max-width: inherit;
    display: flex;
    align-items: center;
    font-size: 15px;
  }
}
.Form-Item-Label.isMsg {
  margin-top: 8px;
  margin-bottom: auto;
}
@media screen and (max-width: 480px) {
  .Form-Item-Label.isMsg {
    margin-top: 0;
  }
}
.Form-Item-Label-Required {
  border-radius: 6px;
  margin-right: 8px;
  padding-top: 8px;
  padding-bottom: 8px;
  width: 48px;
  display: inline-block;
  text-align: center;
  background: #5bc8ac;
  color: #fff;
  font-size: 14px;
}
@media screen and (max-width: 480px) {
  .Form-Item-Label-Required {
    border-radius: 4px;
    padding-top: 4px;
    padding-bottom: 4px;
    width: 32px;
    font-size: 10px;
  }
}
.Form-Item-Input {
  border: 1px solid #ddd;
  border-radius: 6px;
  margin-left: 40px;
  padding-left: 1em;
  padding-right: 1em;
  height: 48px;
  flex: 1;
  width: 100%;
  max-width: 410px;
  background: #eaedf2;
  font-size: 18px;
}
@media screen and (max-width: 480px) {
  .Form-Item-Input {
    margin-left: 0;
    margin-top: 18px;
    height: 40px;
    flex: inherit;
    font-size: 15px;
  }
}
.Form-Item-Textarea {
  border: 1px solid #ddd;
  border-radius: 6px;
  margin-left: 40px;
  padding-left: 1em;
  padding-right: 1em;
  height: 216px;
  flex: 1;
  width: 100%;
  max-width: 410px;
  background: #eaedf2;
  font-size: 18px;
}
@media screen and (max-width: 480px) {
  .Form-Item-Textarea {
    margin-top: 18px;
    margin-left: 0;
    height: 200px;
    flex: inherit;
    font-size: 15px;
  }
}
.Form-Btn {
  border-radius: 6px;
  margin-top: 32px;
  margin-left: auto;
  margin-right: auto;
  padding-top: 20px;
  padding-bottom: 20px;
  width: 280px;
  display: block;
  letter-spacing: 0.05em;
  background: #5bc8ac;
  color: #fff;
  font-weight: bold;
  font-size: 20px;
}
@media screen and (max-width: 480px) {
  .Form-Btn {
    margin-top: 24px;
    padding-top: 8px;
    padding-bottom: 8px;
    width: 160px;
    font-size: 16px;
  }
}


/* ~~ .button ~~ */
*,
*:before,
*:after {
  -webkit-box-sizing: inherit;
  box-sizing: inherit;
}

html {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  font-size: 62.5%;
}

.btn,
a.btn,
button.btn {
  font-size: 2.0rem;  
  font-weight: 800;
  line-height: 1.5;
  position: relative;
  display: inline-block;
  padding: 1rem 4rem;
  cursor: pointer;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  text-align: center;
  vertical-align: middle;
  text-decoration: none;
  letter-spacing: 0.1em;
  color: #212529;
  border-radius: 0.5rem;
  z-index: 99999;
}

a.btn-3d-flip {
  display: block;

  width: 120px;
  margin: 0 auto;
  padding: 0;

  -webkit-perspective: 440px;

  perspective: 440px;
}

a.btn-3d-flip:hover .btn-3d-flip-box {
  -webkit-transform: translateY(-50%) rotateX(90deg);
  transform: translateY(-50%) rotateX(90deg);
}

a.btn-3d-flip.btn-3d-flip2:hover .btn-3d-flip-box2 {
  -webkit-transform: translateX(-50%) rotateY(-90deg);
  transform: translateX(-50%) rotateY(-90deg);
}

.btn-3d-flip-box {
  position: relative;

  display: block;

  width: 100%;
  height: 100%;
  margin: auto;

  -webkit-transition: all 0.3s;

  transition: all 0.3s;
  -webkit-transform: rotateX(0);
  transform: rotateX(0);
  text-decoration: none;
  text-transform: uppercase;

  color: #fff;

  -webkit-transform-style: preserve-3d;

  transform-style: preserve-3d;
}

.btn-3d-flip-box2 {
  position: relative;

  display: block;

  width: 100%;
  height: 100%;
  margin: auto;

  -webkit-transition: all 0.3s;

  transition: all 0.3s;
  -webkit-transform: rotateY(0);
  transform: rotateY(0);
  text-decoration: none;
  text-transform: uppercase;

  color: #fff;

  -webkit-transform-style: preserve-3d;

  transform-style: preserve-3d;
}

.btn-3d-flip-box-face {
  display: block;
  position: relative;

  width: 100%;
  padding: 1.5rem 0;

  -webkit-transition: all 0.3s;

  transition: all 0.3s;

  color: #fff;

  -webkit-backface-visibility: hidden;

  backface-visibility: hidden;
}

.btn-3d-flip-box-face--front {
  background: #eb6100;
}

.btn-3d-flip-box-face--back {
  position: absolute;
  top: 100%;
  left: 0;

  -webkit-transform: translateY(-1px) rotateX(-90deg);

  transform: translateY(-1px) rotateX(-90deg);
  -webkit-transform-origin: 50% 0;
  transform-origin: 50% 0;

  background: #dc5b00;
}

.btn-3d-flip-box-face--front2 {
  color: #006666;
  border: 2px solid #006666;
  background: #fff;
  box-shadow:1px 2px 3px #808080;
}

.btn-3d-flip-box-face--back2 {
  position: absolute;
  top: 0;
  left: 100%;

  -webkit-transform: translateX(-1px) rotateY(90deg);

  transform: translateX(-1px) rotateY(90deg);
  -webkit-transform-origin: 0 0;
  transform-origin: 0 0;

  color: #fff;
  border: 2px solid #006666;
  background: #006666;
  box-shadow:1px 2px 3px #808080;
}

.fa-position-right {
  position: absolute;
  top: calc(50% - 0.5em);
  right: 1rem;
}
@media screen and (max-width: 480px) {
.btn,
a.btn,
button.btn {
  font-size: 1.4rem;
  font-weight: 800;
  line-height: 1.5;
  position: relative;
  display: inline-block;
  padding: 0.5rem 1rem;
  cursor: pointer;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -webkit-transition: all 0.1s;
  transition: all 0.2s;
  text-align: center;
  vertical-align: middle;
  text-decoration: none;
  letter-spacing: 0.1em;
  color: #212529;
  border-radius: 0.5rem;
}

a.btn-3d-flip {
  display: block;

  width: 100px;
  margin: 0 auto;
  padding: 0;

  -webkit-perspective: 200px;

  perspective: 200px;
}

a.btn-3d-flip:hover .btn-3d-flip-box {
  -webkit-transform: translateY(-50%) rotateX(90deg);
  transform: translateY(-50%) rotateX(90deg);
}

a.btn-3d-flip.btn-3d-flip2:hover .btn-3d-flip-box2 {
  -webkit-transform: translateX(-50%) rotateY(-90deg);
  transform: translateX(-50%) rotateY(-90deg);
}

.btn-3d-flip-box {
  position: relative;

  display: block;

  width: 100%;
  height: auto;
  margin: auto;

  -webkit-transition: all 0.2s;

  transition: all 0.2s;
  -webkit-transform: rotateX(0);
  transform: rotateX(0);
  text-decoration: none;
  text-transform: uppercase;

  color: #fff;

  -webkit-transform-style: preserve-3d;

  transform-style: preserve-3d;
}

.btn-3d-flip-box2 {
  position: relative;

  display: block;

  width: 100%;
  height: auto;
  margin: auto;

  -webkit-transition: all 0.1s;

  transition: all 0.2s;
  -webkit-transform: rotateY(0);
  transform: rotateY(0);
  text-decoration: none;
  text-transform: uppercase;

  color: #fff;

  -webkit-transform-style: preserve-3d;

  transform-style: preserve-3d;
}

.btn-3d-flip-box-face {
  display: block;
  position: relative;

  width: 100%;
  padding: 0.5rem 0;

  -webkit-transition: all 0.2s;

  transition: all 0.2s;

  color: #fff;

  -webkit-backface-visibility: hidden;

  backface-visibility: hidden;
}

.btn-3d-flip-box-face--front {
  background: #eb6100;
}

.btn-3d-flip-box-face--back {
  position: absolute;
  top: 100%;
  left: 0;

  -webkit-transform: translateY(-1px) rotateX(-90deg);

  transform: translateY(-1px) rotateX(-90deg);
  -webkit-transform-origin: 50% 0;
  transform-origin: 50% 0;

  background: #dc5b00;
}

.btn-3d-flip-box-face--front2 {
  color: #006666;
  border: 2px solid #006666;
  background: #fff;
}

.btn-3d-flip-box-face--back2 {
  position: absolute;
  top: 0;
  left: 100%;

  -webkit-transform: translateX(-1px) rotateY(90deg);

  transform: translateX(-1px) rotateY(90deg);
  -webkit-transform-origin: 0 0;
  transform-origin: 0 0;

  color: #fff;
  border: 2px solid #000;
  background: #006666;
}

.fa-position-right {
  position: absolute;
  top: calc(50% - 0.5em);
  right: 1rem;
}	
}
/* ~~ floating ~~ */

.floating {
	top:15%;
	right:5%;
	position: fixed;
	z-index: 1;
}
@media screen and (max-width: 480px) {
.floating {
	top:83%;
	right:3%;
	position: fixed;
	z-index: 1;
}
}

/*フラットなボタン５*/

a.btn-flat {
  overflow: hidden;

  padding: 1.5rem 6rem;

  color: #fff;
  border-radius: 0;
  background-color:rgba(255,255,255,0.3);  
  
}

a.btn-flat span {
  position: relative;
  z-index: 1;
}

a.btn-flat:before {
  position: absolute;
  top: 0;
  left: calc(-150% + 50px);

  width: 150%;
  height: 500%;

  content: '';
  -webkit-transition: all .5s ease-in-out;
  transition: all .5s ease-in-out;
  -webkit-transform: rotate(45deg) translateX(0) translateY(0);
  transform: rotate(45deg) translateX(0) translateY(0);

  background: #006666;
}

a.btn-flat:after {
  position: absolute;
  top: -400%;
  right: calc(-150% + 50px);

  width: 150%;
  height: 500%;

  content: '';
  -webkit-transition: all .5s ease-in-out;
  transition: all .5s ease-in-out;
  -webkit-transform: rotate(45deg) translateX(0) translateY(0);
  transform: rotate(45deg) translateX(0) translateY(0);

  background: #006666;
}

a.btn-flat:hover:before {
  -webkit-transform: rotate(45deg) translateX(0) translateY(-50%);
  transform: rotate(45deg) translateX(0) translateY(-50%);
}

a.btn-flat:hover:after {
  -webkit-transform: rotate(45deg) translateX(0) translateY(50%);
  transform: rotate(45deg) translateX(0) translateY(50%);
}


*,
*:before,
*:after {
  -webkit-box-sizing: inherit;
  box-sizing: inherit;
}

html {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  font-size: 62.5%;/*rem算出をしやすくするために*/
}

.btn_b,
a.btn_b,
button.btn_b {
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1.5;
  position: relative;
  display: inline-block;
  padding: 1rem 4rem;
  cursor: pointer;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  text-align: center;
  vertical-align: middle;
  text-decoration: none;
  letter-spacing: 0.1em;
  color: #212529;
  border-radius: 0.5rem;
}
a.btn_b-flat {
  overflow: hidden;
  padding: 1.5rem 6rem;
  color: #fff;
  border-radius: 0;
  background: #000;
}

a.btn_b-flat span {
  position: relative;
}

a.btn_b-flat:before {
  position: absolute;
  top: 0;
  left: 30px;
  width: 150%;
  height: 500%;
  content: '';
  -webkit-transition: all .5s ease-in-out;
  transition: all .5s ease-in-out;
  -webkit-transform: translateX(-98%) translateY(-70%) rotate(135deg);
  transform: translateX(-98%) translateY(-70%) rotate(135deg);
  background: #006666;
}

a.btn_b-flat:hover:before {
  -webkit-transform: translateX(-9%) translateY(-25%) rotate(135deg);
  transform: translateX(-9%) translateY(-25%) rotate(135deg);
}


/* -------------------------
    page-top 
------------------------- */
#pagetop {
 display:inline-block;
 position:fixed;
 bottom: 5px;
 right:0;
}
 
 
#pagetop a {
 padding:5px 5px;
 display:block;
 background:#666666;
 color:#fff;
 text-align:center;
}

/* ~~ floating ~~ */
.floating {
	top:50%;
	right:0;
	position: fixed;
	z-index: 1;
}
@media screen and (max-width: 480px) {
.floating {
	top:93%;
	right:25%;
	position: fixed;
	z-index: 1;
}
}
/* ~~ footer ~~ */
@media screen and (min-width:769px){
footer{
    width: 100%;
    background:#000;
    color: #fff;
    text-align: left;
	font-size:10px;
	margin: 0 auto;
	height: 50px;
	padding-top:10px;
	flex-direction: row;
		 }
	 }
	 
 @media screen and (max-width: 480px){
footer{
    width: 100%;
    background: #000;
    color: #fff;
    text-align: left;
	font-size:10px;
	margin: 0 auto;
	height: 50px;
	padding-top:10px;
	padding-bottom: 150px;
	flex-direction: row;
	 }
	}
	
/* 4カラム */
*, *:before, *:after {
	box-sizing: border-box;
}
.col_4{
	width: 100%;
	display: flex;
	display: -ms-flexbox; /* IE10 */
	flex-wrap: wrap;
	-ms-flex-wrap: wrap; /* IE10 */
background-color: #000000; /* 背景の色 */
color: #FFF; /* 文字の色 */
text-align: center; /* 内容は中央配置 */
}
.col_4 > div{
	width: 25%;
	padding: 10px;
}
@media screen and (max-width: 1090px) {
	.col_4 > div{
		width: 33.33333%;
	}
}
@media screen and (max-width: 480px) {
	.col_4 > div{
		width: 50%;
	}
	 }
/* 2カラム */
*, *:before, *:after {
	box-sizing: border-box;
}
.col_2{
	width: 100%;
	display: flex;
	display: -ms-flexbox; /* IE10 */
	flex-wrap: wrap;
	-ms-flex-wrap: wrap; /* IE10 */	
	overflow-wrap: break-word;
}
.col_2 > div{
	width: 50%;
	padding: 10px;
	display: flex;
  justify-content: center;
  align-items: center;
}
@media screen and (max-width: 640px) {
	.col_2 > div{
		width: 100%;
	}
}
/* 3カラム */
*, *:before, *:after {
	box-sizing: border-box;
}
.col_3{
	width: 100%;
	display: flex;
	display: -ms-flexbox; /* IE10 */
	flex-wrap: wrap;
	-ms-flex-wrap: wrap; /* IE10 */
background-color: #ffffff; /* 背景の色 */
color: #000000; /* 文字の色 */
text-align: center; /* 内容は中央配置 */
}
.col_3 > div{
	width: 33.33333%;
	padding: 10px;
}
@media screen and (max-width: 1090px) {
	.col_3 > div{
		width: 50%;
	}
}
@media screen and (max-width: 480px) {
	.col_3 > div{
		width: 100%;
	}
}
/* -------------------------
    フロー
------------------------- */
* {
  box-sizing: border-box;
}
body {
  min-height: 100vh;
  margin: 0;
  padding: 0;
  display: flex;
  justify-content: center;
  align-items: center;
}
ul {
  padding: 0;	
}
li {
  list-style-type: none;
}
dd {
  margin-left: 1%;
}

.flow > li {
  position: relative;
}
.flow > li:not(:last-child) {
  margin-bottom: 40px;
}
.flow > li:not(:first-child)::before {
  content: "";
  height: 60px;
  display: block;
  border-left: 4px dotted #e5e5e5;
  position: absolute;
  top: -40px;
  left: -webkit-calc(10% + 50px - 2px);
  left: calc(10% + 30px - 2px);
  z-index: 10;
}
.flow > li dl {
  width: 100%;
  padding: 20px 2px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  border: 2px solid rgb(107,144,219);
  border-radius: 10px;
  position: relative;
}
.flow > li:not(:last-child) dl::before,
.flow > li:not(:last-child) dl::after {
  content: "";
  border: solid transparent;
  position: absolute;
  top: 100%;
  left: 50%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
}
.flow > li:not(:last-child) dl::before {
  border-width: 22px;
  border-top-color: rgb(107,144,219);
}
.flow > li:not(:last-child) dl::after {
  border-width: 20px;
  border-top-color: #fff;
}
.flow > li dl dt {
  font-size: 18px;
  font-weight: 600;
  color: rgb(107,144,219);
  -ms-flex-preferred-size: 30%;
  flex-basis: 30%;
  margin-right: 2vw;
  text-align: center;
	}
@media screen and (max-width: 480px) {
.flow > li dl dt {
  font-size: 18px;
  font-weight: 600;
  color: rgb(107,144,219);
  -ms-flex-preferred-size: 30%;
  flex-basis: 150%;
  margin-right: 2vw;
  text-align: center;
	}
}
.flow > li dl dt .icon {
  font-size: 12px;
  color: #fff;
  background: rgb(107,144,219);
  background: -moz-linear-gradient(left, rgba(107,144,219,1) 0%, rgba(102,213,233,1) 100%);
  background: -webkit-linear-gradient(left, rgba(107,144,219,1) 0%,rgba(102,213,233,1) 100%);
  background: linear-gradient(to right, rgba(107,144,219,1) 0%,rgba(102,213,233,1) 100%);
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#6b90db', endColorstr='#66d5e9',GradientType=1 );
  padding: 5px 30px;
  margin-bottom: 10px;
  display: block;
  border-radius: 20px;
  position: relative;
  z-index: 100;
}

/* -------------------------
    個人用
------------------------- */
.contact-bg {
    background: #e4eeef;
    padding: 100px 0;
    margin:  auto 0;
}

.contact-message {
    text-align: center;
    font-size: 14px;
    line-height: 2;
    margin-bottom: 50px;
}

.message-notice {
    color: #c10811;
    font-size: 14px;
}

.essential {
    background: #c10811;
    color: #fafafa;
    font-size: 12px;
    padding: 0 10px;
    font-weight: normal;
    margin-left: 10px;
}

.contact-area {
    background: #fafafa;
    padding: 90px;
    margin: 100px auto;
    width: 1000px;
}

.contact-table {
    width: 100%;
}

.table-list {
    display: flex;
    justify-content: space-between;
    font-family: 'Noto Sans JP', sans-serif;
    letter-spacing: 0.05em;
    width: 100%;
    margin-bottom: 40px;
}

.table-list th {
    font-size: 13px;
    font-weight: bold;
    width: 250px;
    text-align: left;
}

.table-list-address {
    flex-wrap: wrap;
}

.table-list-address .input-area {
    margin-bottom: 10px;
}

.input-area {
    font-family: 'Noto Sans JP', sans-serif;
    letter-spacing: 0.05em;
    padding: 0 10px;
    border: none;
    width: 550px;
    height: 40px;
    box-sizing: border-box;
    border: 1px solid #c4c4c4;
}

.table-list td {
    font-size: 13px;
    width: calc(100% - 250px);
}

input::placeholder {
    color: #bfbfbf;
    font-size: 12px;
    font-weight: bold;
}

textarea {
    border: none;
    width: 550px;
    height: 200px;
    padding: 0;
    border: 1px solid #c4c4c4;
}

textarea::placeholder {
    color: #bfbfbf;
    font-size: 12px;
}

input[type="text"] {
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}

.contact-area .text {
    font-size: 13px;
    text-align: center;
    margin-bottom: 100px;
}

.contact-area .text a {
    color: #000;
    border-bottom: 1px solid #000;
    transition: all .3s;
}

.contact-area .text a:hover {
    border-bottom: 1px solid #777;
    padding-bottom: 5px;
    color: #777;
}

.submit-button {
    box-sizing: border-box;
    position: relative;
    display: block;
    margin: 30px auto 0;
    background-color: #e4eeef;
    cursor: pointer;
    border: 1px solid #e4eeef;
    color: #000;
    text-align: center;
    text-decoration: none;
    line-height: 1.5;
    outline: none;
    -webkit-transition: all .3s;
    transition: all .5s;
    padding: 20px 100px;
}

.submit-button:hover {
    background: #cae1e3;
    color: #000;
    border: 1px solid #cae1e3;
}


@media(max-width:1200px) {
    .contact-area {
        width: 80%;
        padding: 60px;
    }
}

@media(max-width:1024px) {
    .contact-area {
        padding: 50px 15px;
    }

    .table-list th {
        width: 180px;
    }

    .table-list td {
        width: 100%;
    }

    .input-area {
        width: 500px;
        height: 40px;
    }

    textarea {
        width: 500px;
        height: 200px;
    }
    .contact-message {
        margin-bottom: 30px;
    }

    .contact-area .text {
        margin-bottom: 30px;
    }
}


@media(max-width:834px) {
    .contact-bg {
        margin: 50px auto 0;
        padding: 50px 0;
    }

    .contact-area {
        margin: 50px auto;
        padding: 50px 20px;
    }

    .check-box label {
        width: 100%;
    }

    .input-area {
        width: 100%;
        height: 30px;
    }

    textarea {
        width: 100%;
        height: 200px;
    } 
    .table-list {
        flex-wrap: wrap;
        margin-bottom: 20px;
    }

    .table-list th {
        font-size: 12px;
        width: 200px;
        margin-bottom: 10px;
    }

    .table-list td {
        font-size: 12px;
    }

    .table-list td {
        width: 100%;
    }

    .contact-message {
        font-size: 13px;
    }

    .contact-area .text {
        font-size: 13px;
    }
}

@media (max-width:640px) {
    .contact-message {
        text-align: left;
    }

    .contact-area .text {
        text-align: left;
    }
}

@media(max-width:320px) {
    .input-area {
        width: 100%;
    }

    textarea {
        width: 100%;
    }

}




@media (min-width: 751px) {
a[href*="tel:"] {
pointer-events: none;
cursor: default;
text-decoration: none;
}
}