@charset "euc-jp";
/* 標準可変メディア
   メモ : 可変メディアでは、HTML からメディアの高さおよび幅の属性を削除する必要がある
   http://www.alistapart.com/articles/fluid-images/ 
*/
img, object, embed, video {
	max-width: 100%;
}
/* IE 6 では最大幅がサポートされていないため、デフォルトで幅 100% に設定される */
.ie6 img {
	width:100%;
}

a.white:link {
color : #ffffff; 
}
a.white:visited {
color : #ffffff; 
}
a.white:active {
text-decoration : underline; 
color : #ffffff; 
}
a.white:hover {
text-decoration : underline; 
color : #ffffff; 
}


.marker {
    background: linear-gradient(transparent 70%, #E7E4E4 70%);
    font-size: 20px;
    font-weight: lighter;
    text-align: center;
}

.main-visual {
   display: flex;
   justify-content:center;
   align-items: center;
   height:580px;
   background:url("../timee_img/cover.png")center / cover no-repeat;
   margin-top: 8.5vh;
}

.mainvisual-inner{
}

.main-visual img{
	width: 95%;
	margin: 0 auto;
	margin-top: 1.2vh;
}

.containers > .section {
    position: relative;
}
.containers > .section:nth-of-type(even)::before {
    position: absolute;
    top: 0px;
    left: calc(-50vw + 50%);
    right: calc(-50vw + 50%);
    bottom: 0px;
    z-index: -1;
    background-color:#f5f5f4;
    content: "";
}

.FlexContainer {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    align-content: flex-start;
    overflow: auto;
    flex-direction: row;
}

.FlexContainer div {
    margin: 20px;
		z-index: -2;
}

.FlexContainer2 {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items:flex-start;
    align-content: flex-start;
    overflow: auto;
    flex-direction: row;
	padding: 1em;
}

.FlexContainer2 div {
    width: 450px;
    margin: 10px;
}

.flex-item{
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	align-items: center;
}

.flex-item .item{
	flex:1 0 300px;
	margin: 40px 0 30px 0;
	text-align: center;
}


.point_ttl{
    font-weight: normal;
    font-size: 24px;
    text-align: center;
}


.kougobox {
  padding: 20px 0;
}

.kougoboxInner {
  width: 1000px;
  margin: 0 auto;
  display:flex;
  justify-content: space-between;
  align-items: center;
}

.text {
  width: 70%;
  padding: 20px;
  text-align: left;
}

.kougobox:nth-child(even) {

}
.kougobox:nth-child(even) .kougoboxInner {
  flex-direction: row-reverse;
}

.kougobox:nth-child(even) h2,
.kougobox:nth-child(even) .text {
  text-align: right;
}

.itembox_reft img {
    width: 46%;
  margin: 0;
  padding: 0;
  overflow: hidden;
  position: relative;
}

@media screen and (max-width: 640px) {
  body {
    width: 100%;
  }
  .kougobox {
   padding: 20px;
  }

  .kougoboxInner {
    width: 100%;
	flex-direction: column-reverse;
  }
	
  .text {
    width: 100%;
    padding: 0;
  }
  .pict {
    min-height: 0%;/* ie11用 */
    width: 100%;
    padding: 0;
    margin-bottom: 20px;
	text-align: center;
  }
  .pict img {
    width: 50%;
    height: auto;
  }

  .kougobox:nth-child(even) {
  }
  .kougobox:nth-child(even) .kougoboxInner {
    flex-direction: column-reverse;
  }

  .kougobox:nth-child(even) h2,
  .kougobox:nth-child(even) .text {
    text-align: left;
  }
 }

.parent {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
  align-items: center;
}

.parent .main-child {
  flex-basis: 0;
  flex-grow: 999;
  min-width: 50%;
}

.parent .sub-child{
  flex-basis: 15rem;
  flex-grow: 1;
  text-align: center;	
}

/*
	Dreamweaver 可変グリッドプロパティ
	----------------------------------
	dw-num-cols-mobile:		5;
	dw-num-cols-tablet:		8;
	dw-num-cols-desktop:	10;
	dw-gutter-percentage:	25;
	
	以下からヒントを入手 : Ethan Marcotte 氏の「レスポンシブ Web デザイン」 
	http://www.alistapart.com/articles/responsive-web-design
	
	および Joni Korpi 氏の「Golden Grid System」
	http://goldengridsystem.com/ 
*/

/* モバイルレイアウト : 480 px およびそれ以下. */

	.title {
		width: 100%;
		background-color: dimgray;
		padding: 5px 0px 3px 10px;
		color: #fff;
		font-weight: bold;
		text-align: left;
		font-size: 20px;
		margin: 0 0 10px 0;
	}
	
.clearfix {
  display: block;
  clear:both;
}
.br-sp {
	display: inline;
}
.pagereturn {
	width:100%;
	text-align:right;
	padding-right:10px;
	font-size:16px;
	margin:10px 0 0 0;
}
.main.col-lg-12.tab-content.topSync .allbox .sorry {
	background-color: antiquewhite;
	border: #0486E4 1px solid;
	font-size: large;
}

/*--------------------------------------
  カード型_01
--------------------------------------*/
/* カードレイアウト部分をラッピングし、
Flexboxを指定"space-between"で各アイテムを均等に配置し、
最初と最後のアイテムを端に寄せます。*/
#cardlayout-wrap {
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: justify;
    margin: 2em auto;
    max-width: 1200px;
    width: 100%;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: justify;
    justify-content: space-between;
	padding:0 0.5em 1.5em 0.5em;
}

