@charset "utf-8";

/*Font Awesomeの読み込み
---------------------------------------------------------------------------*/
@import url("https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/all.min.css");

/*全体の設定
---------------------------------------------------------------------------*/
html,body {
	margin: 0;padding: 0;
	height: 100%;
	font-size: 14px;	/*基準となるフォントサイズ。下の方にある「画面幅900px以上」で基準を大きなサイズに再設定しています。*/
}
h2,h3,h4,h5{font-weight: normal;}
body {
	font-family: "ヒラギノ丸ゴ Pro", "Hiragino Maru Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;	/*フォント種類*/
	-webkit-text-size-adjust: none;
	background: #fff;	/*背景色*/
	color: #777;		/*全体の文字色*/
	line-height: 2;		/*行間*/
}

/*トップページ以外の背景画像*/
body:not(.home) {
//	background: #fff url(../images/bg_flower.png) no-repeat left top / 600px fixed;	/*画像を、左(left)上(top)に配置。画像幅は600px。*/
}

/*リセット*/
figure {margin: 0;}
dd {margin: 0;}
nav {margin: 0;padding: 0;}

/*table全般の設定*/
table {border-collapse:collapse;}

/*画像全般の設定*/
img {border: none;max-width: 100%;height: auto;vertical-align: middle;}

/*videoタグ*/
video {max-width: 100%;}

/*iframeタグ*/
iframe {width: 100%;}

/*section全般の設定*/
section + section {
	padding-top: 30px;	/*sectionの間に空けるスペース*/
}


/*opa1（透明から着色状態に）
---------------------------------------------------------------------------*/
@keyframes opa1 {
	0% {opacity: 0;}
	100% {opacity: 1;}
}


/*トップページのスライドショー（vegasを使用）
---------------------------------------------------------------------------*/
#mainimg,#mainimg2,#mainimg3,#mainimgb {
    width: 100vw;
    max-width: 100%;
    height: 30vh;
	position: inherit;
	z-index: -1;
	left: 0px;top: 0px;
}
#mainimgb {
    display:none;
}
.lgooo {
    right: auto;
    position: sticky;
    z-index: 1;
    left: 30%;
    width: 50%;
}

.lgooo {
    opacity: 0;
    height: 220px;
}
/*.scroll{
    right: auto;
    position: absolute;
    z-index: 1;
    left: 50%;
    bottom: 20vh;
}*/
.vegas-slide-inner {
    margin: 0;
    padding: 0;
    background: center center no-repeat;
    transform: translateZ(0);
    will-change: transform, opacity;
    width: 100%;
    height: 70vh;
}
/*リンクテキスト全般の設定
---------------------------------------------------------------------------*/
a {
	color: #777;	/*文字色*/
	transition: 0.3s;
	text-decoration: none;
}

a:hover {
	color: #85cfb6;	/*マウスオン時の文字色*/
}

.slick-initialized .slick-slide {
    position: relative;
}
/*pickupスライドショーコーナー（slickを使用）
---------------------------------------------------------------------------*/
/*スライドショー全体を囲むボックス*/
.pickup {
	position: relative;
	display: flex;			/*flexボックスを使う指定*/
}

/*マウスオン時の設定。
マウスオンでスライドがストップしてしまうので、それがわかりやすいようにopacityを設定しました。
もしマウスオンでストップさせたくない場合は、slick.cssの「//pauseOnHover: false,」の行の冒頭の「//」を外して適用して下さい。*/
.pickup .list:hover figure {
	opacity: 0.8;	/*透明度。色が80%出た状態。*/
}

/*１個あたりのボックス*/
.pickup .slick-slide {
	margin: 5px !important;
	width: auto;
}

/*ボックス内のh4タグ*/
.pickup .list h4 {
	display: -webkit-box;
	overflow: hidden;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 1;	/*表示させたい行数。変更する際は、下２行のIE対策も変更して下さい。*/
    line-height: 2.5em;		/*IE対策。行間。１行あたりの高さの事。1.5文字分。*/
    height: 2.5em;			/*IE対策。高さ。slick内で高さを統一できなかったので、応急措置でheightのみ指定。*/
	font-size: 1.5em;
    font-weight: 500;
}

/*ボックス内の画像*/
.pickup .list img {
	object-fit: cover;	/*トリミングのタイプ*/
	height: 70px;		/*画像の高さ。下の方で数カ所再設定があります。*/
	width: 100%;		/*画像の幅*/
	font-family: 'object-fit: cover;';	/*IE対策*/
}
/*ボックス内のh4タグ*/
.list h4 {
	margin: 5px 0;		/*上下、左右に空けるスペース*/
}

/*container（サイト全体を囲むブロック）
---------------------------------------------------------------------------*/
#container {
	max-width: 1800px;		/*最大幅。これ以上広がらないように。*/
	margin: 0 auto;
	height: auto;
}
.container2 {
	max-width: 1800px;		/*最大幅。これ以上広がらないように。*/
	margin: 0 auto;
	height: auto;
}

/*header（ロゴ、メインメニューなどが入ったブロック）
---------------------------------------------------------------------------*/
/*ヘッダーブロック*/
header {
	position: fixed;z-index: 100;	/*スクロールしても一緒に動かないようにする指定*/
	top: 0px;			/*上からの配置場所指定*/
	width: 270px;		/*幅*/
	text-align: center;	/*テキストをセンタリング*/
}

/*ロゴ画像*/
header #logo {
	line-height: 0;margin: 0;
	padding: 00px;	/*ロゴの余白*/
}

/*「お問い合わせ」のブロック*/
header address {
	font-style: normal;line-height: 1;
	font-size: 0.7em;	/*文字サイズ70%*/
	background: #fff;	/*背景色*/
	padding: 10px 5px;	/*上下、左右へのブロック内の余白*/
	border-top: 1px solid #eee;		/*上の線の幅、線種、色*/
	border-bottom: 1px solid #eee;	/*下の線の幅、線種、色*/
}

/*「お問い合わせ」のブロック内にある電話番号*/
header address .tel {
	font-size: 1rem;	/*文字サイズ。remの単位についてはテンプレート内の解説をお読み下さい。*/
}

/*「お問い合わせ」のブロック内にある電話番号のアイコン（アイコンにはFont Awesomeを使用）*/
header address i {
	padding-right: 10px;	/*アイコンの右側に空ける余白*/
}


/*メニュー設定（全端末サイズ共通の設定）
---------------------------------------------------------------------------*/
#menubar {height: 0px;overflow: hidden;}
#menubar ul {list-style: none;margin: 0;padding: 0;text-align: left;padding-left: 1.5em;}
:where(nav li)::before {
    content: "－";
    float: left;
    margin-top: 0.2em;
}
#menubar ul li {text-align: left;}

/*メニュー1個あたりの設定*/
#menubar ul a {
	display: block;text-decoration: none;
	padding: 20px;	/*メニュー内の余白*/
}
#menubar ul a.pad20 {
    padding: 0 0 0 40px;
}
/*マウスオン時*/
#menubar ul a:hover {
//	background: #fff;	/*背景色*/
}

/*装飾文字（英語表記）*/
#menubar ul span {
	display: block;
	font-size: 0.7em;	/*文字サイズ。70%。*/
	opacity: 0.5;		/*透明度。50%色がでた状態。*/
}

/*小さな端末用のメニューブロック*/
#menubar.db {
	position: fixed;overflow: auto;z-index: 100;
	left: 0px;top: 0px;
	width: 100%;
	height: 100%;
	animation: opa1 1s both;
	padding: 90px 50px;	/*上下、左右へのメニューブロック内の余白*/
	background: #fff;	/*背景色*/
}

