@charset "UTF-8";

/*---------------------------------
  Google Fonts
---------------------------------*/
@import url('https://fonts.googleapis.com/css2?family=Sawarabi+Gothic&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100;300;400;500;700;900&display=swap');
@import url('https://fonts.googleapis.com/css2?family=M+PLUS+Rounded+1c:wght@100;300;400;500;700;800;900&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Hina+Mincho&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Kosugi&display=swap');

.Sawarabi { font-family: 'Sawarabi Gothic', sans-serif; }
.NotoSans { font-family: 'Noto Sans JP', sans-serif; }
.MPlusRounded { font-family: 'M PLUS Rounded 1c', sans-serif; }
.HinaMincho { font-family: 'Hina Mincho', serif; }
.Kosugi { font-family: 'Kosugi', sans-serif; }

/*---------------------------------
  表示・非表示（PC / TB / SP）
---------------------------------*/
.pconly {
	display: block;
}
.tbonly {
	display: block;
}
.sponly {
	display: none !important;
}
@media screen and (max-width: 1023px) {
.pconly {
	display: block;
}
.tbonly {
	display: block;
}
.sponly {
	display: none !important;
}
}
@media screen and (max-width: 767px) {
.pconly {
	display: none !important;
}
.tbonly {
	display: none !important;
}
.sponly {
	display: block;
}
}

/*---------------------------------
  html/bodyの設定
---------------------------------*/
html {
	font-size: 62.5%; /* 62.5%は10px */
}
body {
	color: #000000;
	background: #FFFFFF;
	font-family: 'Noto Sans JP', sans-serif;
}
@media screen and (max-width: 767px) {
html {
	font-size: 62.5%; /* 62.5%は10px */
}
body {
	color: #000000;
	background: #FFFFFF;
	font-family: 'Noto Sans JP', sans-serif;
}
}

/*---------------------------------
  画像
---------------------------------*/
#maincontentswrap01 img {
   vertical-align:bottom;
   pointer-events: none;
}
#maincontentswrap01 a img {
	border-style:none;
}
#maincontentswrap01 img {
	width:100%;
	height:auto;
	image-rendering: auto;
}
#maincontentswrap01 img[src$=".svg"] {
    width: 100%;
}

/*---------------------------------
  テキストリンク
---------------------------------*/
#maincontentswrap01 a:link {
	color:#003699;
	text-decoration:underline;
	transition: 1.0s ;
}
#maincontentswrap01 a:visited {
	color:#003699;
	text-decoration:underline;
	transition: 1.0s ;
}
#maincontentswrap01 a:active {
	color:#53a1d6;
	text-decoration:underline;
	transition: 1.0s ;
}
#maincontentswrap01 a:hover {
	color:#53a1d6;
	text-decoration:underline;
	transition: 1.0s ;
}

/*---------------------------------
  テキストリンク
---------------------------------*/
a:link {
	color: #3e484e;
	text-decoration: underline;
	transition: 1.0s ;
}
a:visited {
	color: #3e484e;
	text-decoration: underline;
	transition: 1.0s ;
}
a:hover {
	color: #3a3fac;
	text-decoration: underline;
	transition: 1.0s ;
}
a:active {
	color: #3e484e;
	text-decoration: underline;
	transition: 1.0s ;
}

/*---------------------------------
  テキスト頭揃え
---------------------------------*/
.indent01-01 {
	text-indent: -1em;
	padding: 0 0 0 1em;
}

/*---------------------------------
  注釈
---------------------------------*/
.annotation01 {
	font-size: 1.6rem;
	text-align: left;
	line-height: 180%;
	width: 90%;
	margin: 0 auto;
}
@media screen and (max-width: 767px) {
.annotation01 {
	font-size: 1.0rem;
	text-align: left;
	line-height: 140%;
	width: 90%;
	margin: 0 auto;
}
}

/*---------------------------------
  改行設定
---------------------------------*/
.break:before {
	content: "\A";
	white-space: pre;
}
.pcno-break:before {
	content: "";
	white-space: pre;
}
.spno-break:before {
	content: "\A";
	white-space: pre;
}
@media screen and (max-width: 767px) {
.break:before {
	content: "\A";
	white-space: pre;
}
.pcno-break:before {
	content: "\A";
	white-space: pre;
}
.spno-break:before {
	content: "";
	white-space: pre;
}
}

/*---------------------------------
  ローディング
---------------------------------*/
#splash {
	position: fixed;
	width: 100%;
	height: 100%;
	background:#3e484e;
	z-index: 999999;
	text-align:center;
	color:#fff;
}

#splash-logo {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
}

/* Loading アイコンの大きさ設定 */
#splash-logo img {
  width:30%;
}

/* fadeUpをするアイコンの動き */
.fadeUp{
animation-name: fadeUpAnime;
animation-duration:0.5s;
animation-fill-mode:forwards;
opacity: 0;
}

@keyframes fadeUpAnime{
  from {
    opacity: 0;
  transform: translateY(100px);
  }

  to {
    opacity: 1;
  transform: translateY(0);
  }
}

/*画面遷移アニメーション*/

.splashbg1,
.splashbg2{
	display: none;
}

body.appear .splashbg1,
body.appear .splashbg2{
	display:block;
}

/*右に消えるエリア*/
body.appear .splashbg1{
	animation-name:PageAnime;
	animation-duration:1.2s;
	animation-timing-function:ease-in-out;
	animation-fill-mode:forwards;
    content: "";
    position:fixed;
	z-index: 999;
    width: 100%;
    height: 100vh;
    top: 0;
	left:50%;
    transform: scaleX(1);
    background-color:#3e484e;/*伸びる背景色の設定*/
}

@keyframes PageAnime{
	0% {
		transform-origin:left;
		transform:scaleX(1);
	}
	50% {
		transform-origin:right;
	}
	100% {
		transform-origin:right;
		transform:scaleX(0);
	}
}

/*左に消えるエリア*/
body.appear .splashbg2{
	animation-name:PageAnime2;
	animation-duration:1.2s;
	animation-timing-function:ease-in-out;
	animation-fill-mode:forwards;
    content: "";
    position:fixed;
	z-index: 999;
    width: 100%;
    height: 100vh;
    top: 0;
	right:50%;
    transform: scaleX(1);
    background-color:#3e484e;/*伸びる背景色の設定*/
}

@keyframes PageAnime2{
	0% {
		transform-origin:right;
		transform:scaleX(1);
	}

	50% {
		transform-origin:left;
	}
	100% {
		transform-origin:left;
		transform:scaleX(0);
	}
}

/*画面遷移の後現れるコンテンツ設定*/
#wrapper{
	opacity: 0;/*はじめは透過0に*/
}

/*bodyにappearクラスがついたら出現*/
body.appear #wrapper{
	animation-name:PageAnimeAppear;
	animation-duration:1s;
	animation-delay:0.2s;
	animation-fill-mode:forwards;
	opacity: 0;
}

@keyframes PageAnimeAppear{
	0% {
	opacity: 0;
	}
	100% {
	opacity: 1;
}
}
@media screen and (max-width: 767px) {
/* Loading アイコンの大きさ設定 */
#splash-logo img {
  width:50%;
}
}