/* リンクテキストの下線を非表示 */
a.card-link {
    text-decoration: none;
}

/* カードレイアウト内の画像を幅いっぱいに表示 */
#cardlayout-wrap img {
    display: block;
    max-width: 100%;
    height: auto;
}

.figure{
	padding: 0px;
}

.card-figure {
    margin-top: 0em;
    padding-top:2em;
}

.card-figure img{
	width: 100%;
	margin: 0 auto;
}

/* カードレイアウトを1カラムで配置 */
.card-list {
    margin: 0.5em auto;
    padding: 0;
    width: 96%;
    background: #fff;

}

/* カードレイアウトのタイトル部分 */
.productsList__name {
    font-size: 1em;
    font-weight: bold;
	text-align: center;
	padding:0.5%;
	margin:15px;
}

/* カードレイアウトのサブ説明文部分 */
.productsList__sub {
    font-size:0.9em;
	padding: 0 10%;
	margin-top: -30px;
	color:#B18F66;
}

/* カードレイアウトの説明文部分 */
.productsList__txt {
    font-size:0.8em;
	padding-bottom: 15px;
}


/* 画面幅768px以上の場合カードレイアウトを2カラムで配置 */
@media all and (min-width: 768px) {
    .card-list {
        margin: 0.5em 0;
        width: calc(96% / 2); /* 96%幅を2で割るという指定 */
    }
	
	.oneboximage {
	width: 100%;
	margin: 0 0 30px 0;
}
.oneboximage img {
	width: 100%;
}
}

/* 画面幅992px以上の場合カードレイアウトを3カラムで配置 */
@media all and (min-width: 992px) {
    .card-list {
        width: calc(96% / 3); /* 96%幅を3で割るという指定 */
}
    
/* 最後の行が3列より少ない場合左寄せにレイアウトさせる */
    #cardlayout-wrap::after{
        content: "";
        display: block;
        width: calc(96% / 3);
    }
}

/*==================================================
アコーディオンメニュー
===================================*/
*,
*::after,
*::before {
  box-sizing: border-box;
}

.accordion {
  width: 70%;
  max-width: 100%;
  margin: 0 auto;
}

/*------------------------------

ここからアコーディオンのCSS

------------------------------*/
/* チェックボックスは非表示 */
.accordion-hidden{
  display: none;
}

/* Question部分 */
.accordion-open {
  display: block;
  padding: 10px 50px 10px 40px;
  background: #fff;
  cursor: pointer;
  margin: 5px 0;
  font-weight: 100;
  position: relative;/* 変更部分 */
}

/* 開閉状態を示すアイコン+の作成 */
.accordion-open::before,
.accordion-open::after {
  content: '';
  width: 20px;
  height: 3px;
  background:#000;
  position: absolute;
  top: 50%;
  right: 5%;
  transform: translateY(-50%);
}

/* 一本は縦にして+を作る */
.accordion-open::after {
  transform: translateY(-50%) rotate(90deg);
  transition: .5s;
}

/* QとAのデザイン */
.accordion-open span,
.accordion-close span {
  display: flex;
  justify-content: center;
  align-items: center;
  width:30px;
  height:30px;
  background-color: #000;
  color: #fff;
  border-radius: 50%;
  position: absolute;
  text-align: center;
  font-weight: bold;
  left: 0;
  top: 6;
  padding-left: 4;
}

/* アコーディオンが開いたら縦棒を横棒にして-にする */
.accordion-hidden:checked + .accordion-open:after {
  transform: translateY(-50%) rotate(0);
}

/* Answer部分 */
.accordion-close {
  display: block;
  height: 0;/* 要素の高さは0 */
  overflow: hidden;/* 非表示 */
  padding: 0 0 0 60px;
  opacity: 0;
  transition: 0.5s;/* 表示速度の設定 */
  position: relative;
}

/* チェックボックスにチェックが入ったらAnswer部分を表示する */
.accordion-hidden:checked + .accordion-open + .accordion-close {
  height: auto;
  opacity: 1;
  padding: 10px 10px 10px 70px;
  font-weight: 200;
}