/*３本バー（ハンバーガー）アイコン設定
---------------------------------------------------------------------------*/
/*３本バーブロック*/
#menubar_hdr {
	display: block;
	position: fixed;z-index: 100;
	top: 10px;		/*上からの配置場所指定*/
	right: 10px;	/*右からの配置場所指定*/
	width: 50px;	/*幅*/
	height: 70px;	/*高さ*/
	cursor: pointer;
	background: rgba(0,0,0,0.6) url(../images/ham.png) no-repeat center top/50px;/*背景色、ハンバーガメニュー画像の読み込み、50pxは幅の指定*/
	background: url(../images/ham01.png) no-repeat center top/40px;/*背景色、ハンバーガメニュー画像の読み込み、50pxは幅の指定*/
}
/*×印が出ている状態の設定。*/
#menubar_hdr.ham {
	background: #ff0000 url(../images/ham.png) no-repeat center bottom/50px;
	background: url(../images/ham02.png) no-repeat center top/40px;
}
#menubar.db ul,#menubar ul.sp {
    list-style: none;
    margin: 0;
    padding: 0;
    text-align: center;
    padding-left: 1.5em;
}

/*contentsブロック
---------------------------------------------------------------------------*/
#contents {
	height: 100%;
	margin-right: 50px;			/*右側へ空けるボックスの外へのスペース*/
	margin-left: 50px;			/*左側へ空けるボックスの外へのスペース*/
	animation: opa1 2s both;	/*「2s」はcontentsを表示するまでの時間。ページを開いた瞬間から表示させておきたいならこの１行を削除。*/
}
article.kuuu {
    width: auto;
    max-width: none;
	height: 100%;
	margin-right: 50px;			/*右側へ空けるボックスの外へのスペース*/
	margin-left: 50px;			/*左側へ空けるボックスの外へのスペース*/
	animation: opa1 2s both;	/*「2s」はcontentsを表示するまでの時間。ページを開いた瞬間から表示させておきたいならこの１行を削除。*/
}
.w30p {
    display: block;
    padding-right: 0;
    padding-top: 20px;
}
/*トップページのコンテンツ*/
.home #contents {
	display: flex;				/*flexボックスを使う指定*/
	flex-direction: column;		/*子要素を縦並びにする*/
	justify-content: flex-end;	/*「お知らせ」を下に配置する*/
}
.siru .ri{
    width: 80%;
    text-align: center;
    margin-left: auto;
    margin-right: auto;
}
/*footerブロック
---------------------------------------------------------------------------*/
footer .list-half-parts {
	height: 100%;
	margin-right: 50px;			/*右側へ空けるボックスの外へのスペース*/
	margin-left: 50px;			/*左側へ空けるボックスの外へのスペース*/
	animation: opa1 2s both;	/*「2s」はcontentsを表示するまでの時間。ページを開いた瞬間から表示させておきたいならこの１行を削除。*/
}
footer .list-half-parts img {
    width: 250px;
}
footer .list-half-parts img.w230 {
    width: 230px;
}
footer .list-half-parts img.w170 {
    width: 170px;
}

/*mainブロック設定
---------------------------------------------------------------------------*/
/*mainブロックの設定*/
main {
	display: block;			/*IE対策*/
	padding-top: 100px;		/*ブロックの上にとる余白。開いた時にロゴなどに重ならないようにする為。*/
}

/*トップページのmainブロック*/
.home main {
	overflow: auto;
	padding-right: 50px;
}

/*mainブロック内のh2タグ*/
main h2 {
	border-bottom: 0;	/*下線の幅、線種、色。ベースカラーです。下のspanのborder-bottomと数字を合わせておく。*/
	margin-bottom: 0px;
	background: #DEE8F0;
    border-radius: 10px;
    padding: 2px 20px;
	width:100%;
}
main h2.non {
    background: none;
    border-radius: 0px;
}
main h2.point01::before {
	background: url(../images/point01.png) no-repeat;
	width:20%;
}
.center {
	text-align: center;
	margin-left: auto;
    margin-right: auto;
}
/*mainブロック内のh2タグに下線を引くための指定。*/
main h2 span.uline {
	display: inline-block;
    position: relative;
    bottom: -3px;
}
/*
main h2.point01 span.uline {
    background: url(../images/point01.png) no-repeat right / calc(4em);
    width: 100%;
}
main h2.point02 span.uline {
    background: url(../images/point02.png) no-repeat right / calc(4em);
    width: 100%;
}
main h2.point03 span.uline {
    background: url(../images/point03.png) no-repeat right / calc(4em);
    width: 100%;
}
main h2.point04 span.uline {
    background: url(../images/point04.png) no-repeat right / calc(4em);
    width: 100%;
}
*/
/*mainブロック内のh3タグ*/
main h3 {
	/*border-bottom: 3px solid #eee;	下線の幅、線種、色*/
	padding: 20px 0 0;			/*上、左右、下への余白*/
}

/*mainブロックのpタグ*/
main p {
//	margin: 0 20px 30px;	/*上、左右、下へ空けるスペース*/
}
main .text-parts p {
    margin: 20px 0;
}
p.fff{
    color: #fff;
}
/*フッターメニュー
---------------------------------------------------------------------------*/
/*フッターメニューブロック全体*/
#footermenu {
	list-style: none;margin: 0;padding: 0;
	padding-top: 20px;	/*上に空けるスペース*/
	text-align: center;	/*中身をセンタリング*/
}

/*メニュー1個あたりの設定*/
#footermenu li {
	display: inline-block;	/*横並びにする指定*/
	padding: 0 10px;		/*上下、左右への余白*/
}


/*フッター設定
---------------------------------------------------------------------------*/
footer small {font-size: 100%;}

footer {
	font-size: 0.6rem;		/*文字サイズ。remの単位についてはテンプレート内の解説をお読み下さい。*/
	padding: 20px;			/*ボックス内の余白*/
	text-align: center;
	background: #dee8f0a3;
	clear: both;
}

/*リンクテキスト*/
footer a {text-decoration: none;}

/*著作部分*/
footer .pr {display: block;}

/*box1
---------------------------------------------------------------------------*/
.box1 {
	box-shadow: 1px 2px 8px rgba(0,0,0,0.1);	/*ボックスの影。右へ、下へ、ぼかし幅の順。0,0,0は黒の事で0.1は色が10%出た状態。*/
	background: rgba(255,255,255,0.4);	/*背景色。255,255,255は白の事で、0.4は色が40%出た状態。*/
	padding: 20px 30px;					/*上下、左右へのボックス内の余白*/
	border: 1px solid #fff;				/*枠線の幅、線種、色*/
	border-radius: 5px;					/*角を丸くする指定*/
	text-shadow: 1px 1px 2px #fff, -1px -1px 2px #fff;	/*テキストの影。*/
}

/*トップページの「お知らせ」で使っているh2*/
.home .box1 h2 {
	margin: 0 0 10px;
}


/*「お知らせ」ブロック
---------------------------------------------------------------------------*/
figure.r {
    background: #F0F4F7;
    border-radius: 10px;
    margin-top: 45px;
    padding: 30px 0 30px 0;
}
figure.r .o h2 {
    text-align: center;
}

figure.r .o .btn {
    text-align: center;
}
.sp-center{
    text-align: center;
}
#new {
    margin: 0;
    display: grid;
    flex-wrap: wrap;
    padding: 20px;
    height: auto;
    overflow: auto;
    margin-bottom: 0px;
    width: 100%;
}