/*---------------------------------
  メインコンテンツ
---------------------------------*/
#maincontentswrap01 {
	width: 100%;
	padding: 90px 0 0;
}
#contentswrap01 {
	width: 100%;
	margin: 0 auto;
}
#contentswrap02 {
	width: 100%;
	margin: 0 auto;
	background: #FFFFFF;
	padding: 30px 0 0;
}
@media screen and (max-width: 767px) {
#maincontentswrap01 {
	width: 100%;
	padding: 50px 0 0;
}
#contentswrap01 {
	width: 100%;
	margin: 0 auto;
}
#contentswrap02 {
	width: 100%;
	margin: 0 auto;
	background: #FFFFFF;
	padding: 30px 0 0;
}
}

/*---------------------------------
  ヘッダー
---------------------------------*/
#headwrap01 {
	width: 100%;
	background: #FFFFFF;
	padding: 12px 0;
	position: fixed;
	z-index: 888;
}
#headwrap02 {
	width: 1300px;
	margin: 0 auto;
	display: table;
}
.headinner01 {
	display: table-cell;
	width: auto;
	vertical-align: middle;
	font-size: 1.6rem;
	font-weight: 600;
}
.headinner01 img {
	width: 100% !important;
}
.headinner01:nth-child(1) {
	width: 364px;
}
.headinner01:nth-child(2) {
	text-align: right;
}
.headinner01 ul {
	display: block;
}
.headinner01 ul li {
	display: inline-block;
	padding: 0 30px 0 0;
	vertical-align: middle;
}
.headinner01 ul li:last-child {
	padding: 0;
}
.headinner01 ul li img {
	width: 48px !important;
}
#headwrap01 a:link {
	display: inline-block;
	color: #3e484e;
	text-decoration: none;
	transform: translateY(0px);
	transition: 0.8s;
}
#headwrap01 a:visited {
	color: #3e484e;
	text-decoration: none;
}
#headwrap01 a:hover {
	color: #FFFFFF;
	text-shadow: 2px 2px 5px #3e484e,
				-2px 2px 5px #3e484e,
				 2px -2px 5px #3e484e,
				-2px -2px 5px #3e484e;
	text-decoration: none;
	transform: translateY(2px);
	opacity: 0.8;
}
#headwrap01 a:active {
	color: #3e484e;
	text-decoration: none;
}
@media screen and (max-width: 767px) {
#headwrap01 {
	width: 100%;
	background: #FFFFFF;
	padding: 12px 10px;
	position: fixed;
	z-index: 888;
}
#headwrap02 {
	width: 100%;
	margin: 0 auto;
	display: table;
}
.headinner01 {
	display: table-cell;
	width: auto;
	vertical-align: middle;
	font-size: 1.6rem;
	font-weight: 600;
}
.headinner01 img {
	width: 40% !important;
}
.headinner01:nth-child(1) {
	width: auto;
}
.headinner01:nth-child(2) {
	text-align: center;
}
.headinner01 ul {
	display: block;
}
.headinner01 ul li {
	display: block;
	padding: 0;
	vertical-align: middle;
}
.headinner01 ul li:last-child {
	padding: 0;
}
.headinner01 ul li img {
	width: 48px !important;
}
#headwrap01 a:link {
	display: inline-block;
	color: #FFFFFF;
	text-decoration: none;
	transform: translateY(0px);
	transition: 0.8s;
}
#headwrap01 a:visited {
	color: #FFFFFF;
	text-decoration: none;
	transition: 1.0s;
}
#headwrap01 a:hover {
	color: #FFFFFF;
	text-shadow: 2px 2px 5px #3e484e,
				-2px 2px 5px #3e484e,
				 2px -2px 5px #3e484e,
				-2px -2px 5px #3e484e;
	text-decoration: none;
	transform: translateY(0px);
	opacity: 0.8;
}
#headwrap01 a:active {
	color: #FFFFFF;
	text-decoration: none;
	transition: 1.0s;
}
}


/*---------------------------------
  スマホナビ
---------------------------------*/
#g-nav{
    /*position:fixed;にし、z-indexの数値を大きくして前面へ*/
    position: fixed;
    z-index: 999;
    /*ナビのスタート位置と形状*/
	top:-120%;
    left:0;
	width:100%;
    height: 100vh;/*ナビの高さ*/
	background:#3e484e;
	opacity: 1.00;
    /*動き*/
	transition: all 0.6s;
}

/*アクティブクラスがついたら位置を0に*/
#g-nav.panelactive{
    top: 0;
}

/*ナビゲーションの縦スクロール*/
#g-nav.panelactive #g-nav-list{
    /*ナビの数が増えた場合縦スクロール*/
    position: fixed;
    z-index: 999; 
    width: 100%;
    height: 100vh;/*表示する高さ*/
    overflow: auto;
    -webkit-overflow-scrolling: touch;
}

/*ナビゲーション*/
#g-nav ul {
    /*ナビゲーション天地中央揃え*/
    position: absolute;
    z-index: 999;
    top:50%;
    left:50%;
    transform: translate(-50%,-50%);
}

/*リストのレイアウト設定*/

#g-nav li{
	list-style: none;
    text-align: center; 
}

#g-nav li a{
	color: #FFFFFF;
	text-decoration: none;
	padding:10px;
	display: block;
	text-transform: uppercase;
	letter-spacing: 0.1em;
	font-size: 2rem;
	font-weight: bold;
}

/*========= ボタンのためのCSS ===============*/
.openbtn{
	position:fixed;
    z-index: 9999;/*ボタンを最前面に*/
	top: -5px;
	right: -5px;
	cursor: pointer;
    width: 65px;
    height:65px;
}
	
/*×に変化*/	
.openbtn span{
    display: inline-block;
    transition: all .4s;
    position: absolute;
    left: 14px;
    height: 3px;
    border-radius: 2px;
	background-color: #3e484e;
  	width: 40%;
  }

.openbtn span:nth-of-type(1) {
	top:15px;	
}

.openbtn span:nth-of-type(2) {
	top:23px;
}

.openbtn span:nth-of-type(3) {
	top:31px;
}

.openbtn span:nth-of-type(3):after {
	content: "MENU";
	display: block;
	font-size: 8px !important;
	color: #3e484e;
	text-align: center;
	margin: 5px 0 0;
}

.openbtn.active span {
	background-color: #FFFFFF;
}
.openbtn.active span:nth-of-type(1) {
    top: 18px;
    left: 18px;
    transform: translateY(6px) rotate(-45deg);
    width: 30%;
}

.openbtn.active span:nth-of-type(2) {
	opacity: 0;
}

.openbtn.active span:nth-of-type(3) {
    top: 30px;
    left: 18px;
    transform: translateY(-6px) rotate(45deg);
    width: 30%;
}

.openbtn.active span:nth-of-type(3):after {
	content: "CLOSE";
	display: block;
    transform: translateX(15px) translateY(20px) rotate(-45deg);
	color: #FFFFFF;
	text-align: center;
	margin: -12px 0 0 -10px;
}
@media screen and (min-width: 768px) {
#g-nav{
	display: none !important;
    /*position:fixed;にし、z-indexの数値を大きくして前面へ*/
    position: fixed;
    z-index: 999;
    /*ナビのスタート位置と形状*/
	top:-120%;
    left:0;
	width:100%;
    height: 100vh;/*ナビの高さ*/
	background:#3e484e;
	opacity: 1.00;
    /*動き*/
	transition: all 0.6s;
}
.openbtn{
	display: none !important;
	position:fixed;
    z-index: 9999;/*ボタンを最前面に*/
	top:5px;
	right: 10px;
	cursor: pointer;
    width: 50px;
    height:50px;
}
}

