@charset "utf-8";
/* CSS Document */


/* ========初期化設定======== */
* {
	font-family:"ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	color: #000;
}
html{
    height:100%;
}

body {
	background:url('../images/bg_beach.jpg') #4294bf no-repeat center center fixed;
	font-size: 1.2rem;
	line-height: 1.5;
	text-align: center;
	margin:0 auto;
    padding:0;
}

a {
	color: #0066ff;
}

a:visited {
	color: #0066ff;
	text-decoration: none;
}

a:hover {
	color: #0066ff;
	text-decoration: underline;
}

a img{
	border:none;
}

.thankslink a{
	color: #0099FF;
	text-decoration:underline;
}
.thankslink a:hover{
	color: #990000;
	text-decoration: none;
}
.osu a:hover {
	position:relative;
	top:1px;
	left:1px;

}
h1,h2,h3,h4,h5,h6 {
   margin:0;
}

img{
	border:0;
}
img.w100p {
	width:100%;
}
hr{
  	border-top:solid 1px #999999;
	width:94%;
	height:1px;
	margin-top:30px;
}
* html hr{/* for -IE6 */
  margin:0;
}
*:first-child+html hr{/* for IE7 */
  margin:0;
}
dl dt{
	font-weight:bold;
}
dd {
	margin-bottom:30px;
}
/* ======== 全体 ======== */

.clear {
	clear:both;
}
.imgc {
	float:left;
	margin:0 auto;
}
.imgl {
	float:left;
	margin:0 10px 10px 30px;
}
.imgr {
	float:right;
	margin:10px;
}
.imgr2 {
	float:right;
	margin:0 0 10px 10px;
}



/* ========全体レイアウト======== */
#wrapper {
	width:900px;
	background:url("../images/bg_wrapper.png") 0 0 repeat-y;
	text-align:center;
	margin:0 auto;
	position:relative;
	bottom:0;
}
@media screen and (max-width: 767px) { /*ウィンドウ幅が最大767pxまでの場合に適用*/
	#wrapper {
		width:100%;
	}
}


#container {
	background:#fff;
	margin:0 25px;
	text-align:left;
	padding:20px 0;
	width:94%;
}
@media screen and (max-width: 767px) { /*ウィンドウ幅が最大767pxまでの場合に適用*/
	#container {
		margin:0 0px;
		text-align:left;
		padding:10px 0;
		width:100%;
	}
}
#header {
	width:100%;
	margin:0 auto;
	text-align:center;
	color:#fff;
}

#nav {
	width:100%;
	float:left;
    background:#fff url("../images/menu_bg.jpg") 0 0 repeat-x;
	position:relative;
	top:0;
}

#contents {
	float:left;
}

#main {
	width:100%;
}
img.icatch01 {
	width:100%;
}



#footerlink {
	position:relative;
	top:15px;
	padding:0 100px;
}

#footer {
	width:100%;
	height:30px;
	background:#62b04d;
	margin:100px auto　0;
	position:absolute;
    bottom:0px;
	color:#fff;
	font-weight:bold;
	font-size:1rem;
	padding-top:5px;
}



/* ========ヘッダー======== */
#header {
	text-align: left;
}

#headlink {
margin:0;
}

#headlink ul {
	font-size:80%;
	float:right;
	margin:0;
color:#fff;
}
#headlink li {
	list-style:none;
	float:right;
	margin-left:10px;
	color:#fff;

}

#headlink li a {
	color:#fff;
	text-decoration:none;
}




/* ========MENU CUSTOMIZE======== */
div#nav ul {
   width:800px;
   margin:0 auto;
   padding:0;
}

div#nav li {
   float:left;
   font-size:75%;/* 12px相当 */
   color:#333;
   text-align:center;
   list-style-type:none;
   font-weight:bold;
}

div#nav li a{
   display:block;
   width:132px;
   color:#5A5132;
   line-height:30px;
   border-right:1px solid #D8D8D8;
   font-weight:bold;
}

div#nav li.home a {
   border-left:1px solid #D8D8D8;
}

div#nav li a:hover {
   color:#FF6600;
   text-decoration:none;
   background:#fff url("../images/menu_bg.jpg") 0 -30px repeat-x;
   z-index:100;
}




/* ========本文======== */