/*日付(dt)、記事(dd)共通設定*/
#new dt,
#new dd {
	border-bottom: 1px dotted #ccc;	/*下線の幅、線種、色*/
	padding: 2px 0;	/*上下、左右へのボックス内の余白*/
}
/*コースページ（listブロック）
---------------------------------------------------------------------------*/
/*１個あたりのボックスの指定。「コンパクトタイプ」「横長タイプ」共通に適用されます。*/
.list {
	display: flex;					/*flexボックスを使う指定*/
	align-items: center;			/*垂直揃えの指定。上下中央に配置されるように。*/
	margin-bottom: 30px;			/*ボックス同士の上下間の余白*/
	background: #fff;				/*背景色。*/
	padding: 0px;					/*ボックス内の余白*/
//	box-shadow: 2px 2px 10px rgba(0,0,0,0.15);	/*ボックスの影。右へ、下へ、ぼかし幅の順。0,0,0は黒の事で0.15は色が15%出た状態。*/
//	border-radius: 8px;				/*角を丸くする指定*/
	overflow: hidden;				/*はみ出た要素を非表示にする。画像の角が飛び出ないようにする為の指定です。*/
}

/*画像の指定。「コンパクトタイプ」「横長タイプ」共通に適用されます。*/
.list figure {
	width: 100%;			/*幅*/
}
.list figure.w8 {
    width: 80%;
}
/*h4タグの指定。「コンパクトタイプ」「横長タイプ」共通に適用されます。*/
.list h4 {
	margin: 0;
}

/*pタグの指定。「コンパクトタイプ」「横長タイプ」共通に適用されます。*/
.list p {
	margin: 0;
	font-size:1em;	/*文字サイズを80%に。*/
}

/*「コンパクトタイプ」のlistボックス全体を囲むボックス*/
.list-container {
	display: flex;					/*flexボックスを使う指定*/
	flex-wrap: wrap;				/*折り返す指定*/
	justify-content: initial;	/*並びかたの種類の指定*/
	//flex-direction: column;			/*子要素を縦並びにする*/
}

/*「コンパクトタイプ」のlistボックス。１個あたりのボックスの指定です。*/
.list-container .list {
	flex-direction: column;			/*子要素を縦並びにする*/
	justify-content: space-between;	/*並びかたの種類の指定*/
	align-items: stretch;			/*垂直揃えをデフォルトに戻す指定。*/
}

/*「コンパクトタイプ」のfigure画像の上書き。*/
.list-container .list figure {
	margin: -20px -20px 0;	/*画像周りの余白を埋める指定です*/
	width: auto;
}

/*「コンパクトタイプ」のh4タグへの追加指定、もしくは上書き。*/
.list-container .list h4 {
	margin: 10px 0;			/*上下、左右へのh4の外側に空けるスペース*/
	font-size: 1.2em;		/*文字サイズを120%に*/
	font-weight: normal;	/*hタグのデフォルトの太字を標準にする。太字がいいならこの１行を削除。*/
}

/*IE対策*/
.list-container .list div {min-height: 0%;}

/*event-listブロック設定
---------------------------------------------------------------------------*/
/*１個あたりのボックス*/
.e-list {
	width: 100%;				/*ボックスの幅*/
	margin-bottom: 20px;
    margin-top: 20px;	/*ボックス同士の上下間の余白*/
    align-items: flex-start;
}
.list .daii,.daii {
	font-size:20px;
}
.list .dai18,.dai18 {
	font-size:18px;
    text-decoration: underline;
}
.list p.l17 {
     line-height: 1.7;
}
.home .er-list p {
    margin: 0 !important;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: unset;
    font-size: 0.7rem;
    line-height: 2em;
    max-height: unset;
}
a.daii {
    text-decoration: underline;
}
.home .er-list {
	width: 100%;				/*ボックスの幅*/
	margin-bottom: 0;	/*ボックス同士の上下間の余白*/
	margin-top: 20px;
}

/*btnの設定
---------------------------------------------------------------------------*/
/*ボタンを囲むブロック*/
.btn {
	text-align: center;	/*内容をセンタリング*/
}