/*---------------------------------
  メインビジュアル（動画）
---------------------------------*/
#mainvisualwrap01 {
	position: relative;/*h1の中央寄せ配置の起点とするためのrelative*/
    height: 100vh;/*高さを全画面にあわせる*/
}

#video-area{
    position: fixed;
    z-index: -1;/*最背面に設定*/
    top: 0;
    right:0;
    left:0;
    bottom:0;
    overflow: hidden;
}

#video {
    /*天地中央配置*/
    position: absolute;
    z-index: -1;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    /*縦横幅指定*/
    width: 177.77777778vh; /* 16:9 の幅→16 ÷ 9＝ 177.77% */
    height: 56.25vw; /* 16:9の幅 → 9 ÷ 16 = 56.25% */
    min-height: 100%;
    min-width: 100%;
}

/*見出し設定*/
h1{
	width: 300px;
    /*要素の配置*/
    position:absolute;
    /*要素を天地中央寄せ*/
    top: 50%;
    left: 50%;
    transform: translateY(-50%) translateX(-50%);
    /*見た目の調整*/
    color:#fff;
    text-shadow: 0 0 15px #666;
}
@media screen and (max-width: 767px) {
#mainvisualwrap01 {
	position: relative;/*h1の中央寄せ配置の起点とするためのrelative*/
    height: 100vh;/*高さを全画面にあわせる*/
}

#video-area{
    position: fixed;
    z-index: -1;/*最背面に設定*/
    top: 0;
    right:0;
    left:0;
    bottom:0;
    overflow: hidden;
}

#video {
    /*天地中央配置*/
    position: absolute;
    z-index: -1;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    /*縦横幅指定*/
    width: 177.77777778vh; /* 16:9 の幅→16 ÷ 9＝ 177.77% */
    height: 56.25vw; /* 16:9の幅 → 9 ÷ 16 = 56.25% */
    min-height: 100%;
    min-width: 100%;
}

/*見出し設定*/
h1{
	width: 30%;
    /*要素の配置*/
    position:absolute;
    /*要素を天地中央寄せ*/
    top: 50%;
    left: 50%;
    transform: translateY(-50%) translateX(-50%);
    /*見た目の調整*/
    color:#fff;
    text-shadow: 0 0 15px #666;
}
}


/*---------------------------------
  メインビジュアル（画像）
---------------------------------*/
#mainvisualwrap02 {
	display: block;
}
#mainvisualwrap02 img {
	display: block;
	width: 100%;
	height: auto;
}
@media screen and (max-width: 767px) {
#mainvisualwrap02 {
	display: block;
}
#mainvisualwrap02 img {
	display: block;
	width: 100%;
	height: auto;
}
}

