@charset "UTF-8";

@font-face {
  font-family: "メイリオ","ＭＳ Ｐゴシック","ヒラギノ角ゴ Pro W3","Osaka",Arial,sans-serif;
  src: local("Yu Gothic Medium");
}

/* =================================
 reset
================================= */
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed, 
figure, figcaption, footer, header, hgroup, 
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	font-size: 100%;
	font: inherit;
	vertical-align: baseline;
}
article, aside, details, figcaption, figure, 
footer, header, hgroup, menu, nav, section, main {
	display: block;
}
body {
	line-height: 1;
	color:#333;
}
ol, ul {
	list-style: none;
}
blockquote, q {
	quotes: none;
}
blockquote:before, blockquote:after,
q:before, q:after {
	content: '';
	content: none;
}
table {
	border-collapse: collapse;
	border-spacing: 0;
}
img {
	max-width: 100%;
	line-height: 0;
	vertical-align: bottom;
}
iframe {
	vertical-align: bottom;
	border: 0;
}
table th,
table td {
	vertical-align: top;
}
input,
/*select,*/
textarea,
button {
	/*-webkit-appearance: none;*/
	-moz-appearance: none;
}
/*select::-ms-expand {
	display: none;
}*/
*, :after, :before {
	box-sizing: border-box;
}

/* =================================
 margin・padding
================================= */

/*margin right*/
.mr05 {
  margin-right: 5px;
}
.mr10 {
  margin-right: 10px;
}
.mr15 {
  margin-right: 15px;
}
.mr20 {
  margin-right: 20px;
}
.mr25 {
  margin-right: 25px;
}
.mr30 {
  margin-right: 30px;
}
.mr35 {
  margin-right: 35px;
}
.mr40 {
  margin-right: 40px;
}
.mr45 {
  margin-right: 45px;
}
.mr50 {
  margin-right: 50px;
}
/*margin left*/
.ml05 {
  margin-left: 5px;
}
.ml10 {
  margin-left: 10px;
}
.ml15 {
  margin-left: 15px;
}
.ml20 {
  margin-left: 20px;
}
.ml25 {
  margin-left: 25px;
}
.ml30 {
  margin-left: 30px;
}
.ml35 {
  margin-left: 35px;
}
.ml40 {
  margin-left: 40px;
}
.ml45 {
  margin-left: 45px;
}
.ml50 {
  margin-left: 50px;
}
/*margin top*/
.mt00 {
  margin-top: 0px !important;
}
.mt05 {
  margin-top: 5px;
}
.mt10 {
  margin-top: 10px;
}
.mt15 {
  margin-top: 15px;
}
.mt20 {
  margin-top: 20px;
}
.mt25 {
  margin-top: 25px;
}
.mt30 {
  margin-top: 30px;
}
.mt35 {
  margin-top: 35px;
}
.mt40 {
  margin-top: 40px;
}
.mt45 {
  margin-top: 45px;
}
.mt50 {
  margin-top: 50px;
}
.mt80 {
  margin-top: 80px;
}
.mt100 {
  margin-top: 100px;
}
/*margin bottom*/
.mb00 {
  margin-bottom: 0px !important;
}
.mb05 {
  margin-bottom: 5px;
}
.mb10 {
  margin-bottom: 10px;
}
.mb15 {
  margin-bottom: 15px;
}
.mb20 {
  margin-bottom: 20px;
}
.mb25 {
  margin-bottom: 25px;
}
.mb30 {
  margin-bottom: 30px;
}
.mb35 {
  margin-bottom: 35px;
}
.mb40 {
  margin-bottom: 40px;
}
.mb45 {
  margin-bottom: 45px;
}
.mb50 {
  margin-bottom: 50px;
}
.mb80 {
  margin-bottom: 80px;
}
.mb100 {
  margin-bottom: 100px;
}
/*padding right*/
.pr05 {
  padding-right: 5px;
}
.pr10 {
  padding-right: 10px;
}
.pr15 {
  padding-right: 15px;
}
.pr20 {
  padding-right: 20px;
}
.pr25 {
  padding-right: 25px;
}
.pr30 {
  padding-right: 30px;
}
.pr35 {
  padding-right: 35px;
}
.pr40 {
  padding-right: 40px;
}
.pr45 {
  padding-right: 45px;
}
.pr50 {
  padding-right: 50px;
}
/*padding left*/
.pl05 {
  padding-left: 5px;
}
.pl10 {
  padding-left: 10px;
}
.pl15 {
  padding-left: 15px;
}
.pl20 {
  padding-left: 20px;
}
.pl25 {
  padding-left: 25px;
}
.pl30 {
  padding-left: 30px;
}
.pl35 {
  padding-left: 35px;
}
.pl40 {
  padding-left: 40px;
}
.pl45 {
  padding-left: 45px;
}
.pl50 {
  padding-left: 50px;
}
/*padding top*/
.pt05 {
  padding-top: 5px;
}
.pt10 {
  padding-top: 10px;
}
.pt15 {
  padding-top: 15px;
}
.pt20 {
  padding-top: 20px;
}
.pt25 {
  padding-top: 25px;
}
.pt30 {
  padding-top: 30px;
}
.pt35 {
  padding-top: 35px;
}
.pt40 {
  padding-top: 40px;
}
.pt45 {
  padding-top: 45px;
}
.pt50 {
  padding-top: 50px;
}
.pt80 {
  padding-top: 80px;
}
.pt100 {
  padding-top: 100px;
}
.pt150 {
  padding-top: 150px;
}
.pt200 {
  padding-top: 200px;
}
/*padding bottom*/
.pb05 {
  padding-bottom: 5px;
}
.pb10 {
  padding-bottom: 10px;
}
.pb15 {
  padding-bottom: 15px;
}
.pb20 {
  padding-bottom: 20px;
}
.pb25 {
  padding-bottom: 25px;
}
.pb30 {
  padding-bottom: 30px;
}
.pb35 {
  padding-bottom: 35px;
}
.pb40 {
  padding-bottom: 40px;
}
.pb45 {
  padding-bottom: 45px;
}
.pb50 {
  padding-bottom: 50px;
}
.pb80 {
  padding-bottom: 80px;
}
.pb100 {
  padding-bottom: 100px;
}
.pb150 {
  padding-bottom: 150px;
}