/*ボタン*/
.btn a,
.btn input {
	display: inline-block;text-decoration: none;border: none;
	color: #fff;			/*文字色*/
	border-radius: 3px;		/*角丸のサイズ。ほんの少しだけ角が丸くなります。*/
	padding: 10px 20px;		/*上下、左右へのボタン内の余白*/
	box-shadow: 2px 2px 5px rgba(0,0,0,0.2);	/*ボックスの影。右へ、下へ、ぼかし幅の順。0,0,0は黒の事で0.2は色が20%出た状態。*/
	background: linear-gradient(#85cfb6,#60bc9d);/*背景グラデーション*/
	font-size: 1rem;	/*文字サイズ。remの単位についてはテンプレート内の解説をお読み下さい。*/
}

/*ボタンのマウスオン時*/
.btn a:hover,
.btn input:hover {
	filter: brightness(1.1);	/*少しだけ明るくする*/
	cursor: pointer;
}

/*listブロック内でのボタン*/
.list .btn a, .list .btn input {
	margin-top: 10px;	/*上にスペースを空ける*/
	display: block;		/*横幅いっぱいに広げる*/
}

/*ヘッダー内の「お問合せフォーム」ボタン*/
header .btn a, header .btn input {
	font-size: 1.2em;
}


/*テーブル
---------------------------------------------------------------------------*/
/*テーブル１行目に入った見出し部分（※caption）*/
.ta1 caption {
	font-weight: bold;			/*太字に*/
	padding: 10px 5px;			/*上下、左右へのボックス内の余白。基本的に数行下の「.ta1 th, .ta1 td」のpaddingと揃えておけばOKです。*/
	background: #85cfb6;		/*背景色*/
	color: #fff;				/*文字色*/
}

/*ta1テーブルブロック設定*/
.ta1 {
	border-top: 1px solid #ccc;	/*テーブルの一番上の線。幅、線種、色*/
	table-layout: fixed;
	width: 100%;
	margin: 0 auto 30px;		/*最後の「30px」がテーブルの下に空けるスペースです*/
	background: #fff;			/*背景色*/
}

/*tr（１行分）タグ設定*/
.ta1 tr {
	border-bottom: 1px solid #ccc;	/*テーブルの下線。幅、線種、色*/
}

/*th（左側）、td（右側）の共通設定*/
.ta1 th, .ta1 td {
	padding: 10px 5px;		/*上下、左右へのボックス内の余白*。基本的に数行上の「.ta1 caption」のpaddingと揃えておけばOKです。*/
	word-break: break-all;	/*英語などのテキストを改行で自動的に折り返す設定。これがないと、テーブルを突き抜けて表示される場合があります。*/
}

/*th（左側）のみの設定*/
.ta1 th {
	width: 30%;			/*幅*/
	text-align: left;	/*左よせにする*/
	background: #f7f7f7;	/*背景色*/
}


/*よく頂くご質問
---------------------------------------------------------------------------*/
/*FAQボックス全体*/
.faq {
	padding: 0 5px;	/*上下、左右へのボックス内の余白*/
}

/*質問*/
.faq dt {
	border-radius: 10px;	/*枠を角丸にする指定*/
	margin-bottom: 20px;	/*下に空けるスペース*/
	background: linear-gradient(#fff,#eee);/*背景グラデーション*/
	box-shadow: 0px 0px 5px rgba(0,0,0,0.2);	/*ボックスの影。右へ、下へ、ぼかし幅、0,0,0は黒の事で0.2は色が20%出た状態の事。*/
	text-indent: -2em;				/*テキストのインデント。質問が複数行になった際に、テキストの冒頭を揃える為に設定しています。*/
	padding: 5px 1em 5px 3em;		/*ボックス内の余白。ここを変更する場合、上のtext-indentも調整します。*/
}

/*アイコン（Font Awesome）*/
.faq dt::before {
	font-family: "Font Awesome 5 Free";	/*Font Awesomeを使う指定*/
	content: "\f059";		/*使いたいアイコン名をここで指定。Font Awesomeに記載されています。詳しくは当テンプレートのマニュアルを読んで下さい。*/
	padding-right: 1em;		/*アイコンとテキストの間の余白*/
	color: #85cfb6;			/*文字色*/
}

/*回答*/
.faq dd {
	padding: 5px 1em 30px 3em;		/*ボックス内の余白**/
}

/*opencloseを適用した要素のカーソル*/
.openclose {
	cursor: pointer;	/*カーソルの形状。リンクと同じスタイルにしてクリックできると認識してもらう。*/
}

.faq dt span {text-indent: 0;}


/*PAGE TOP（↑）設定
---------------------------------------------------------------------------*/
.pagetop-show {display: block;}

/*ボタンの設定*/
.pagetop a {
	display: block;text-decoration: none;text-align: center;
	position: fixed;	/*スクロールに追従しない(固定で表示)為の設定*/
	right: 50px;		/*右からの配置場所指定*/
	bottom: 20px;		/*下からの配置場所指定*/
	color: #fff;		/*文字色*/
	font-size: 1.5rem;	/*文字サイズ*/
//	background: rgba(0,0,0,0.2);	/*背景色。0,0,0は黒の事で0.2は色が20%出た状態。*/
	width: 2em;			/*幅*/
	line-height: 2em;	/*高さ*/
}
.pagetop.home a {
    bottom: 70px;
}
.pagetop.kikyu a {
    bottom: 125px;
    width: 4em;
    right: 20px;
}
/*マウスオン時*/
.pagetop a:hover {
//	background: #c6f3e4;	/*背景色*/
}


/*その他
---------------------------------------------------------------------------*/
.clearfix::after {content: "";display: block;clear: both;}
.color-theme, .color-theme a {color: #85cfb6 !important;}
.color-check, .color-check a {color: #f00 !important;}
.c {text-align: center !important;}
.ws {width: 95%;display: block;}
.wl {width: 95%;display: block;}
.mb30 {margin-bottom: 30px !important;}
.look {display: inline-block;border: 1px solid #ccc;padding: 5px 20px;background: rgba(0,0,0,0.03);border-radius: 5px;margin: 5px 0;}
.ofx {overflow-x: hidden;}


/*---------------------------------------------------------------------------
ここから下は画面の高さが720px以下になった場合の追加設定。
大きな端末で見た場合に、左ブロックに極力スクロールバーを出したくないので、高さを圧縮しています。
---------------------------------------------------------------------------*/
@media screen and (max-height:720px) {
	/*header（ロゴ、メインメニューなどが入ったブロック）
	---------------------------------------------------------------------------*/
	/*ロゴ画像*/
	header #logo {
		padding: 10px 30px;	/*ロゴの余白*/
	}
	/*メニュー設定（全端末サイズ共通の設定）
	---------------------------------------------------------------------------*/
	/*メニュー1個あたりの設定*/
	#menubar ul a {
		padding: 8px 20px;
        padding-right: 0;
        line-height: 1.5;
        text-align: left;
	}
}

/*---------------------------------------------------------------------------
ここから下は画面幅600px以下の追加指定
---------------------------------------------------------------------------*/
@media screen and (max-width:600px) {
	/*header（ロゴ、メインメニューなどが入ったブロック）
	---------------------------------------------------------------------------*/
	/*ヘッダーブロック*/
	header {
		left: 10px;			/*左からの配置場所指定*/
	}
	/*ロゴ画像*/
	header #logo {
		padding: 10px 50px;	/*ロゴの余白。上下、左右の順番。*/
	}
	/*contentsブロック
	---------------------------------------------------------------------------*/
	#contents {
		margin-right: 10px;	/*右側へ空けるボックスの外へのスペース*/
		margin-left: 10px;	/*左側へ空けるボックスの外へのスペース*/
	}
	/*mainブロック設定
	---------------------------------------------------------------------------*/
	/*mainブロックの設定*/
	main {
		padding-top: 100px;		/*ブロックの上にとる余白。ページを開いた時にロゴに重ならないようにする為。*/
	}
	/*トップページのmainブロック*/
	.home main {
		padding-right: 10px;
	}
	/*box1
	---------------------------------------------------------------------------*/
	.box1 {
		padding: 10px 20px;					/*上下、左右へのボックス内の余白*/
	}
	/*　※注意！　下の閉じカッコ　}　はこのブロックに必要なので、削除しないで下さい。　*/
}

main .o h2 {
	background-image: none;
	margin-block-end: 0;
	background:none;
}
.o h2 {
    padding: 0;
}
main .o h2 span.uline{
bottom:0;
}

ul.top {display:none;}
.sp {display:block;}
.pc {display:none;}
ul li.siromaru.pc {display:none;}
nav .sp li{
    background: #e1e1e2;
    border-radius: 20px;
    padding: 0px 20px;
    line-height: 1;
    margin-top: 0.5em;
    width: min(100%, 270px);
    margin-left: auto;
    margin-right: auto;
}
nav.db li::before {
    content: "";
    float: left;
    margin-top: 0.5em;
}
/*
.sh header #logo {
    display: none !important; 
}*/
#naiyo dt span {
    display: inline-block;
    width: 6em;
    background: #fff;
    color: #000;
    border: none;
    text-align: left;
    border-radius: 3px;
    margin-right: 1em;
    align-self: flex-start;
    line-height: 1.5;
    position: relative;
    top: 0;
    border-radius: 13px;
    padding: 2px 7px;
    font-size: 14px;
}
.list p.btn {
    position: absolute;
    bottom: 2px;
    right: 10px;
    width: 155px;
    height: 60px;
}
.list .btn a, .list .btn input {
    margin-top: 10px;
    display: block;
}
.home .btn a, .home .btn input, .home .btn button,.siru .btn a,.siruu .btn a,.case .btn a {
    display: inline-block;
    text-decoration: none;
    border: none;
    color: #fff;
    border-radius: 3px;
    padding: 10px 20px;
    box-shadow: 2px 2px 5px rgba(0, 0, 0, 0.2);
    background: linear-gradient(#449BD1, #449BD1);
    font-size: 1rem;
    height: 48px;
    line-height: 1.7;
}
.btn a, .btn input, .btn button {
    color: #000;
	border-radius: 40px;
    padding: 5px 10px;
    box-shadow: 2px 2px 5px rgba(0, 0, 0, 0.2);
    background: linear-gradient(#ffc424, #ffc424);
    font-size: 1rem;
    height: auto;
    line-height: 2;
    width: min(100%, 185px);
}
.btn.ww a {
    width: min(210px);
}
.btn.www a {
    width: min(260px);
}
.menu {
    text-align: right;
    margin: 1em;
    font-size: .7em;
}
.breadcrumb {
  margin: 0;
  padding: 0;
  list-style: none;
}

.breadcrumb li {
  display: inline;/*横に並ぶように*/
  list-style: none;
  color: #a3a3a3;
  font-size: small;
}

.breadcrumb li:after {/* >を表示*/
  content: '>';
  padding: 0 0.2em;
  color: #555;
}

.breadcrumb li:last-child:after {
  content: '';
}

.breadcrumb li a {
  text-decoration: none;
  color: #a3a3a3;
  font-size: small;
}

.breadcrumb li a:hover {
  text-decoration: underline;
}
/*---------------------------------------------------------------------------
ここから下は画面幅600px以上の追加指定
---------------------------------------------------------------------------*/
@media screen and (min-width:600px) {
	.w30p {
		display: inline-block;
		padding-right: 20px;
		padding-top: 20px;
		width: 216px;
	}
	.w30p.pari0 {
		padding-right: 0;
		width: 196px;
	}
}
/*---------------------------------------------------------------------------
ここから下は画面幅900px以上の追加指定
---------------------------------------------------------------------------*/
@media screen and (min-width:900px) {
	.sp {display:none;}
	.pc {display:block;}
	.sp-center{
	    text-align: inherit;
	}
	#menubar ul li.siromaru.pc {display:block;margin-right: 1em;text-align: center;}

	ul li.siromaru {
	    list-style: none;
	    display: inline-block;
	    background: #ffffff;
	    border-radius: 20px;
	    padding: 0px 10px;
	}

	/*全体の設定
	---------------------------------------------------------------------------*/
	html, body {
		font-size: 16px;	/*基準となるフォントサイズの上書き*/
	}
	main {
	    display: block;
	    padding-top: 200px;
	}
	#mainimg,#mainimg2,#mainimg3,#mainimgb {
	    width: 100vw;
	    max-width: 100%;
	    height: 35vh;
		position: inherit;
		z-index: -1;
		left: 0px;top: 0px;
	}
	#mainimg3 {
        width: 100vw;
        max-width: 100%;
        height: 24vh;
        position: inherit;
        z-index: -1;
        left: 0px;
        top: 0px;
    }
    #mainimgb {
        width: 100vw;
        max-width: 100%;
        height: auto;
        display:block;
      }
      .lgooo {
		opacity: 1;
	    height: auto;
		right: auto;
		position: sticky;
		z-index: 1;
		left: 30%;
		width: 50%;
	  }
    .vegas-slide-inner {
        height: 80vh;
    }
    #menubar ul a.pad20 {
	    padding: 0 0 0 2em;
        font-size: 0.95em;
	}

	/*container（サイト全体を囲むブロック）
	---------------------------------------------------------------------------*/
	#container {
		display: flex;					/*flexボックスを使う指定*/
		justify-content: space-between;	/*並びかたの種類の指定*/
	}
	#container {
		display: flex;					/*flexボックスを使う指定*/
		justify-content: space-between;	/*並びかたの種類の指定*/
	}
	.container2 {
		display: flex;					/*flexボックスを使う指定*/
		justify-content: space-between;	/*並びかたの種類の指定*/
	}
	#container.ie_home,#container.tempo_home,#container.detail {
        display: inline;
    }
    .detail #contents {
	    display: flex;
	    flex-direction: column;
	    justify-content: flex-end;
	    justify-content: start;
        height: 100%;
        min-height: 400px;
	}
	/*header（ロゴなどが入った最上段のブロック）
	---------------------------------------------------------------------------*/
	/*ヘッダーブロック*/
	header {
		height: 100%;
		background: linear-gradient(rgba(255,255,255,0.5) 750px, #DEE8F0);/*背景グラデーション。255,255,255は白の事で0.5は色が50%出た状態。下側の色が#DEE8F0。750pxはグラデーションを切り替えるポイント。*/
		background: #dee8f0a3;/*背景グラデーション。255,255,255は白の事で0.5は色が50%出た状態。下側の色が#DEE8F0。750pxはグラデーションを切り替えるポイント。*/
		box-shadow: 0px 0px 10px rgba(0,0,0,0.05);	/*ボックスの影。右へ、下へ、ぼかし幅の順。0,0,0は黒の事で0.05は色が5%でた状態。*/
		width: 210px;		/*幅*/
		overflow: auto;		/*高さを狭くした際に、メニューなどがきれないように自動でスクロールバーをつける。*/
	}
	header {
	    height: 100%;
	    width: 210px;
//	    overflow: inherit;
	}
	/*contents直後のリスト
	---------------------------------------------------------------------------*/
	ul.top {
		display:block;
	    padding-inline-start: 0;
	    margin-block-end: 0;
	    z-index: 99;
	    z-index: 99;
	    position: absolute;
	    top: 20px;
	    right: 0;
	    width: 60%;
	    width: calc(100% - 30%);
	}
	ul.top li {
	    list-style: none;
	    display: inline-block;
	    background: #ffffff;
	    border-radius: 20px;
	    padding: 0px 20px;
	}
	ul.top li.bnone {
        background: none;
    }
	ul.top li a {
	    text-decoration: none;
	}
	ul.top li a img {
		margin-right: 5px;
	}

	.lgooo {
	    right: auto;
	    position: sticky;
	    z-index: 1;
	    left: 30%;
	}
	.lgooo.uuu {
        right: auto;
        position: sticky;
        z-index: 1;
        width: min(50%, 320px);
	    left: 40%;
	    margin-top: 10%;
    }
/*	.scroll{
	    right: auto;
	    position: absolute;
	    z-index: 1;
	    left: 50%;
	    bottom: -60px;
	}*/
	.vegas-slide-inner {
	    margin: 0;
	    padding: 0;
	    background: center center no-repeat;
	    transform: translateZ(0);
	    will-change: transform, opacity;
	    width: 100%;
	    height: min(97vh, 95%);
	}
	#mainimg2 .vegas-slide-inner {
        margin: 0;
        padding: 0;
        background: center center no-repeat;
        transform: translateZ(0);
        will-change: transform, opacity;
        width: 100%;
        height: min(100vh, 90%);
    }
    #mainimgb .vegas-slide-inner {
        margin: 0;
        padding: 0;
        background: center center no-repeat;
        transform: translateZ(0);
        will-change: transform, opacity;
        width: 100%;
        height: 140px;
    }
    figure.r {
        background: #F0F4F7;
        border-radius: 10px;
        margin-top: 45px;
        padding: 30px 0 0 40px;
    }
    .o {
        display: inline-block;
        width: 25%;
        float: left;
    }
    figure.r {
	    background: #F0F4F7;
	    border-radius: 10px;
	    margin-top: 45px;
	    padding: 30px 0 0 40px;
	}
	figure.r .o .btn,figure.r .o h2 {
	    text-align: left;
	}
    #new {
        margin: 0;
        display: grid;
        flex-wrap: wrap;
        padding: 10px 0px 40px;
        height: auto;
        overflow: auto;
        margin-bottom: 0px;
        width: 70%;
    }
    #naiyo dt span {
	    display: inline-block;
        width: 4em;
        background: #fff;
        color: #000;
        border: none;
        text-align: left;
        border-radius: 3px;
        margin-right: 0;
        align-self: flex-start;
        line-height: 1;
        position: relative;
        top: 0;
        border-radius: 13px;
        padding: 0;
        font-size: 14px;
	}
	.list p.btn {
	    position: inherit;
	    bottom: 2px;
	    right: 10px;
	    width: 155px;
	    height: 60px;
	}
	/*contentsブロック
	---------------------------------------------------------------------------*/
	#contents {
		margin-left: 230px;			/*左側へ空けるボックスの外へのスペース*/
		width: calc(100% - 250px);	/*幅。100%の幅から左側のブロック分を差し引いたサイズを指定。*/
		margin-right: 200px;
	}
	#contents.home {
		margin-left: 230px;			/*左側へ空けるボックスの外へのスペース*/
		width: calc(100% - 250px);	/*幅。100%の幅から左側のブロック分を差し引いたサイズを指定。*/
	    margin-right: 200px;
	}
	article.kuuu {
	    margin-left: 230px;
	    width: calc(100% - 230px);
	    margin-right: 20px;
	    max-width: none;
	}
	.sya .w30p {
        width: 30%;
        margin-right: 20px;
		padding-right: 0;
    }
    .sya .pari0 {
	    padding-right: 0;
	}
	.siru .ri {
	    width: 100%;
	    text-align: center;
	    margin-left: auto;
	    margin-right: auto;
	}
	/*footerブロック
	---------------------------------------------------------------------------*/
	footer .list-half-parts{
		margin-left: 230px;
	    width: calc(100% - 230px);
	    margin-right: 220px;
	}

	/*mainブロック設定
	---------------------------------------------------------------------------*/
	/*mainブロックの設定*/
	main {
		padding-top: 130px;		/*ブロックの上にとる余白*/
		padding-top: 15%;
	}


	/*menubar
	---------------------------------------------------------------------------*/
	/*ハンバーガーメニューを非表示にする*/
	#menubar_hdr {display: none;}

	/*メニューのボックス全体の設定（※変更不要）*/
	#menubar {height: auto;overflow: visible;}
	#menubar.db {position: static;overflow: visible;height: auto;padding: 0;}


	/*コースページ（listブロック）
	---------------------------------------------------------------------------*/
	/*「コンパクトタイプ」のlistボックス全体を囲むボックス*/
	.list-container {
		flex-direction: row;	/*子要素を横並びにする*/
	}

	/*「コンパクトタイプ」のlistボックス。１個あたりのボックスの指定です。*/
	.list-container .list {
		width: 48%;	/*ボックスの幅*/
	}


	/*テーブル
	---------------------------------------------------------------------------*/
	/*テーブル１行目に入った見出し部分（※caption）*/
	.ta1 caption {
		padding: 5px 15px;		/*上下、左右へのボックス内の余白*/
	}

	/*th（左側）、td（右側）の共通設定*/
	.ta1 th, .ta1 td {
		padding: 20px 15px;		/*上下、左右へのボックス内の余白*/
	}

	/*th（左側）のみの設定*/
	.ta1 th {
		width: 20%;		/*幅*/
	}


	/*その他
	---------------------------------------------------------------------------*/
	.ws {width: 48%;display: inline;}


	/*　※注意！　下の閉じカッコ　}　はこのブロックに必要なので、削除しないで下さい。　*/

}
.detail h2 dl {
  display: grid;
  grid-template-columns: auto 1fr;
  width: 100%;
  max-width: 100%;
  line-height: 2;
}
.detail h2 dt {
  padding-right: 1em;
  text-align-last: justify;
}
.detail h2 dd {
    text-align: right;
}
.detail h2 span.uline {
    display: inherit;
    position: inherit;
}
.detail h2 .option1 {
    top: -2px;
}
.textright {
    text-align: right;
}
p.alt {
    position: absolute;
    color: #fff;
    width: 100%;
    background: #331d1d85;
    z-index: 99;
    bottom: 0;
    text-align: center;
}
/*文字を載せる*/
.boxx {
	position: relative;
}