h2 {
		font-weight:bold;
	font-size:1.7rem;
	line-height:1.3;
	color:#000;
	text-align:left;
	background:#fff;
	padding:10px;
}

h3 {
	font-weight:bold;
	font-size:1.2rem;
	color:#fff;
	text-align:left;
	background:#62b04d;
	padding:5px 10px;
	margin-top:50px;
}

h4 {
	font-size:2rem;
}


p {
	margin:20px 25px;
	line-height:160%;
	font-size:1rem;
}
a {
	color:#009;
	text-decoration:none;
}
a.buttoncss {
	background:#445597;
	padding:30px;
	color:#fff;
	border-radius: 10px;		/* CSS3草案 */
   -webkit-border-radius: 10px;	/* Safari,Google Chrome用 */
   -moz-border-radius: 10px;	/* Firefox用 */
   font-size:1.6rem;
   font-weight:bold;
   margin:30px auto;
   text-align:center;
}
a:hover.buttoncss   {
	position:relative;
	top:1px;
	right:1px;
	text-decoration:none;
}

@media screen and (max-width: 767px) { /*ウィンドウ幅が最大767pxまでの場合に適用*/
	a.buttoncss {
		padding:15px;
	   font-size:1.25rem;
	   margin:10px auto;
	}
}
.buttoncssxl {
	background:#F7FF00;
	padding:15px;
	color:#000;
   font-size:4.2rem;
   font-weight:bold;
   margin:30px auto;
   text-align:center;
	width: 90%;
	line-height: 1.4;
	border-bottom: solid 10px #0C3403;
	border-right:  solid 8px #0C3403;
}
a.buttoncssxl    {
	color:#fff;
}

a:hover .buttoncssxl    {
	position:relative;
	top:1px;
	right:-1px;
	text-decoration:none;
}

@media screen and (max-width: 767px) { /*ウィンドウ幅が最大767pxまでの場合に適用*/
	a.buttoncssxl  {
		padding:15px;
	   font-size:2rem;
		color:#fff;
	   margin:10px auto;
	}
}
a.buttoncssb {
	background:#b30b68;
	padding:30px 30px;
	color:#fff;
	border-radius: 10px;		/* CSS3草案 */
   -webkit-border-radius: 10px;	/* Safari,Google Chrome用 */
   -moz-border-radius: 10px;	/* Firefox用 */
   font-size:1.6rem;
   font-weight:bold;
   margin:30px auto;
   text-align:center;
}
a:hover.buttoncssb   {
	position:relative;
	top:1px;
	right:-1px;
	text-decoration:none;
}

a.buttoncsss {
	background:red;
	padding:10px;
	color:#fff;
	border-radius:10px;
	display:block;
	float: right;
	font-size: 14px;
	margin: 0 20px 10px;
}
a:hover.buttoncsss   {
	position:relative;
	top:1px;
	right:1px;
	text-decoration:none;
}

a.button  {
	margin:20px auto;
	text-align:center;
	position:relative;
}
a:hover.button img {
	position:relative;
	top:1px;
	left:1px;
}
.tokutennaiyo {
	font-size:130%;
	color:#F06;
	font-weight:bold;
}
.discription {
   background: #eee;
   padding: 30px;
   line-height:200%;
   text-align: left;

}
.toku_fin_parents {
	position:relative;
}


.toku_fin {
	position:relative;
	top:-180px;
	right:-500px;
	z-index: 200;
	background: red;
	color:#fff;
	padding: 10px;
	width: 250px;
	transform: rotate(-10deg);
    -moz-transform: rotate(-10deg);
    -webkit-transform: rotate(-10deg);
}


.sp-20px {
	margin-top:20px;
}
.sp-30px {
	margin-top:30px;
}
.sp-50px {
	margin-top:50px;
}
.sp-70px {
	margin-top:70px;
}
.sp-100px {
	margin-top:100px;
}
@media screen and (max-width: 767px) { /*ウィンドウ幅が最大767pxまでの場合に適用*/
	.sp-100px {
		margin-top:80px;
	}
}



/* ========フッター======== */
#footerlink ul {
	position:relative;
	margin:0 auto;
}

#footerlink li {
	float:left;
	font-size:80%;
	list-style-type:none;
}


#footer .copy {
	font-size:80%;
	position:relative;
	top:10px;
        color: #fff;
}