/* =================================
font
================================= */
.bold {
	font-weight: bold;
}
.normal {
	font-weight: normal !important;
}
.font50 {
	font-size: 50% !important;
}
.font60 {
	font-size: 60% !important;
}
.font70 {
	font-size: 70% !important;
}
.font80 {
	font-size: 80% !important;
}
.font90 {
	font-size: 90% !important;
}
.font100 {
	font-size: 100% !important;
}
.font110 {
	font-size: 110% !important;
}
.font120 {
	font-size: 120% !important;
	line-height:1.8em;
}
.font130 {
	font-size: 130% !important;
	line-height:2em !important;
}
.font150 {
	font-size: 150% !important;
	line-height:1.8em;
}
.font180 {
	font-size: 180% !important;
line-height:2em;
}
.font200 {
	font-size: 200% !important;
	line-height:2em;
}
.font230 {
	font-size: 230% !important;
	line-height:2em;
}
.font250 {
	font-size: 250% !important;
	line-height:2em;
}
.white{
	color:#fff;
}
.red{
	color:#c80000;
}
.yellow{
	color:#cfd621;
}
.orange{
	color:#ff6600;
}

.yu_font{
	font-family:"游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif !important;
}
.yugo_font{
	font-family: "游ゴシック体", YuGothic, "YuGothic M", sans-serif;
}
.heisei_font{
	font-family: "heisei-kaku-gothic-std";
}

.txtCenter{
	text-align: center;
}
.txtJustify{
	text-align: justify;
}