.boxx p {
	margin: 0;
	color: #787676;
	background: #ffffff;
	font-size: 18px;
	line-height: 3;
	padding: 20px 10px 30px;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	-webkit-transform: translate(-50%, -50%);
	-ms-transform: translate(-50%, -50%);
	text-align: center;
}

.boxx img {
	width: 100%;
  }
.boxx iframe{
	-ms-filter: blur(4px);
	filter: blur(4px);
}
.boxx input[type=email]{
	line-height: 2;
}
.boxx input[type=submit]{
	border-radius: 10px;
    background: #ccc;
    padding: 0 20px;
    color: #3e3e3e;
	line-height: 2;
}
fieldset.hako .toggle {
  display: none;
}
/*list内のtableっぽく見える所
---------------------------------------------------------------------------*/
/*ボックス全体*/
.list-normal-parts dl.line-parts {
	grid-template-columns: repeat(2, auto 1fr);	/*２列にする（各ボックスは、左は内容に応じて自動、残りを右側に割り当て）*/
}

/*ボックス一個あたり*/
dl.line-parts {
	margin: 0;
	display: grid;						/*gridボックスを使う指定*/
	grid-template-columns: auto 1fr;	/*左は内容に応じて自動、残りを右側に割り当て*/
	font-size: 1em;					/*文字サイズを親要素の70%に。*/
}