.accordion a{
	color: #007aff;
	text-decoration: underline;
	font-weight: 100;
}


articles {
	display: flex;
	flex-wrap: wrap;
	margin-bottom: 20px;
	padding: 20px;
	border-radius: 10px;
	box-sizing: border-box;
	border: solid 0.1px #D8D8D8;
	margin:1em 6em;
    background: #FFF;
}
	articles figure {
		margin-right: 20px;
		width: 100px;
		height: 100px;
    	padding-top: 10px;
	}

articles figure div {
	margin: 0 auto;
}
	
	articles figure img {
			min-width: 100px;
			max-width: 100%;
			vertical-align: top;
		}

.step-ttl{
	font-weight: bold;
	font-size: 18px;
}

/* トップへ戻るボタン */
#pagetop {
    position:fixed;
    bottom:10px;
    right:10px;
    color: #ffffff; /* 文字色 */
    font-size:0px;
    text-decoration:none;
    background: linear-gradient(
    -45deg,
    #fff 25%,
    #f4f4ed 25%, #f4f4ed 50%,
    #fff 50%, #fff 75%,
    #f4f4ed 75%, #f4f4ed
	);
	background-size: 0px 0px; 
	border-radius: 50%; /* ボタンの丸み */
	opacity: 1.0; /* ボタンの透明度 */
	z-index: 99;
}
/* トップへ戻るボタン：ホバー時 */
#pagetop:hover {
    color: #ffffff; /* 文字色 */
    opacity: 0.7; /* ボタンの透明度 */
}
#pagetop img {
 	width:50px; /* ボタンのサイズ */
 	height:50px;
}

a.anchor{
    display: block;
    padding-top: 80px;
    margin-top: -80px;
}

/*-----------------------------------------------------*/
/* スマホ用のCSS */
/*-----------------------------------------------------*/
@media screen and (max-width: 640px) {
   .pc-nav {
      display: none;
   }
	
   .sp-nav {
      z-index: 1;
      position: fixed;
      top: 0;
      left: 0;
      width: 100%;
      height: 100vh;
      display: block;
      width: 100%;
      background: rgba(0, 0, 0, .8);
      opacity: 0;
      transform: translateY(-100%);
      transition: all .2s ease-in-out;
   }
   #hamburger {
      position: relative;
      display: block;
      width: 30px;
      height: 25px;
      margin: 0 0 0 auto;
   }
   #hamburger span {
      position: absolute;
      top: 50%;
      left: 0;
      display: block;
      width: 100%;
      height: 2px;
      background-color: #fff;
      transform: translateY(-50%);
   }
   #hamburger::before {
      content: '';
      display: block;
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 2px;
      background-color: #fff;
   }
   #hamburger::after {
      content: '';
      display: block;
      position: absolute;
      bottom: 0;
      left: 0;
      width: 70%;
      height: 2px;
      background-color: #fff;
   }
   /*スマホメニュー*/
   .sp-nav ul {
      padding: 0;
      display: flex;
      flex-direction: column;
      justify-content: center;
      align-items: center;
      height: 100%;
   }
   .sp-nav li {
      margin: 0;
      padding: 0;
   }
   .sp-nav li span {
      font-size: 15px;
      color: #fff;
   }
   .sp-nav li a, .sp-nav li span {
      display: block;
      padding: 20px 0;
   }
   /*-閉じるアイコンー*/
   .sp-nav .close {
      position: relative;
      padding-left: 20px;
   }
   .sp-nav .close::before {
      content: '';
      position: absolute;
      top: 50%;
      left: 0;
      display: block;
      width: 16px;
      height: 1px;
      background: #fff;
      transform: rotate( 45deg );
   }
   .sp-nav .close::after {
      content: '';
      position: absolute;
      top: 50%;
      left: 0;
      display: block;
      width: 16px;
      height: 1px;
      background: #fff;
      transform: rotate( -45deg );
   }
   .toggle {
      transform: translateY( 0 );
      opacity: 1;
   }
   .main-visual {
      padding: 0 4%;
	  margin-top: 8vh;
   }
	
.mainvisual-inner{
}
	
a.btn_04 {
		width: 375px;
	}
	
.point_ttl{
	font-weight: normal;
	font-size: 15px;
}

	
.parent .sub-child img{
		width: 50%;
	}

   h2 {
      line-height: 1.6;
      text-align: center;
   }
	
.accordion {
  width: 95%;
  font-size: 11px;
	}
	
articles {
		margin: 0.5em 2em;
	}
	
articles figure {	
	margin: 0 auto;
	}
	
.flex-item .item{
	flex:1 0 300px;
	text-align: center;
}
	
.marker {
    background: linear-gradient(transparent 70%, #E7E4E4 70%);
    font-size: 18px;
    font-weight: normal;
    text-align: center;
}
	
}