.lh15{
	line-height: 1.5em;
}
.lh18{
	line-height: 1.8em;
}
.lh20{
	line-height: 2.0em;
}

/* =================================
triangles
================================= */
.triangles01{
	position: relative;
    text-align: center;
    background: #ffdb00;
    margin-bottom: 20px;
	padding-top:15px;
	padding-bottom:15px;
	font-weight:bold;
	color:#fff;
}
.triangles01:before {
    position: absolute;
    top: 100%;
    left: 50%;
    border: solid transparent;
    content: " ";
    border-top-color: #ffdb00;
    border-width: 50px;
    margin-left: -50px;
}

.triangles011{
	position: relative;
    text-align: center;
    background: #ffdb00;
	padding-top:15px;
	padding-bottom:15px;
	font-weight:bold;
	color:#fff;
}
.triangles011:before {
    position: absolute;
    top: 100%;
    left: 50%;
    border: solid transparent;
    content: " ";
    border-top-color: #ffdb00;
    border-width: 50px;
    margin-left: -50px;
}

.triangles02{
	position: relative;
    text-align: center;
    background: #000;
    margin-bottom: 40px;
	padding-top:30px;
	padding-bottom:30px;
	font-weight:bold;
	color:#fff;
}
.triangles02:before {
    position: absolute;
    top: 100%;
    left: 50%;
    border: solid transparent;
    content: " ";
    border-top-color: #000;
    border-width: 100px;
    margin-left: -100px;
}

.triangles022{
	position: relative;
    text-align: center;
    background: #000;
    margin-bottom: 20px;
	padding-top:30px;
	padding-bottom:30px;
	font-weight:bold;
	color:#fff;
}
.triangles022:before {
    position: absolute;
    top: 100%;
    left: 50%;
    border: solid transparent;
    content: " ";
    border-top-color: #000;
    border-width: 30px;
    margin-left: -30px;
}

/* =================================
clearfix
================================= */

.clearfix:after{
	content:".";
	display:block;
	height:0;
	clear:both;
	visibility:hidden;
}
.clearfix{
	display:inline-table;
	min-height:1%;
}
/* \*/
html .clearfix{
	* height:1%;
}
.clearfix{
	display:block;
}
/* */
.clear {
	clear: both;
}

/* =================================
 スマホ・PC画像振り分け
================================= */

@media screen and (min-width: 768px) {
.sp_only{
display:none !important;
}
}

@media screen and (max-width: 768px) {
.pc_only{
display:none !important;
}
}


/* =================================
 header
================================= */
header .head_inner{
	position: relative;
}

/*ヘッダー背景*/
header .head_bg img{
	display: block;
}
.head_bg_pc{
	width: 100%;
	object-fit: cover;
}
.head_bg_sp{
	width: 100%;
}

.head_bg_h{
	width: 100%;
	object-fit: cover;
}

/*ヘッダータイトル*/
img.tit_headimg{
	max-width: 90%;
	position: absolute;
	top: 15px;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
}

/*ヘッダーテキスト*/
img.txt_headimg{
	max-width: 80%;
	position: absolute;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
}
@media screen and (min-width: 768px) {
	img.txt_headimg{
		bottom: 5%;
	}
}
@media screen and (max-width: 768px) {
	img.txt_headimg{
		bottom: 20px;
	}
}

.head{
	position: relative;
    text-align: center;
    background: #d50038;
	padding-top:10px;
	padding-bottom:10px;
	font-weight:bold;
	color:#fff;
}

/* =================================
 wrapper
================================= */
.wrapper{
	width:100%;
}

.inner1600{
	width: 1600px;
	max-width:calc(100% - 30px);
	margin-left:auto;
	margin-right:auto;
}

.inner1000{
	width: 1000px;
	max-width:calc(100% - 30px);
	margin-left:auto;
	margin-right:auto;
}
.inner768{
	width: 768px;
	max-width:100%;
	margin-left:auto;
	margin-right:auto;
}