dl.line-parts dt {
	border-bottom: 1px solid #ccc;	/*枠線の幅、線種、色*/
	padding: 0 0.5rem;				/*上、左右への余白*/
	border-right: 1px solid #ccc;
	border-left: 1px solid #ccc;
}
dl.line-parts dd {
	border-bottom: 1px solid #ccc;	/*枠線の幅、線種、色*/
	padding: 0 0.5rem;				/*上、左右への余白*/
	border-right: 1px solid #ccc;
	padding: 10px;
}
dl.line-parts dt:nth-of-type(2n) {
	border-left: none;
}
dl.line-parts dt:first-child,dl.line-parts dd:first-of-type,
dl.line-parts dt:nth-child(3),dl.line-parts dd:nth-child(4) {
	border-top: 1px solid #ccc;			/*上の線の幅、線種、色*/
}
dl.line-parts dt {
	background: #f0f0f0;	/*背景色*/
	width: 120px;
	padding: 10px;
}
#naiyo2 dt span.w4em {
	width: 4em;
}
.migiyo {
        display: flex;
        justify-content: flex-end;
}
img.w90m {
    max-width: 90px;
}
.line-h {
    line-height: initial;
}
main h3.uline {
    border-bottom: 2px solid #ccc;
}
@media screen and (min-width:1300px) {
	#container.ie_home #contents,#container.tempo_home #contents {
        margin-left: 230px;
		width: calc(100% - 250px);	/*幅。100%の幅から左側のブロック分を差し引いたサイズを指定。*/
        margin-right: 200px;
    }


}
#new.wi100 {
    width: 100%;
}
/*2カラムブロック（※900px未満では１カラム）
---------------------------------------------------------------------------*/
/*２カラムを囲むブロック*/
.list-half-parts .list-parts {
	display: flex;			/*flexボックスを使う指定*/
	flex-direction: column;	/*子要素を縦並びにする*/
	margin-bottom: 0;	/*ボックスの下に2文字分のスペースを空ける*/
}

/*ブロック内のh4見出し*/
.list-half-parts .list-parts h4 {
	font-size: 1.4rem;	/*文字サイズを1.4倍*/
}