/*---------------------------------
  光るテキスト
---------------------------------*/
.glowAnime span{opacity: 0;}
.glowAnime.glow span{ animation:glow_anime_on 1s ease-out forwards; }
@keyframes glow_anime_on{
	0% { opacity:0; text-shadow: 0 0 0 #fffb9b,0 0 0 #fffb9b; }
	50% { opacity:1;text-shadow: 0 0 10px #fffb9b,0 0 15px #fffb9b; }
	100% { opacity:1; text-shadow: 0 0 0 #fffb9b,0 0 0 #fffb9b; }
}

/*---------------------------------
  コンテンツ（共通）
---------------------------------*/
.contentswrap01 {
	width: 100%;
	padding: 0 0 60px;
}
.contentswrap01:last-child {
	padding: 0;
}
.contentswrap01:after {
	content: "";
	clear: both;
	display: block;
}
.contentswrap01 img {
	display: block;
	width: 100%;
	height: auto;
}
.contentsinner01 {
	width: 1000px;
	margin: 0 auto;
	padding: 0 0 30px;
	font-size: 1.8rem;
}
.contentsinner01:last-child {
	padding: 0;
}
.contentsinner01:after {
	content: "";
	clear: both;
	display: block;
}
@media screen and (max-width: 767px) {
.contentswrap01 {
	width: 100%;
	padding: 0 0 30px;
}
.contentswrap01:last-child {
	padding: 0;
}
.contentswrap01:after {
	content: "";
	clear: both;
	display: block;
}
.contentswrap01 img {
	display: block;
	width: 100%;
	height: auto;
}
.contentsinner01 {
	width: 96%;
	margin: 0 auto;
	padding: 0 0 15px;
	font-size: 1.2rem;
}
.contentsinner01:last-child {
	padding: 0;
}
.contentsinner01:after {
	content: "";
	clear: both;
	display: block;
}
}

/*---------------------------------
  マウス
---------------------------------*/
#mousewrap {
	width: 41px;
	margin: 0 auto 60px;
}
.bound {
  animation: key .3s ease infinite alternate;
}
@keyframes key {
  0% {transform: translateY(0px);}
  100% {transform: translateY(-10px);}
}
@media screen and (max-width: 767px) {
#mousewrap {
	width: 5%;
	margin: 0 auto 30px;
}
.bound {
  animation: key .3s ease infinite alternate;
}
}

/*---------------------------------
  コンテンツディテール
---------------------------------*/
.contentsdetailwrap01 {
	width: 80%;
	float: right;
	display: flex;
	flex-flow: row wrap;
	justify-content:center;
	align-items:center;
}
.contentsdetailwrap02 {
	width: 80%;
	float: right;
	display: flex;
	flex-flow: row wrap;
	justify-content:center;
	align-items:start;
}
.contentsdetailinner01 {
}
.contentsdetailinner01:nth-child(1) {
	width: 70%;
	order: 2;
}
.contentsdetailinner01:nth-child(2) {
	width: 30%;
	order: 1;
	padding: 0 2% 0 0;
}
.contentsdetailinner02 {
}
.contentsdetailinner02:nth-child(1) {
	width: 30%;
	order: 1;
	padding: 0 2% 0 0;
}
.contentsdetailinner02:nth-child(2) {
	width: 70%;
	order: 2;
}
@media screen and (max-width: 767px) {
.contentsdetailwrap01 {
	width: 100%;
	float: none;
	display: block;
	flex-flow: row wrap;
	justify-content:center;
	align-items:center;
}
.contentsdetailwrap02 {
	width: 100%;
	float: none;
	display: block;
	flex-flow: row wrap;
	justify-content:center;
	align-items:start;
}
.contentsdetailinner01 {
}
.contentsdetailinner01:nth-child(1) {
	width: 100%;
	order: 1;
}
.contentsdetailinner01:nth-child(2) {
	width: 96%;
	order: 2;
	padding: 15px 2% 0;
}
.contentsdetailinner02 {
}
.contentsdetailinner02:nth-child(1) {
	width: 96%;
	order: 1;
	padding: 0 2% 15px;
}
.contentsdetailinner02:nth-child(2) {
	width: 96%;
	order: 2;
	padding: 0 2%;
}
}

/*---------------------------------
  タイトル
---------------------------------*/
.contentstitlewrap01 {
	padding: 0 0 80px;
}
.contentstitle01 {
	display: block;
	font-size: 12.6rem;
	font-weight: 500;
	color: #1e3d50;
	white-space: nowrap;
	font-family: 'Hina Mincho', serif;
}
.contentstitle01sub {
	padding: 0 0 60px;
	margin: 0;
	border-bottom: 1px solid #c1c1c1;
}
.contentstitle01sub span:nth-child(5) {
	font-size: 3.4rem !important;
	padding: 0 0 0 1em !important;
}
.contentstitle01sub span:nth-child(6) {
	font-size: 3.4rem !important;
}
.contentstitle01sub span:nth-child(7) {
	font-size: 3.4rem !important;
}
.contentstitle01sub span:nth-child(8) {
	font-size: 3.4rem !important;
}
.contentstitle01sub span:nth-child(9) {
	font-size: 3.4rem !important;
}
.contentstitle01sub span:nth-child(10) {
	font-size: 3.4rem !important;
}
.contentstitle01sub span:nth-child(11) {
	font-size: 3.4rem !important;
}
.contentstitle01sub span:nth-child(12) {
	font-size: 3.4rem !important;
}
.contentstitle01sub span:nth-child(13) {
	font-size: 3.4rem !important;
}
.contentstitle01sub span:nth-child(14) {
	font-size: 3.4rem !important;
}
.contentssubtitle01 {
	display: block;
	font-size: 1.8rem;
	font-weight: 600;
	font-family: 'Hina Mincho', serif;
}
.contentssmalltitle01 {
	display: block;
	font-size: 1.6rem;
	font-weight: 600;
	position: relative;
}
.contentssmalltitle01:after {
	content: "";
	display: block;
	position: absolute;
	left: -40px;
	bottom: -35%;
	width: 100%;
	height: 30px;
	border-bottom: 1px solid #000000;
	border-right: 1px solid #000000;
	transform: skew(55deg);
	transition: 1.0s;
}
@media screen and (max-width: 767px) {
.contentstitlewrap01 {
	padding: 0 0 20px;
}
.contentstitle01 {
	display: block;
	font-size: 4.6rem;
	font-weight: 500;
	color: #1e3d50;
	white-space: nowrap;
	font-family: 'Hina Mincho', serif;
}
.contentstitle01sub {
	padding: 0 0 30px;
	margin: 0 0 15px;
	border-bottom: 1px solid #c1c1c1;
}
.contentstitle01sub span:nth-child(5) {
	font-size: 2.0rem !important;
	padding: 0 0 0 1em !important;
}
.contentstitle01sub span:nth-child(6) {
	font-size: 2.0rem !important;
}
.contentstitle01sub span:nth-child(7) {
	font-size: 2.0rem !important;
}
.contentstitle01sub span:nth-child(8) {
	font-size: 2.0rem !important;
}
.contentstitle01sub span:nth-child(9) {
	font-size: 2.0rem !important;
}
.contentstitle01sub span:nth-child(10) {
	font-size: 2.0rem !important;
}
.contentstitle01sub span:nth-child(11) {
	font-size: 2.0rem !important;
}
.contentstitle01sub span:nth-child(12) {
	font-size: 2.0rem !important;
}
.contentstitle01sub span:nth-child(13) {
	font-size: 2.0rem !important;
}
.contentstitle01sub span:nth-child(14) {
	font-size: 2.0rem !important;
}
.contentssubtitle01 {
	display: block;
	font-size: 1.2rem;
	font-weight: 600;
	font-family: 'Hina Mincho', serif;
}
.contentssmalltitle01 {
	display: block;
	font-size: 1.2rem;
	font-weight: 600;
	position: relative;
}
.contentssmalltitle01:after {
	content: "";
	display: block;
	position: absolute;
	left: -5%;
	bottom: -35%;
	width: 100%;
	height: 20px;
	padding: 0 2%;
	border-bottom: 1px solid #000000;
	border-right: 1px solid #000000;
	transform: skew(55deg);
	transition: 1.0s;
}
}

/*---------------------------------
  事業内容ボタン（棒付き矢印）
---------------------------------*/
#guidebtnwrap01 {
}
#guidebtnwrap01 a:link {
	display: table;
	margin: 0 auto;
	padding: 6% 4% 30%;
	border: 1px solid #c1c1c1;
	font-size: 1.6rem;
	position: relative;
	text-decoration: none;
	color: #000000;
	transition: 1.0s;
}
#guidebtnwrap01 a:link:after {
	content: "";
	display: block;
	position: absolute;
	left: -100px;
	bottom: 30%;
	width: 200px;
	height: 30px;
	border-bottom: 1px solid #c1c1c1;
	border-right: 1px solid #c1c1c1;
	transform: skew(55deg);
	transition: 1.0s;
}
#guidebtnwrap01 a:visited {
	display: table;
	margin: 0 auto;
	padding: 6% 4% 30%;
	border: 1px solid #c1c1c1;
	font-size: 1.6rem;
	position: relative;
	text-decoration: none;
	color: #000000;
	transition: 1.0s;
}
#guidebtnwrap01 a:visited:after {
	content: "";
	display: block;
	position: absolute;
	left: -100px;
	bottom: 30%;
	width: 200px;
	height: 30px;
	border-bottom: 1px solid #c1c1c1;
	border-right: 1px solid #c1c1c1;
	transform: skew(55deg);
	transition: 1.0s;
}
#guidebtnwrap01 a:hover {
	display: table;
	margin: 0 auto;
	padding: 6% 4% 30%;
	border: 1px solid #3e484e;
	font-size: 1.6rem;
	position: relative;
	text-decoration: none;
	color: #FFFFFF;
	background: #3e484e;
	transition: 1.0s;
}
#guidebtnwrap01 a:hover:after {
	content: "";
	display: block;
	position: absolute;
	left: -80px;
	bottom: 30%;
	width: 200px;
	height: 30px;
	border-bottom: 1px solid #FFFFFF;
	border-right: 1px solid #FFFFFF;
	transform: skew(55deg);
	transition: 1.0s;
}
#guidebtnwrap01 a:active {
	display: table;
	margin: 0 auto;
	padding: 6% 4% 30%;
	border: 1px solid #3e484e;
	font-size: 1.6rem;
	position: relative;
	text-decoration: none;
	color: #FFFFFF;
	background: #3e484e;
	transition: 1.0s;
}
#guidebtnwrap01 a:active:after {
	content: "";
	display: block;
	position: absolute;
	left: -80px;
	bottom: 30%;
	width: 200px;
	height: 30px;
	border-bottom: 1px solid #FFFFFF;
	border-right: 1px solid #FFFFFF;
	transform: skew(55deg);
	transition: 1.0s;
}
.stickarrow {
  width: 300px;
  height: 40px;
  border-bottom: 1px solid #c1c1c1;
  border-right: 1px solid #c1c1c1;
  transform: skew(55deg);
}
@media screen and (max-width: 767px) {
#guidebtnwrap01 {
}
#guidebtnwrap01 a:link {
	display: table;
	margin: 0 auto;
	padding: 6% 2% 12%;
	border: 1px solid #c1c1c1;
	font-size: 1.2rem;
	position: relative;
	text-decoration: none;
	color: #000000;
	transition: 1.0s;
}
#guidebtnwrap01 a:link:after {
	content: "";
	display: block;
	position: absolute;
	left: -50px;
	bottom: 15%;
	width: 120px;
	height: 20px;
	border-bottom: 1px solid #c1c1c1;
	border-right: 1px solid #c1c1c1;
	transform: skew(55deg);
	transition: 1.0s;
}
#guidebtnwrap01 a:visited {
	display: table;
	margin: 0 auto;
	padding: 6% 2% 12%;
	border: 1px solid #c1c1c1;
	font-size: 1.2rem;
	position: relative;
	text-decoration: none;
	color: #000000;
	transition: 1.0s;
}
#guidebtnwrap01 a:visited:after {
	content: "";
	display: block;
	position: absolute;
	left: -50px;
	bottom: 15%;
	width: 120px;
	height: 20px;
	border-bottom: 1px solid #c1c1c1;
	border-right: 1px solid #c1c1c1;
	transform: skew(55deg);
	transition: 1.0s;
}
#guidebtnwrap01 a:hover {
	display: table;
	margin: 0 auto;
	padding: 6% 2% 12%;
	border: 1px solid #3e484e;
	font-size: 1.2rem;
	position: relative;
	text-decoration: none;
	color: #FFFFFF;
	background: #3e484e;
	transition: 1.0s;
}
#guidebtnwrap01 a:hover:after {
	content: "";
	display: block;
	position: absolute;
	left: -50px;
	bottom: 15%;
	width: 120px;
	height: 20px;
	border-bottom: 1px solid #FFFFFF;
	border-right: 1px solid #FFFFFF;
	transform: skew(55deg);
	transition: 1.0s;
}
#guidebtnwrap01 a:active {
	display: table;
	margin: 0 auto;
	padding: 6% 2% 12%;
	border: 1px solid #3e484e;
	font-size: 1.2rem;
	position: relative;
	text-decoration: none;
	color: #FFFFFF;
	background: #3e484e;
	transition: 1.0s;
}
#guidebtnwrap01 a:active:after {
	content: "";
	display: block;
	position: absolute;
	left: -50px;
	bottom: 15%;
	width: 120px;
	height: 20px;
	border-bottom: 1px solid #FFFFFF;
	border-right: 1px solid #FFFFFF;
	transform: skew(55deg);
	transition: 1.0s;
}
.stickarrow {
  width: 300px;
  height: 40px;
  border-bottom: 1px solid #c1c1c1;
  border-right: 1px solid #c1c1c1;
  transform: skew(55deg);
}
}