.inner97{
	width: 100%;
	max-width:calc(100% - 30px);
	margin-left:auto;
	margin-right:auto;
}
img{
	display: block;
}
img.imgCenter{
	text-align: center;
	margin-left: auto;
	margin-right: auto;
}

.bg_o{
	background: #F3F1F0;
}

.bg_y{
	background: #ffff00;
}

/* ----------------------------------------------------------------------
 ２カラム用
---------------------------------------------------------------------- */

.full_content{
width: 100%;
margin: 0 !important;
text-align: center;
overflow:hidden;
-moz-box-sizing: border-box;
box-sizing: border-box;
}
.single_content{
width:1000px;
max-width:100%;
margin:0 auto;
padding:0 0;
}
.left_content{
float:left;
width:50%;
padding:0px;
-moz-box-sizing: border-box;
box-sizing: border-box;
}
.right_content{
float:right;
width:50%;
padding-left:0px;
-moz-box-sizing: border-box;
box-sizing: border-box;
}
.left_content30{
float:left;
width:28%;
padding:0px;
-moz-box-sizing: border-box;
box-sizing: border-box;
}
.right_content30{
float:right;
width:28%;
padding-left:0px;
-moz-box-sizing: border-box;
box-sizing: border-box;
}
.left_content70{
float:left;
width:68%;
padding:0px;
-moz-box-sizing: border-box;
box-sizing: border-box;
}
.right_content70{
float:right;
width:68%;
padding-left:0px;
-moz-box-sizing: border-box;
box-sizing: border-box;
}
.right_content40{
float:right;
width:38%;
padding-left:0px;
-moz-box-sizing: border-box;
box-sizing: border-box;
}
.left_content60{
float:left;
width:58%;
padding:0px;
-moz-box-sizing: border-box;
box-sizing: border-box;
}




.sp_box{
	padding:0 2%;	
}


.flex-container {
    display: flex; /* フレックスコンテナとして指定 */
    justify-content: space-between; /* 子要素の間にスペースを均等に配置 */
    align-items: stretch; /* 子要素の高さを揃える */
    width: 100%;
    max-width: 1200px;
    margin: 0 auto; /* コンテナを中央に配置 */
}

.left-column, .main-column, .right-column {
    padding: 20px;
    background-color: #E5E5E6;
    box-sizing: border-box; /* パディングとボーダーを含めてサイズを計算 */
}

.left-column {
    flex: 1; /* 左カラムの比率を1とする */
    max-width: 33%;
}

.main-column {
    flex: 3; /* 中央カラムの比率を3とする */
    max-width: 33%;
}

.right-column {
    flex: 1; /* 右カラムの比率を1とする */
    max-width: 33%;
}

.flex-container_sp {
    display: flex; /* フレックスコンテナとして指定 */
    justify-content: space-between; /* 子要素の間にスペースを均等に配置 */
    align-items: stretch; /* 子要素の高さを揃える */
    width: 100%;
    max-width: 768px;
    margin: 0 auto; /* コンテナを中央に配置 */
}

.left-c, .main-c, .right-c {
    padding: 10px;
    background-color: #fff;
    box-sizing: border-box; /* パディングとボーダーを含めてサイズを計算 */
}

.left-c {
    flex: 1; /* 左カラムの比率を1とする */
    max-width: 49%;
}

.main-c {
    flex: 3; /* 中央カラムの比率を3とする */
    max-width: 33%;
}

.right-c {
    flex: 1; /* 右カラムの比率を1とする */
    max-width: 49%;
}


/* ----------------------------------------------------------------------
  申し込み
---------------------------------------------------------------------- */
.app{
	background: #fff;
}