/* ========文字======== */

.white {
	color:#fff;
}
.fc-ylw {
	color: #FFFB00;
}
.text-narrow {
	    transform: scale(0.9, 1);
}
.b {
	font-weight:bold;
}
.rb {
	font-weight:bold;
	color:red;
}
.orangeb {
	font-weight:bold;
	color:#ff7e00;
}
.bb {
font-weight:bold;
	color:#007EFF;
}
.gb {
    font-weight:bold;
	color:#62b04d;
}
.bg-y {
	background :#FBF797;
}
.f-45 {
	font-size:45%;
}
.f-60 {
	font-size:60%;
}
.f-75 {
	font-size:75%;
}
.f-80 {
	font-size:80%;
}
.f-130 {
	font-size:130%;
}
.f-150 {
	font-size:150%;
}
.f-180 {
	font-size:180%;
}
.f-200 {
	font-size:2.5rem;
	line-height: 1.5;
}
.f-xxl {
	font-size:6rem;
	line-height: 1.5;
}
ul li{
	font-size:1.3rem;
}

ul.list01 li {
	color:#ff7e00;
	font-weight:bold;
}
@media screen and (max-width:767px){
	.f-150 {
		font-size:120%;
	}
}
.f-190 {
	font-size:190%;
}
.f-230 {
	font-size:230%;
}
.sign {
	font-weight:bold;
	font-family:"ＭＳ 明朝","ＭＳ Ｐ明朝", "細明朝体", "ヒラギノ明朝 Pro W3";
}


/* ========囲み======== */

.prof {
   margin: 50px auto 100px;
   border:#62b04d solid 3px;
	 color:#000;
}
@media screen and (max-width: 767px) { /*ウィンドウ幅が最大767pxまでの場合に適用*/
	.prof {
	   margin: 0 2% 50px;
	}
}
.prof h2 {
	font-weight:bold;
	font-size:2rem;
	color:#fff;
	background: #62b04d;
	padding:20px 15px 20px 30px;
	text-align:left;
}
@media screen and (max-width:767px){
	.prof h2 {
		font-size:1.5rem;
	}
}
.prof>.ninzu {
	background: #fff;
	color:#ff008d;
  font-weight: bold;
	padding: 10px;
	float: right;
	position: relative;
	top:10px;
	left:-5px;
}
.ninzu2 {
	background:#3B3A3A;
	color:#fff;
	font-size: 2rem;
  	font-weight:bolder;
	padding: 10px;
	position: relative;
	top:65px;
	left:25px;
	z-index: 100;
	width: 40%;
	border-radius: 20px;
	text-align: center;
}
.prof>.ninzu3 {
	background: #fff;
	color:red;
  font-weight: bold;
	padding: 10px;
	float: right;
	position: relative;
	top:25px;
	left:-5px;
}
.prof>.ninzu4 {
	background: #fff;
	color:#ff008d;
  font-weight: bold;
	padding: 10px;
	float: right;
	position: relative;
	top:25px;
	left:-5px;
}
.prof h4 {
	font-weight:bold;
	font-size:1.2rem;
	color:#62b04d;
	margin:40px 30px 10px;
	padding-left:5px;
	border-left:solid 10px #62b04d;
}

.prof h5 {
	margin-top:20px;
	text-align:center;
	font-size:1.5rem;
}

.prof p {
	font-size:1rem;
	line-height:1.4;
	margin:0 30px 30px;

}
.profmainph {margin: 0 30px 10px;}
.profmainph img {
	height: 198px;
}
.profmainph2 {margin: 0 0 10px 30px;
	position: relative;
	top:7px;
float: left;}
.profmainph2 img {
	height: 176px;
}
.profmainph2b {margin: 0 0 0;
float: left;}
.profmainph2b img {
	height: 176px;
}
.profmainph3 {margin: 0 30px 10px;}
.profmainph3 img {
	height: 176px;
}
.profmainph4 {margin: 0 30px 10px;}
.profmainph4 img {
	height: 180px;
}



.prof ul{
	margin:30px;
}
.prof ul li {
	font-size:.9rem;
	margin:1px auto;
}
.kakomi {
	border:solid 3px #333;
	margin:20px auto;
	padding:20px;
	font-size:1.2rem;
	font-weight:bold;
}
.kakomi-r {
	border:solid 3px #CC0000;
	margin:20px auto;
	padding:20px;
	font-size:1.5rem;
	font-weight:bold;
	color:#c00;
	text-align:center;
}