/*---------------------------------
  お知らせ
---------------------------------*/
#newswrap01 {
	width: 60%;
	margin: 0 auto;
	font-size: 1.4rem;
	line-height: 160%;
}
#newswrap01 li {
	width: 96%;
	margin: 0 0 10px;
	padding: 0 2% 10px;
	border-bottom: 1px solid #e4e4e4;
}

.newsbox01 { width:60%; margin:0 auto; background:#FFFFFF; height:auto; min-height:200px; max-height:420px;/*height:330px;*/ overflow:auto; -webkit-overflow-scrolling: touch; }
.newsbox02 { width:96%; margin:0 auto; padding:0; line-height:180%; }
@media screen and (max-width: 767px) {
#newswrap01 {
	width: 100%;
	margin: 0 auto;
	font-size: 1.2rem;
	line-height: 160%;
}
#newswrap01 li {
	width: 96%;
	margin: 0 0 10px;
	padding: 0 2% 10px;
	border-bottom: 1px solid #e4e4e4;
}
.newsbox01 { width:98%; margin:0 auto; background:#FFFFFF; height:150px; overflow:auto; -webkit-overflow-scrolling: touch; font-size:10px !important; }
.newsbox02 { width:96%; margin:0 auto; padding-bottom:10px; line-height:140%; }
}

/*---------------------------------
  フッター
---------------------------------*/
#footer {
	width: 100%;
	margin: 0 auto;
	padding: 30px 0 0;
	font-size: 1.6rem;
	line-height: 180%;
}
#footerwrap01 {
	width: 100%;
	position: relative;
}
#footerwrap02 {
	width: 1000px;
	margin: 0 auto;
	padding: 80px 0 20px;
}
#footerwrap02 img {
	width: 360px;
}
#footerwrap03 {
	width: 1000px;
	margin: 0 auto;
	padding: 0 0 10px;
}
#footerwrap04 {
	width: 1000px;
	display: flex;
	margin: 0 auto;
	padding: 0 0 10px;
	flex-flow: row wrap;
	justify-content:center;
	align-items:flex-start;
}
#footerwrap04 ul {
	width: auto;
	padding: 0 100px 0 0;
}
#footerwrap04 ul:last-child {
	padding: 0;
}
#footerwrap04 ul li:first-child {
	font-size: 2.0rem;
	font-weight: 600;
}
#footerwrap04 ul img {
	display: block;
	width: 234px;
	height: auto;
}
#footerwrap04 ul img a {
	display: block;
}
#footerimgwrap01 {
	width: 100%;
}
#footerimgwrap01 img {
	width: 668px;
	max-width: 100%;
	opacity: 0.3;
	position: relative;
	z-index: 778;
}
#footerimgbg01 {
	content: "";
	display: block;
	width: 100%;
	height: 60px;
	background: #e4e4e4;
	opacity: 1.0;
	position: absolute;
	bottom: -40px;
	z-index: 777;
}
#copyright {
	display: block;
	margin: 20px auto 0;
	font-size: 1.4rem;
	color: #FFFFFF;
	background: #0c3b55;
	text-align: center;
	padding: 0.3em 0.8em;
}
@media screen and (max-width: 767px) {
#footer {
	width: 100%;
	margin: 0 auto;
	padding: 30px 0 0;
	font-size: 1.2rem;
	line-height: 180%;
	text-align: center;
}
#footerwrap01 {
	width: 100%;
	position: relative;
}
#footerwrap02 {
	width: 60%;
	margin: 0 auto;
	padding: 60px 0 20px;
}
#footerwrap02 img {
	width: 100%;
}
#footerwrap03 {
	width: 100%;
	margin: 0 auto;
	padding: 0 0 10px;
}
#footerwrap04 {
	width: 100%;
	display: block;
	margin: 0 auto;
	padding: 0 0 10px;
	flex-flow: row wrap;
	justify-content:center;
	align-items:start;
}
#footerwrap04 ul {
	width: auto;
	padding: 0 0 10px;
}
#footerwrap04 ul:last-child {
	padding: 0;
}
#footerwrap04 ul li:first-child {
	font-size: 1.6rem;
	font-weight: 600;
}
#footerwrap04 ul img {
	display: block;
	width: 50%;
	margin: 0 auto;
	height: auto;
}
#footerwrap04 ul img a {
	display: block;
}
#footerimgwrap01 {
	width: 100%;
}
#footerimgwrap01 img {
	width: 80%;
	max-width: 100%;
	opacity: 0.3;
	position: relative;
	z-index: 778;
}
#footerimgbg01 {
	content: "";
	display: block;
	width: 100%;
	height: 60px;
	background: #e4e4e4;
	opacity: 1.0;
	position: absolute;
	bottom: -40px;
	z-index: 777;
}
#copyright {
	display: block;
	margin: 20px auto 0;
	font-size: 1.2rem;
	color: #FFFFFF;
	background: #0c3b55;
	text-align: center;
	padding: 0.3em 0.8em;
}
}

/*---------------------------------
  会社概要ページ
---------------------------------*/
ul.history01 {
	display: block;
}
ul.history01 li {
	width: 100%;
	display: -webkit-flex;
    display: flex;
}
ul.history01 li p {
}
ul.history01 li p:nth-child(1) {
	min-width: 4em;
	text-align: right;
	padding: 0 1em 0 0;
}