.app .app_inner{
	width:768px;
	max-width:calc(100% - 30px);
	border-radius: 10px;		/* CSS3草案 */
	-webkit-border-radius: 10px;	/* Safari,Google Chrome用 */
	-moz-border-radius: 10px;	/* Firefox用 */
	margin: 0px auto 0;
}
.app .app_inner img{
	padding:5px;
}
form.app_form{
}
form.app_form input.email_address{
	max-width:90%;
	width:900px;
	height:50px;
	font-size:100%;
	text-align: center;
	display: block;
	margin-left: auto;
	margin-right: auto;
	margin-bottom:15px;
	border-radius: 30px;		/* CSS3草案 */
	-webkit-border-radius: 30px;	/* Safari,Google Chrome用 */
	-moz-border-radius: 30px;	/* Firefox用 */
}
form.app_form .submit_btn{
	border: 0;
	background: url("../images/btn_apps.png") no-repeat 0 0;
	background-size:contain;
	max-width:90%;
	width:100%;
	padding-top: 11.5%;
	display: block;
	margin-left: auto;
	margin-right: auto;
}



.app_sp{
	background: #F3F1F0;
}

.app_sp .app_inner_sp{
	width:768px;
	max-width:calc(100% - 30px);
	border-radius: 10px;		/* CSS3草案 */
	-webkit-border-radius: 10px;	/* Safari,Google Chrome用 */
	-moz-border-radius: 10px;	/* Firefox用 */
	margin: 0px auto 0;
}
.app_sp .app_inner_sp img{
	padding:5px;
}


@media screen and (max-width: 420px) {
form.app_form .submit_btn{
	height:-20%;
}
}

.submit_btn:hover{
	cursor: pointer;
	opacity: 0.5;
}


/* ----------------------------------------------------------------------
  背景
---------------------------------------------------------------------- */
.bg1{
	background:url(../images/bg1.jpg) no-repeat center center;
	background-size: cover;
}

.bg2{
	background:url(../images/bg2.jpg) no-repeat center center;
	background-size: cover;
}

.bg3{
	background:#E5E5E6;
}

.bg4{
	background:url(../images/bg4.jpg) no-repeat center center;
	background-size: cover;
}

.bg5{
	background: #dcdcdc;
}

.bg6{
	background: #F0D7C2;
}

.bg7{
	background:url(../images/bg7.jpg) no-repeat center center;
	background-size: cover;
}

.bg8{
	background: #E6E4D7;
}

.bg9{
	background: #fff8d4;
}

.bg10{
	background: #E6E4D7;
}

.bg11{
	background: #FFFFFF;
}
/* ----------------------------------------------------------------------
  1st_contents
---------------------------------------------------------------------- */
.st{
	background:url(../images/1st.jpg) no-repeat center center;
	background-size: cover;
}

/* ----------------------------------------------------------------------
  2nd_contents
---------------------------------------------------------------------- */
.nd{
	background:#fff;
}



/* =================================
 footer
================================= */

.copyright{
	background: #FF66FF;
}
.copyright p{
	text-align: center;
	color: #fff;
	font-size:80%;
	font-weight:bold;
	line-height: 1.5em;
	width:90%;
	margin-left: auto;
	margin-right: auto;
}

/* ----------------------------------------------------------------------
 トップへ戻るボタン
---------------------------------------------------------------------- */
#pageTop {
	position: fixed;
	bottom: 30px;
	right: 20px;
	z-index: 9999;
}
#pageTop i {
}
#pageTop a {
	display: block;
	color: #fff;
	font-weight: bold;
	font-size:40px;
	text-decoration: none;
	text-align: center;
	background:#f08115;
	width:45px;
	height:45px;
	line-height: 1.1em;
}
#pageTop a:hover {
	text-decoration: none;
	opacity: 0.7;
}

/* =================================
 パソコンのみの設定
================================= */
@media screen and (min-width: 768px) {
/* スマホのみ改行
-------------------------------------------------------------------*/
 .kaigyouSp {
  display: none;
 }
}

/* =================================
 タブレット以下の設定
================================= */
@media screen and (max-width: 768px) {
}


/* =================================
 スマホのみの設定
================================= */
@media screen and (max-width: 420px) {
}