/*画像ブロック共通*/
.list-half-parts .image-l-parts img, .list-half-parts .image-r-parts img {
	border-radius: 8px;
}
img.maru {
    border: none;
    max-width: 100%;
    height: auto;
    vertical-align: top;
    border-radius: 8px;
    padding: 0;
    width: 90%;
}
.dai {
    font-size: 1.3em;
}
		.pc-text-left{text-align:center;}

	/*画面幅900px以上の追加指定*/
	@media screen and (min-width:900px) {
	.dai {
	        font-size: 1.5em;
	    }
		.pc-text-left{text-align:left;}

		/*２カラムを囲むブロック*/
		.list-half-parts .list-parts {
			flex-direction: row;			/*子要素を横並びにする*/
			justify-content: space-between;	/*並びかたの種類の指定*/
			align-items: flex-start;			/*垂直揃えの指定。天地中央に配置されるように。*/
		}
		.list-half-parts.cc .list-parts {
	        align-items: center;			/*y軸センターにする*/
	    }
		/*画像ブロック共通*/
		.list-half-parts .image-l-parts, .list-half-parts .image-r-parts {
			width: 50%;			/*画像の幅*/
		}
		
		/*画像を右に配置する場合*/
		.list-half-parts .image-r-parts {
			margin-left: 2rem;	/*画像の左側に空けるスペース*/
		}
		
		/*画像を左に配置する場合*/
		.list-half-parts .image-l-parts {
			order: -1;
			margin-right: 2rem;	/*画像の右側に空けるスペース*/
		}

		/*テキストブロック*/
		.list-half-parts .text-parts {
			flex: 1;
		}
				/*画像ブロック共通*/
		.list-half-parts .list-parts60 .image-l-parts, .list-half-parts .list-parts60 .image-r-parts {
			width: 60%;			/*画像の幅*/
		}
		/*画像ブロック共通*/
		.list-half-parts .list-parts62 .image-l-parts, .list-half-parts .list-parts62 .image-r-parts {
			width: 62%;			/*画像の幅*/
			order: 0;
			margin-right: 0rem;	/*画像の右側に空けるスペース*/
		}
		/*画像ブロック共通*/
		.list-half-parts .list-parts70 .image-l-parts, .list-half-parts .list-parts70 .image-r-parts {
			width: 70%;			/*画像の幅*/
			order: 0;
			margin-right: 0rem;	/*画像の右側に空けるスペース*/
		}
		/*画像ブロック共通*/
		.list-half-parts .list-parts65 .image-l-parts, .list-half-parts .list-parts65 .image-r-parts {
			width: 64%;			/*画像の幅*/
			order: 0;
			margin-right: 0rem;	/*画像の右側に空けるスペース*/
		}
		.list-half-parts .list-parts40 .image-l-parts, .list-half-parts .list-parts40 .image-r-parts {
	        width: 40%;
	        order: 0;
	        margin-right: 0rem;
	    }
		.list-half-parts .list-parts30 .image-l-parts, .list-half-parts .list-parts30 .image-r-parts {
	        width: 30%;
	        order: 0;
	        margin-right: 0rem;
	        padding-right: 10px;
	    }
		.list-half-parts .list-parts40 .image-l-parts img {
	        width: 100%;
	    }
	    .list-half-parts.cc .text-parts img {
		    width: 100%;
		}
		.list-half-parts .list-parts h4.dai {
		    font-size: 2rem;
		    line-height: 1.4;
		    margin-top: 0.5em;
		}

	}/*追加指定ここまで*/
	
	
.slick-prev {
    left: 5px;
}
.slick-arrow {
    position: absolute;
    bottom: 45%;
    right: 0;
}
.slick-prev::after, .slick-next::after {
    display: block;
    font-size: 0.8rem;
    content: '';
    display: block;
    width: 30px;
    height: 30px;
    background-image: url(../images/kaku.png);
    background-size: contain;
    background-repeat: no-repeat;
}
.slick-next::after {
    transform: rotate(180deg);
}
.case p.btn {
    text-align: right;
}
.case p.btn a {
    text-align: center;
}
hr.dod {
    border: none;
    border-top: 2px dashed gray;
}
a.file{
    text-decoration: underline;
    color: blue;
}
img.max150{
    width: max(150px);
}
.bble{
background: #dee8f0a3;
}
/*option帯リボン
---------------------------------------------------------------------------*/
/*option1,option2 共通*/
.option1, .option2 {
	font-size: 12px;	/*文字サイズ。remの単位についてはテンプレート内の解説をお読み下さい。*/
	display: inline-block;
	width:70px;
	text-align: center;
	position: absolute;
	top: 7px;
	left: 7px;
	border-radius: 20px;
}

/*h2タグ内で使った場合のoption1,option2 共通（※CMS用）*/
h2 .option1, h2 .option2 {
    width: auto;
    position: relative;
    padding: 0px 15px;
    margin-left: 0;
    font-size: 0.6em;
    letter-spacing: initial;
    line-height: 1.7;
    margin-right: 1em;
    top: 0px;
}

/*option1への追加指定。*/
.option1 {
	background: #95D27C;	/*背景色*/
	color: #000;			/*文字色*/
}

/*option2への追加指定。*/
.option2 {
	background: #FFC424;		/*背景色*/
	color: #000;			/*文字色*/
}
.option3 {
    font-size: 12px;
    display: inline-block;
    width: 100px;
    text-align: center;
    position: inherit;
    border-radius: 20px;
    background: #95D27C;
}

.line-he15 {
    line-height: 1.5em;
}
.matop1em {
    margin-top: 1em;
}
.matop70{
    margin-top: 70px;
}
.matop50 {
    margin-top: 50px;
}
.matop15 {
    margin-top: 15px;
}
.matop30 {
    margin-top: 30px;
}
.ma30 {
    margin-top: 30px;
    margin-bottom: 30px;
}
.ma50 {
    margin-top: 50px;
    margin-bottom: 50px;
}

.pa250{
    padding: 2.5em 0;
}
.patop30 {
    padding-top: 30px;
}
.pabo30 {
    padding-bottom: 30px;
}

.mabo20 {
    margin-bottom: 20px;
}
.mabo50 {
    margin-bottom: 50px;
}
.b-line{
    text-decoration: underline;
    color: blue;
}
.siru {
    background: url(../images/pixta_94644553_XL.png) no-repeat;
    width: 100%;
    max-width: none;
    z-index: 99;
}
.c h2 {
	clear: both;
}

.pari0 {
	padding-right: 0;
}
.mabo30 {
	margin-bottom: 30px;
}
main span.jyo {
    color: white;
    font-weight: 600;
    background: #b600c3;
    border-radius: 0;
    padding: 0 10px;
}
/*pickupスライドショーコーナー（slickを使用）
---------------------------------------------------------------------------*/
/*スライドショー全体を囲むボックス*/
.pickup {
	padding: 20px 30px 0 30px;		/*ボックス内の余白*/
}

/*１個あたりのボックス*/
.pickup .slick-slide {
	margin: 10px !important;
}

/*ボックス内の画像*/
.pickup .list img {
	height: auto;		/*画像の高さ*/
	min-height: 200px;
}
form table{
    width: 100%;
}
form table tr {
    border-top: white 2em solid;
}
form table tr.zero{
    border-top: none;
}
form table th{
    width: 9em;
    text-align: left;
    vertical-align: top;
}
form table td.hi{
    vertical-align: top;
}

p.hissu {
    width: 4em;
    letter-spacing: .5em;
    background: #FFC424;
    text-align: center;
    margin: 6px 5px 5px;
    padding-left: .5em;
    line-height: 1.5;
	color: #000;			/*文字色*/
}
@media screen and (min-width: 1350px) {
    article {
        max-width: 1110px;
        margin-right: 0;
        width: calc(100% - 200px);
    }
	#mainimg,#mainimg2,#mainimg3 {
	    width: 100vw;
	    max-width: 100%;
	    height: 24vh;
		position: inherit;
		z-index: -1;
		left: 0px;top: 0px;
	}
	#mainimg2 {
        height: 21vh;
    }
    #mainimg3 {
	    height: 8vh;
	}
    .vegas-slide-inner {
        height: 90vh;
    }