ul.access01 {
	width: 100%;
	padding: 0 0 40px;
	line-height: 160%;
}
ul.access01 li {
	display: block;
	padding: 0 0 20px;
}
ul.access01 li:last-child {
	padding: 0;
}
ul.access01 li iframe {
	width: 100%;
	height: 500px;
}
@media screen and (max-width: 767px) {
ul.history01 {
	display: block;
}
ul.history01 li {
	width: 100%;
	display: -webkit-flex;
    display: flex;
}
ul.history01 li p {
}
ul.history01 li p:nth-child(1) {
	min-width: 4em;
	text-align: right;
	padding: 0 1em 0 0;
}

ul.access01 {
	width: 100%;
	padding: 0 0 40px;
	line-height: 160%;
}
ul.access01 li {
	display: block;
	padding: 0 0 20px;
}
ul.access01 li:last-child {
	padding: 0;
}
ul.access01 li iframe {
	width: 100%;
	height: 300px;
}
}

/*---------------------------------
  事業内容ページ
---------------------------------*/
.guidedetailwrap01 {
	width: 32%;
	float: left;
	margin: 0 2% 4% 0;
	font-family: 'Kosugi', sans-serif;
}
.guidedetailwrap01:nth-child(3n) {
	width: 32%;
	margin: 0 0 4% 0;
}
.guidedetailtitle01 {
	padding: 2% 2% 4% 2%;
	margin: 0 0 15px;
	font-size: 2.4rem;
	font-weight: 500;
	background: url("../guide/img/arrowbg.svg") no-repeat;
	background-position: bottom left;
	background-size: 60% auto;
}
@media screen and (max-width: 767px) {
.guidedetailwrap01 {
	width: 32%;
	float: left;
	margin: 0 2% 4% 0;
	font-family: 'Kosugi', sans-serif;
}
.guidedetailwrap01:nth-child(3n) {
	width: 32%;
	margin: 0 0 4% 0;
}
.guidedetailtitle01 {
	padding: 2% 2% 4% 2%;
	margin: 0 0 10px;
	font-size: 1.2rem;
	font-weight: 500;
	background: url("../guide/img/arrowbg.svg") no-repeat;
	background-position: bottom left;
	background-size: 80% auto;
}
}

/*---------------------------------
  お問い合わせページ
---------------------------------*/
#statuswrap {
	width: 495px;
	margin: 0 auto;
	padding: 20px 0 40px;
}
.catchwrap01 { display: table; margin: 0 auto; padding: 0 0 40px; text-align: center; font-size: 1.8rem; line-height: 160%; }
#contactwrap01 {
	width: 100%;
	margin: 0 auto;
}
.require {
	color: #1e3d50;
}
.contactbuttonwrap01 { width: 824px; margin: 0 auto; padding: 0 0 56px; }
.contactbuttonwrap01:after { content:""; display:block; clear:both; }
.contactbuttoninner01 { width: 392px; float: left; }
.contactbuttoninner01:nth-child(2) { float: right; }

.contactattentionwrap01 { width: 85%; margin: 0 auto; padding: 30px 0 0; }