.borderb1 {
   border-color:#002f6d;
}
h2.bg1{
	background-color: #002f6d;
}

.borderb2 {
   border-color:#84286b;
}
h2.bg2{	background: #84286b;
}
h4.color2{
	border-color:#84286b;
	color: #84286b;
}
.borderb3 {
   border-color:#1226aa;
}
h2.bg3{	background: #1226aa;
}
h4.color3{
	border-color:#1226aa;
	color: #1226aa;
}
.borderb4 {
   border-color:#0056b8;
}
h2.bg4{	background: #0056b8;
}
h4.color4{
	border-color:#0056b8;
	color: #0056b8;
}
.borderb5 {
   border-color:#005678;
}
h2.bg5{	background: #005678;
}
h4.color5{
	border-color:#005678;
	color: #005678;
}
.medatsu {
	font-size: 23px;
	font-weight: 800;
	background:#FFF100;
	color:#000;
	margin: 10px 30px 20px;
	padding: 5px;
	text-align: center;
}

.table_design03 {
  border-collapse: collapse;
  width: 100%;
  max-width: 90%;
	margin: 0 auto 50px;
}
.table_design03 th, .table_design03 td {
  border-bottom: 2px solid #c1c7c6;
  padding: 0.6em;
}
.table_design03 th {
  border-bottom: 2px solid #62b04d;;
  font-weight: bold;
  text-align: center;
  width: 20%;
  min-width: 4em;
}

:root {
  --flowchart-border: 4px;/* 縦線太さ 変更可 */
  --flowchart-dot-size: 14px;/* ドット大きさ 変更可 */
  --flowchart-dot-color: rgb(228,71,57);/* ドットの色 変更可 */
}
.flowchart {
  list-style: none !important;
  counter-reset: flownum;/* リストアイテムの名称(任意) */
  margin: 1em auto;/* フローチャートと前後要素との距離(任意) */
  padding: 0 !important;
	width: 100%;
	max-width: 70%;
}
.flowchart li {
  position: relative;
  padding: 0 0 0 calc(var(--flowchart-dot-size) + 20px);
}
.flowchart-content {
  position: relative;
  padding: 0 0 1em;
}

/* 縦線デザイン */
.flowchart-content::before {
  content: "";
  display: block;
  position: absolute;
  top: 9px;
  left: calc(calc(calc(var(--flowchart-dot-size) / 2) + calc(var(--flowchart-border) / 2) + 20px) * -1);
  width: 4px;
  height: 100%;
  background: rgb(200,200,200);
}

/* 最終工程の縦線が必要な方ここから削除 */
.flowchart li:last-of-type .flowchart-content::before {
  content: none;
}
/* 最終工程の縦線が必要な方ここまで削除 */

/* 番号部位デザイン */
.flowchart li::before {
  content: "STEP " counter(flownum);
  counter-increment: flownum;
  color: white;/* 番号文字色 */
  color: rgb(150,150,150);/* STEP文字色 */
  font-weight: 700;
  font-size: 13px;/* STEPフォントサイズ */
  line-height: 1.3;
}

/* ドットデザイン */
.flowchart li::after {
  content: "";
  display: block;
  position: absolute;
  top: 8px;/* 通常は 0, STEPの文字とのバランスを見て調整 */
  left: 0;
  width: var(--flowchart-dot-size);
  height: var(--flowchart-dot-size);
  border-radius: 50%;
	  background: var(--flowchart-dot-color);

  border: 2px solid var(--flowchart-dot-color);/* 円の色 */
}
.flowchart li:nth-of-type(odd)::after {
  background: var(--flowchart-dot-color);
}

/* 工程タイトル */
.flowchart-title {
  margin: 0 0 .6em;
  font-weight: bold;
  font-size: 1.04em;
  line-height: 1.4;/* 大きめの文字は 1.2 〜 1.4 程度で調整すると良い */
}

/* p要素を利用した場合の調整 */
.flowchart li p {
  margin: 1em 0 !important;
}
.flowchart li p:last-of-type {
  margin-bottom: 0 !important;
}