/*    .scroll {
        right: auto;
        position: absolute;
        z-index: 1;
        left: 50%;
        bottom: 0px;
    }*/
    article.kuuu {
	    margin-left: 250px;
	    width: calc(100% - 250px);
	    margin-right: 0px;
	    max-width: none;
	}
	.siruu .coo {
	    max-width: 1110px;
	    margin-right: 0;
	    width: calc(100% - 200px);
	}
	.siru .list-half-parts {
	    max-width: 1110px;
	    margin-right: 0;
	    width: calc(100% - 200px);
	}
	#naiyo dt span {
	    display: inline-block;
	    width: 6em;
	    background: #fff;
	    color: #000;
	    border: none;
	    text-align: left;
	    border-radius: 3px;
	    margin-right: 1em;
	    align-self: flex-start;
	    line-height: 1.5;
	    position: relative;
	    top: 0;
	    border-radius: 13px;
	    padding: 2px 7px;
	    font-size: 14px;
	}
	.list p.btn {
	    position: absolute;
	    bottom: 2px;
	    right: 10px;
	    width: 155px;
	    height: 60px;
	}
}
@media screen and (min-width: 1420px) {
	#mainimg,#mainimg2,#mainimg3,#mainimgb {
	    width: 100vw;
	    max-width: 100%;
	    height: 32vh;
		position: inherit;
		z-index: -1;
		left: 0px;top: 0px;
	}
	#mainimg2 {
        height: 35vh;
    }
    #mainimg3 {
	    height: 23vh;
	}
}
h3.aoo{
    font-size: 1.4em;
    line-height: 1.5;
    color: #5CB8E3;
}
figure.w30p a figcaption {
    background: #5CB8E3;
    padding: 2px 10px;
    color: #ffffff;
}
figure.step-f img,figure.step-e img{
    float: left;
    padding-right: 20px;
}

figure.step-f{
    background-image: url(../images/step-f.png);
    background-size: contain;
    background-repeat: no-repeat;
    padding: 10px 15px 20px 15px;
}
figure.step-e{
    background-image: url(../images/step-e.png);
    background-size: contain;
    background-repeat: no-repeat;
    padding: 10px 15px 20px 15px;
}
h3.u-line{
    border-bottom: 1px #ccc solid;
    margin-bottom: 0.5em;
}
.o-ma{
    font-weight: 600;
}
table.bb , table.bb td, table.bb th {
	border: 1px solid #595959;
	border-collapse: collapse;
}
table.bb td, table.bb th {
	padding: 10px 0 10px 15px;
    width: auto;
    height: auto;
    text-align: left;
}
table.bb th {
	background: #e7e7e7;
	width: 170px;
	font-weight: 500;
	vertical-align: top;
}
table.flow td, table.flow th {
    padding: 5px 3px 5px 10px;
    width: auto;
    height: auto;
    vertical-align: top;
}
table.flow th {
    background: #e7e7e7;
    width: 25%;
    font-weight: 500;
    text-align: left;
    vertical-align: top;
}

table.flow th {
    background: #e7e7e7;
    width: 25%;
    font-weight: 500;
    text-align: left;
}
main.patopp {
    padding-top: 70px;
}
fieldset.hako .toggle + label.label {
    cursor: pointer;
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
    margin-right: 5px;
    margin-bottom: 10px;
    display: inline-block;
    background: #fff;
    border: 1px solid;
    padding: 3px 10px;
    border-radius: 5px;
    border: 1px solid #333;
    padding: 34px 20px 20px;
    height: 70px;
    color: #666;
}
fieldset.hako .toggle + label.label::before {
    content: url(../images/heart.png);
    top: 15%;
    right: auto;
    left: 40%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
}
fieldset.hako #toggle + label.label::before {
    animation: bound 1.1s linear 0s infinite;
}
fieldset.hako .toggle:checked + label.label::before {
    content: url(../images/redheart.png);
    color: #666;
}
fieldset.hako input {
    display: none; /* デフォルトのinputは非表示にする */
}
fieldset.hako label {
    margin-right: 5px; /* ボタン同士の間隔 */
    margin-bottom: 10px;
    display: inline-block;
    background: #fff;
    border: 1px solid;
    padding: 3px 10px;
    border-radius: 5px;
    border: 1px solid #333; /* 淵の線を指定 */
    padding: 5px 20px; /* 上下左右に余白をトル */
}
fieldset.hako input:checked + label {
    color: #FFF; /* 文字色を白に */
    background: #FFD348; /* 背景色を薄い赤に */
    border: 1px solid #FFD348; /* 淵の線を薄い赤に */
}
fieldset.hako label::before {
    background-color: #fff;
    border-radius: 0%;
    border: none;
    width: 0;
    height: 0;
    transform: translateY(-50%);
    top: 50%;
    left: 5px;
}
fieldset.hako label::after {
    border-bottom: none;
    border-left: none;
    opacity: 0;
    height: 5px;
    width: 10px;
    transform: rotate(-45deg);
    top: 8px;
    left: 10px;
}
fieldset.hako input:checked + label::after {
    opacity: 0;
}
.infobox {
    position: relative;
    margin: 2em 0;
    padding: 0.5em 1em;
    border: solid 1px #ccc;
    border-radius: 8px;
}
.infobox .box-title {
    position: absolute;
    display: inline-block;
    top: -13px;
    right: 10px;
    padding: 0 9px;
    line-height: 1;
    background: #FFF;
    font-weight: bold;
}
.infoimg {
	width: min(50%, 250px);
	margin-right: 10px;
}
.flex {
    display: flex;
}
ul li.siromaru {
    list-style: none;
    display: block;
    background: #ffffff;
    border-radius: 20px;
    padding: 0px 10px;
}
ul li.siromaru::before {
    content: "";
    float: left;
    margin-top: 0.5em;
}
ul li.siromaru a img {
    margin-right: 5px;
}
#menubar ul li.siromaru a {
    padding: 10px;
}
figure.svgmap{
    width: 70%;
    margin-right: auto;
    margin-left: auto;
}
.gry fieldset label::after {
    border-bottom: 2px solid #000;
    border-left: 2px solid #000;
    opacity: 0;
    height: 5px;
    width: 10px;
    transform: rotate(-45deg);
    top: 11px;
    left: 10px;
}
.gry fieldset input:checked + label::after {
	opacity: 1;
}
table.info label::after {
    border-bottom: 2px solid #000;
    border-left: 2px solid #000;
    opacity: 0;
    height: 5px;
    width: 10px;
    transform: rotate(-45deg);
    top: 8px;
    left: 10px;
}

table.info input:checked + label::after {
	opacity: 1;
	
}
.biz h1 {
  color: #5caff2;/*文字色*/
  padding: 0.2em 0;/*上下の余白*/
  border-top: solid 3px #5caff2;/*上線*/
  border-bottom: solid 3px #5caff2;/*下線*/
  font-size:1.5rem;
  margin-bottom: 1em;
}
.biz h2 {
   border-bottom: double 5px #5caff2;
    background: none;
    border-radius: 0;
    padding: 0;;
  font-size:1.3rem;
  margin-bottom: 1em;
}
.biz h3{
  color: #6594e0;/*文字色*/
  /*線の種類（点線）2px 線色*/
  border-bottom: dashed 2px #6594e0;
  margin-bottom: 1em;
  font-size:1.1rem;
}
.biz pre {
  padding: 0.5em;/*文字周りの余白*/
  display: inline-block;/*おまじない*/
  line-height: 1.3;/*行高*/
  vertical-align: middle;
  margin-bottom: 1em;
}

.biz pre:before {
  content: '●';
  color: #5caff2;
  margin-right: 8px;
}
.biz a {
	text-decoration: underline;
	color: blue;
}
.biz table {
    width: 100% !important;

}