.formcontentsinner01 p.requisite { color: #FFFFFF; background: #ff3100; padding: 2px; }
.formcontentsinner01 p.optional { color: #464646; background: #d8d8d8; padding: 2px; }

.formwrap01 { display: block; padding: 0 0 50px; }

.formlist01 { display: table-cell; width: 7em; }
.formlist01:nth-child(2) { width: auto; }

ul.formlist02 li { display: block; margin: 0 0 10px; }
ul.formlist02 li:last-child { margin: 0; }

p.selectlist01 { width: auto; display: inline-block; padding: 0 1em 0 0; }
p.selectlist02 { width: 15%; display: inline-block; }
p.dateselect01 { padding: 0 0 5px 10px; }
p.dateselect01:last-child { padding: 0 0 0 10px; }
p.dateselect02 { padding: 0; }

.formattention01 { text-align: center; font-size: 16px; line-height: 160%; }

.formattentionwrap01 { display: block; border: 1px solid #d8d8d8; background: #FFFFFF; font-size: 11px; line-height: 180%; }

.formattentioninner01 { display: block; overflow-y: auto; min-height: 100px; max-height: 150px; padding: 2%; }
.formattentioninner02 { display: block; padding: 0 0 20px; }
.formattentioninner02:last-child { padding: 0; }

input { width:98%; padding:5px 1%; margin:0; border:1px solid #d8d8d8; }
input.textbox01 { width:50%; padding:8px 1%; margin:0; border:1px solid #d8d8d8; }
select {
	width:27%;
	padding:8px 1%;
	margin:0;
	border:1px solid #d8d8d8;
	appearance: menulist;
  -webkit-appearance: menulist;
  -moz-appearance: menulist;
  -o-appearance: menulist;
}
select.date { width:22%; padding:8px 1%; margin:0 0 0 2%; border:1px solid #d8d8d8; }
input.namebox { width:30%; padding:5px 1%; border:1px solid #d8d8d8; }
input#zip { width:18%; padding:8px 1%; border:1px solid #d8d8d8; }
input.addr { width:50%; padding:8px 1%; border:1px solid #d8d8d8; }
.number01 { width:3em; padding:8px 1%; border:1px solid #d8d8d8; display: inline-block; }
.number02 { width:100px !important; padding:8px 1%; border:1px solid #d8d8d8; display: inline-block; }
textarea { width:98%; height:200px; padding:8px 1%; margin:0; border:1px solid #d8d8d8; }
textarea.freetext01 { width:98%; height:30px; padding:8px 1%; margin:0; border:1px solid #d8d8d8; }
.ex { display:inline-block; }

input.checkbox{
	display: none;
}
label{
	display: inline-block;
	position: relative;
	cursor: pointer;
	margin: 3px 0 0;
	text-indent: 0;
	padding:0 0 0 25px;
	border-radius: 1%;
	font-size: 16px;
	text-align: left;
	line-height: 1.3;
	vertical-align:top;
}
label:before{
	position: absolute;
	content: "";
	top: 10px;
	left: 0;
	width: 16px;
	height: 16px;
	margin-top: -10px;
	background: #ffffff;
	border-radius: 5%;
	border:1px solid #d8d8d8;
}
input[type="radio"]:checked + label:after {
	content: "";
	display: block;
	position: absolute;
	top: -1px;
	left: 5px;
	width: 6px;
	height: 12px;
	transform: rotate(40deg);
	border-bottom: 3px solid #3e484e;
	border-right: 3px solid #3e484e;
}

input[type="checkbox"]:checked + label:after {
	content: "";
	display: block;
	position: absolute;
	top: -1px;
	left: 5px;
	width: 6px;
	height: 12px;
	transform: rotate(40deg);
	border-bottom: 3px solid #3e484e;
	border-right: 3px solid #3e484e;
}
label[for="email_1"]{
	display: inline-block;
	position: relative;
	cursor: auto;
	margin-left: 0;
	text-indent: 0;
	padding:0;
	border-radius: 1%;
	font-size: 14px;
	text-align: left;
	line-height: 1.3;
	vertical-align:top;
}
label[for="email_1"]:before{
	display: none;
	position: absolute;
	content: "";
	top: 9px;
	left: 0;
	width: 16px;
	height: 16px;
	margin-top: -10px;
	background: #ffffff;
	border-radius: 5%;
	border:1px solid #d8d8d8;
}
label[for="emailConfirm_1"]{
	display: inline-block;
	position: relative;
	cursor: auto;
	margin-left: 0;
	text-indent: 0;
	padding:0;
	border-radius: 1%;
	font-size: 14px;
	text-align: left;
	line-height: 1.3;
	vertical-align:top;
}
label[for="emailConfirm_1"]:before{
	display: none;
	position: absolute;
	content: "";
	top: 9px;
	left: 0;
	width: 16px;
	height: 16px;
	margin-top: -10px;
	background: #ffffff;
	border-radius: 5%;
	border:1px solid #d8d8d8;
}
.pplist01 { padding: 0 0 0 1em; }
ul.check01 { width:100%; display:block; text-align: center; padding: 30px 0 15px; }
ul.check01 li {
	width:100%;
	display:block;
	background: none;
	padding: 0.5em 0 1em;
	margin: 0;
}
ul.check02 { width:100%; display:block; text-align: left; }
ul.check02 li {
	width:auto;
	display:inline-block;
	padding: 0 1em 0 0;
}
ul.check03 { width:100%; display:block; text-align: left; }
ul.check03 li {
	width:auto;
	display:inline-block;
	padding: 0 1em 0 0;
}
label[for=consent01] {
	display: block;
	font-size: 16px;
	width: 56%;
	text-align: center;
	margin: 15px auto 0;
}
.ppattentiontext01 { width: 100%; display: block; font-size: 14px; line-height: 160%; margin: 0 auto; /*color: #d70000;*/ }

#privacywrap01 { display: block; border: 1px solid #ededed; padding: 20px; margin: 30px 0 0; line-height: 160%; }
#privacywrap02 { display: block; height: 200px; overflow-y: scroll; -webkit-overflow-scrolling: touch; }
#privacywrap02 ul { display: block; padding: 0 1em 1em; }
#privacywrap02 ul:last-child { padding: 0 1em; }
@media all and (-ms-high-contrast: none) {
label{
	display: inline-block;
	position: relative;
	cursor: pointer;
	margin-left: 0;
	text-indent: 0;
	padding:0 0 0 25px;
	border-radius: 1%;
	font-size: 14px;
	text-align: left;
	line-height: 1.3;
	vertical-align:top;
}
label:before{
	position: absolute;
	content: "";
	top: 7px;
	left: 0;
	width: 16px;
	height: 16px;
	margin-top: -10px;
	background: #ffffff;
	border-radius: 5%;
	border:1px solid #d8d8d8;
}
input[type="radio"]:checked + label:after {
	position: absolute;
	content: "";
	top: -3px;
	left: 5px;
	width: 6px;
	height: 12px;
	transform: rotate(40deg);
	border-bottom: 3px solid #3e484e;
	border-right: 3px solid #3e484e;
}

input[type="checkbox"]:checked + label:after {
	content: "";
	display: block;
	position: absolute;
	top: -3px;
	left: 5px;
	width: 6px;
	height: 12px;
	transform: rotate(40deg);
	border-bottom: 3px solid #3e484e;
	border-right: 3px solid #3e484e;
}
}

#attentionbox01 {
	font-size:24px;
	font-weight:600;
	margin: 0 auto 50px;
	display: block;
	text-align: center;
	line-height: 140%;
	color: #437820;
}

#attentionbox02 {
	width: 98%;
	font-size:20px;
	font-weight:bold;
	margin: 0 auto 50px;
	display: block;
	text-align: center;
	line-height: 140%;
}

#attentionbox03 {
	width: 98%;
	font-size:20px;
	font-weight:bold;
	margin: 0 auto 50px;
	display: block;
	text-align: center;
	line-height: 140%;
	color: #e60012;
}

.buttonbox01 { width:392px; margin:0 auto; padding:15px 0 0 0; }
.buttonbox01 img { width:100%; height:auto; }
.buttonbox01 input { width:392px; height:auto; padding:0; margin:0; border:none; }
.buttonbox02 { width:100%; margin:0 auto; padding:15px 0 0 0; zoom:1; }
.buttonbox02:after { content:""; display:block; clear:both; }
.buttonbox02 img { width:100%; height:auto; }
.buttonbox03 { width:392px; margin: 0 auto;}
.buttonbox03:nth-child(2) { margin: 20px auto 0; }
.buttonbox03 input { width:392px; height:auto; padding:0; margin:0; border:none; }

input.button { border:none; padding:0; margin:0; }

/* 項目調整用 */
.listitem01 { letter-spacing:3em; }
.listitem02 { letter-spacing:1em; }
@media screen and (max-width: 767px) {
#statuswrap {
	width: 80%;
	margin: 0 auto;
	padding: 0 0 20px;
}
.catchwrap01 { display: table; margin: 0 auto; padding: 0 0 20px; text-align: center; font-size: 1.2rem; line-height: 160%; }
#contactwrap01 {
	width: 96%;
	margin: 0 auto;
}
.require {
	color: #1e3d50;
}
.contactbuttonwrap01 { width: 100%; margin: 0 auto; padding: 0 0 15px; }
.contactbuttonwrap01:after { content:""; display:block; clear:both; }
.contactbuttoninner01 { width: 100%; float: none; padding: 0 0 15px; }
.contactbuttoninner01:nth-child(2) { float: none; padding: 0; }

.contactattentionwrap01 { width: 98%; margin: 0 auto; padding: 15px 0 0; }

.formwrap01 { display: block; padding: 0 0 20px; }

.formlist01 { display: table-cell; width: 7em; }
.formlist01:nth-child(2) { width: auto; }

.formcontentsinner01 p.requisite { color: #FFFFFF; background: #ff3100; padding: 2px; }
.formcontentsinner01 p.optional { color: #464646; background: #d8d8d8; padding: 2px; }

.formcontentsinner01 p.selectlist { width: 100%; display: block; }

.formattention01 { text-align: center; font-size: 12px; line-height: 160%; }

.formattentionwrap01 { display: block; border: 1px solid #d8d8d8; background: #FFFFFF; font-size: 11px; }

.formattentioninner01 { display: block; overflow-y: auto; min-height: 100px; max-height: 150px; padding: 2%; }
.formattentioninner02 { display: block; padding: 0 0 20px; }
.formattentioninner02:last-child { padding: 0; }

p.selectlist01 { width: 100%; display: block; }
p.selectlist02 { width: 100%; display: block; }
p.dateselect01 { width: 100%; padding: 0 0 5px 10px; }
p.dateselect01:last-child { padding: 0 0 0 10px; }
p.dateselect02 { padding: 0; }

input { width:98%; display:block; padding:6px 1%; margin:0; border:1px solid #d8d8d8; }
input.textbox01 { width:50%; padding:6px 1%; margin:0; border:1px solid #d8d8d8; }
select {
	width:32%;
	padding:6px 1%;
	margin:0;
	border:1px solid #d8d8d8;
	appearance: menulist;
  -webkit-appearance: menulist;
  -moz-appearance: menulist;
  -o-appearance: menulist;
}
select.date { width:22%; padding:8px 1%; margin:0 0 0 2%; border:1px solid #d8d8d8; display: inline-block; }
input.namebox { width:30%; padding:6px 1%; border:1px solid #d8d8d8; }
input#zip { width:20%; padding:6px 1%; border:1px solid #d8d8d8; }
input.addr { width:50%; padding:6px 1%; border:1px solid #d8d8d8; }
.number01 { width:3em; padding:8px 1%; border:1px solid #d8d8d8; display: inline-block; }
.number02 { width:25%; padding:8px 1%; border:1px solid #d8d8d8; display: inline-block; }
textarea { width:98%; height:200px; padding:6px 1%; margin:0; border:1px solid #d8d8d8; }
textarea.freetext01 { width:98%; height:30px; padding:6px 1%; margin:0; border:1px solid #d8d8d8; }
.ex { display:block; }


input.checkbox{
	display: none;
}
label{
	display: inline-block;
	position: relative;
	cursor: pointer;
	margin: 0;
	text-indent: 0;
	padding:0 0 0 25px;
	border-radius: 1%;
	font-size: 12px;
	text-align: left;
	line-height: 1.3;
	vertical-align:middle;
}
label:before{
	position: absolute;
	content: "";
	top: 9px;
	left: 0;
	width: 16px;
	height: 16px;
	margin-top: -10px;
	background: #ffffff;
	border-radius: 5%;
	border:1px solid #d8d8d8;
}
input[type="radio"]:checked + label:after {
	position: absolute;
	content: "";
	top: 50%;
	left: 6px;
	width: 6px;
	height: 6px;
	margin-top: -4px;
	border-radius: 50%;
	background: #dd747d;
}

input[type="checkbox"]:checked + label:after {
	content: "";
	display: block;
	position: absolute;
	top: -1px;
	left: 5px;
	width: 6px;
	height: 12px;
	transform: rotate(40deg);
	border-bottom: 3px solid #dd747d;
	border-right: 3px solid #dd747d;
}
label[for="email_1"]{
	display: inline-block;
	position: relative;
	cursor: auto;
	margin-left: 0;
	text-indent: 0;
	padding:0;
	border-radius: 1%;
	font-size: 14px;
	text-align: left;
	line-height: 1.3;
	vertical-align:top;
}
label[for="email_1"]:before{
	display: none;
	position: absolute;
	content: "";
	top: 9px;
	left: 0;
	width: 16px;
	height: 16px;
	margin-top: -10px;
	background: #ffffff;
	border-radius: 5%;
	border:1px solid #d8d8d8;
}
label[for="emailConfirm_1"]{
	display: inline-block;
	position: relative;
	cursor: auto;
	margin-left: 0;
	text-indent: 0;
	padding:0;
	border-radius: 1%;
	font-size: 14px;
	text-align: left;
	line-height: 1.3;
	vertical-align:top;
}
label[for="emailConfirm_1"]:before{
	display: none;
	position: absolute;
	content: "";
	top: 9px;
	left: 0;
	width: 16px;
	height: 16px;
	margin-top: -10px;
	background: #ffffff;
	border-radius: 5%;
	border:1px solid #d8d8d8;
}
.pplist01 { padding: 0 0 0 1em; }
ul.check01 { width:100%; display:block; text-align: center; padding: 15px 0; }
ul.check01 li {
	width:100%;
	display:block;
	background: none;
	padding: 0.5em 0 1em;
	margin: 0;
}
ul.check02 { width:100%; display:block; text-align: left; }
ul.check02 li {
	width:auto;
	display:block;
	padding: 0;
}
ul.check03 { width:100%; display:block; text-align: left; }
ul.check03 li {
	width:auto;
	display:inline-block;
	padding: 0 1em 0 0;
}
label[for=consent01] {
	display: block;
	font-size: 12px;
	width: 84%;
	text-align: center;
	margin: 15px auto 0;
}
.ppattentiontext01 { width: 98%; display: block; font-size: 12px; line-height: 160%; margin: 0 auto; /*color: #d70000;*/ }

#privacywrap01 { display: block; border: 1px solid #ededed; padding: 20px; margin: 30px 0 0; }
#privacywrap02 { display: block; height: 200px; overflow-y: scroll; -webkit-overflow-scrolling: touch; }
#privacywrap02 ul { display: block; padding: 0 1em 1em; }
#privacywrap02 ul:last-child { padding: 0 1em; }


#attentionbox01 {
	font-size:16px;
	font-weight:600;
	margin: 0 auto 15px;
	display: block;
	text-align: center;
	line-height: 140%;
	color: #437820;
}

#attentionbox02 {
	width:94%;
	font-size:14px;
	font-weight:bold;
	margin: 0 auto 15px;
	display: block;
	text-align: center;
	line-height: 140%;
}

#attentionbox03 {
	width:94%;
	font-size:14px;
	font-weight:bold;
	margin: 0 auto 15px;
	display: block;
	text-align: center;
	line-height: 140%;
	color: #e60012;
}

.buttonbox01 { width:40%; height:auto; margin:0 auto; padding:10px 0 0 0; text-align:center; }
.buttonbox01 img { width:100%; height:auto; }
.buttonbox01 input { width:100%; height:auto; padding:0; margin:0; border:none; }
.buttonbox02 { width:100%; margin:0 auto; padding:10px 0 0 0; text-align:center; }
.buttonbox02 img { width:100%; height:auto; }
.buttonbox03 { width:40%; height:auto; margin:0 auto 15px; display:block; float:none; text-align:center; }
.buttonbox03:nth-child(2) { width:40%; height:auto; margin:0 auto; display:block; float:none; }
.buttonbox03 img { width:100%; height:auto; }
.buttonbox03 input { width:100%; height:auto; padding:0; margin:0; border:none; }

.button { width:100%; height:auto; -moz-border-radius:0; -webkit-border-radius:0; border-radius:0; padding:0 !important; }

/* 項目調整用 */
.listitem01 { letter-spacing:3em; }
.listitem02 { letter-spacing:1em; }
}

/*---------------------------------
  共通リスト
---------------------------------*/
table.tablelist01 { width: 100%; line-height: 160%; }
table.tablelist01 tr { border-bottom: 1px solid #d4d4d4; }
table.tablelist01 tr:first-child { border-top: 1px solid #d4d4d4; }
table.tablelist01 td { padding: 1.5em 1em; vertical-align: top; }
table.tablelist01 td:nth-child(1) { width: 28%; /*background: #ededed;*/ font-weight: 700; text-align: left; }
table.tablelist01 td:nth-child(2) { width: auto; border-right: 1px solid #d4d4d4; }
table.tablelist01 td:last-child { width: auto; border-right: none; }

.textspace01 { padding: 0 0 0 3em; }

.tablelistunderwrap01 { width: 80%; margin: 30px auto 0; }

.listwrap01 { width: 100%; padding: 30px 0 0; }
.listwrap01 ul { width: 100%; display: table; }
.listwrap01 ul li { width: 31.33333333333333%; padding: 2%; display: table-cell; }
@media screen and (min-width: 0px) and (max-width: 768px)  {
table.tablelist01 { width: 100%; line-height: 160%; }
table.tablelist01 tr { border-bottom: none; }
table.tablelist01 tr:first-child { border-top: none; }
table.tablelist01 td { display: block; padding: 0.5em 1em; vertical-align: top; }
table.tablelist01 td:nth-child(1) { width: auto; margin: 0 0 10px; /*background: #ededed;*/ font-weight: 700; text-align: center; border-top: 1px solid #d4d4d4; border-bottom: 1px solid #d4d4d4; }
table.tablelist01 td:nth-child(2) { width: auto; margin: 0; padding: 0 1em; border-right: none; }
table.tablelist01 td:nth-child(3) { margin: 0; padding: 0 1em 10px; }
table.tablelist01 td:last-child { border-right: none; padding: 0 1em 10px; }
table.tablelist01 tr:last-child td:nth-child(3) { margin: 0; padding: 0 1em; }

.textspace01 { padding: 0 0 0 3em; }

.listwrap01 { width: 100%; padding: 15px 0 0; }
.listwrap01 ul { width: 100%; display: table; }
.listwrap01 ul li { width: 31.33333333333333%; padding: 2%; display: table-cell; }
}