@charset "utf-8";

#main { width:1100px; margin:10px auto; }
#main .sp { display:none!important; }


/*----------------------�X�}�z��-----------------------*/

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


/*----------------------top�֖߂�----------------------*/
#return_top { text-align:center; margin:10px; }
#return_top a { background: url("https://image.stworld.jp/images/common/tri01.gif") no-repeat scroll left 5px rgba(0, 0, 0, 0); line-height: 1em; padding-left: 10px; }



/*============================================================
  pc
============================================================*/
/*------------------------------------------------------------
  body
------------------------------------------------------------*/
#main{
	width: 100%;
	font-size: 14px;
	font-family: "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;
	color: #333;
	line-height: 1.5em;
	margin: 0 auto 50px;
}

#main a{
	text-decoration: none;
}

#main a:hover {
  opacity: 0.8;
}

.clearfix:after {
  content: "";
  clear: both;
  display: block;
}

.hide {
  height: 0;
  margin: 0 auto;
  overflow: hidden;
  text-indent: 100%;
  white-space: nowrap;
}

.sp_no01 {
  display: block;
}

.pc_no01 {
  display: none;
}


.flt_l {
	float: left;
}

.flt_r {
	float: right;
}



/*------------------------------------------------------------
  font
------------------------------------------------------------*/
.f_bold {
	font-weight: bold;
}

.fcl_or01 {
	color: #f0a659;
}

.f_size01 {
	font-size: 40px;
}

.f_size02 {
	font-size: 14px;
}

.f_size03 {
	font-size: 16px;
}


/*------------------------------------------------------------
  mv
------------------------------------------------------------*/
#mv {
	width: 100%;
	height: 700px;
	background: url("../images/mv01.jpg") center center no-repeat;
	background-size: cover;
	box-sizing: border-box;	
	position: relative;
	overflow: hidden;
}

#mv .mv_ttl {
	width: 1100px;
	height: 346px;
	background: url("../images/mv_ttl.png") center center no-repeat;
	margin: 105px auto 0;
}

#mv .txt_box {
	width: 700px;
	background: rgba(0,0,0,0.6);
	box-sizing: border-box;
	padding: 35px 30px;
	margin: auto;
	position: absolute;
	bottom: 100px;
	left: 0;
	right: 0;
}

#mv .txt_box .mv_txt {
	line-height: 2.0em;
	text-align: center;
	color: #fff;
	font-family: "A-OTF 新ゴ Pro", "A-OTF Shin Go Pro", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}




/*------------------------------------------------------------
  contents01
------------------------------------------------------------*/
#contents01 {
	width: 100%;
	background: #fff;
	box-sizing: border-box;
	padding: 85px 0 95px;
}

#contents01 .inner {
	width: 1100px;
	margin: auto;
	position: relative;
}


/*---------- box01 ----------*/
#contents01 .box01 {
	float: left;
	margin-right: 25px;
}


/*---------- box02 ----------*/
#contents01 .box02 {
	float: left;
}

#contents01 .box02 .title01 {
	line-height: 1.4em;
	font-size: 28px;
	font-weight: bold;
	margin-bottom: 20px;
	position: relative;
}

#contents01 .box02 .title01:after {
	display: block;
	content: "";
	width: 40px;
	height: 2px;
	background: -webkit-repeating-linear-gradient(450deg, #000, #000 12%, #fff 12%, #fff 22%);
	background: repeating-linear-gradient(45deg, #000, #000 12%, #fff 12%, #fff 22%);
	margin: auto;
	position: absolute;
	left: 0;
	bottom: -20px;
}

#contents01 .box02 ol {
	counter-reset: num_count;
  list-style: none; 
	margin-top: 50px;
}

#contents01 .box02 li {
  display: block;
	font-size: 16px;
	font-weight: bold;
  padding-left: 1.8em;
  margin-bottom: 20px;
  position: relative;
}
#contents01 .box02 li:last-child {
  margin-bottom: 0;
}
	
#contents01 .box02 li:before {
  counter-increment: num_count;
  content: counter(num_count);
  background-color: #f0a659;
  width: 1.3em;
  height: 1.3em;
  line-height: 1.35;
  color: #ffffff;
  text-align: center;
  border-radius: 50%;	
  position: absolute;
  left: 0;
}


/*---------- box03 ----------*/
#contents01 .box03 {
	float: right;
}

#contents01 .box03 iframe {
	display: block;
	width: 280px;
	height: 230px;
}

#contents01 .box03 .link_area {
	width: 280px;
	margin-top: 20px;
}



/*------------------------------------------------------------
  contents02
------------------------------------------------------------*/
#contents02 {
	width: 100%;
	height: auto;
	background: url("../images/bg01.jpg") center top no-repeat;
	background-size: cover;
	box-sizing: border-box;
	padding: 60px 0 110px;
}

#contents02 .inner {
	width: 1100px;
	margin: auto;
}


/*---------- ttl_area ----------*/
#contents02 .ttl_area {
	width: 700px;
	margin: auto;
}

#contents02 .ttl_box01 {
	width: 190px;
	height: 195px;
	background: url("../images/cont02_icon01.png") 0 0 no-repeat;
	background-size: 100% auto;
	margin: -85px 50px 0 0;
	float: left;
}

#contents02 .ttl_box02 {
	float: left;
}

#contents02 .ttl_box02 .title01 {
	font-size: 20px;
	font-weight: bold;
	padding-bottom: 20px;
}

#contents02 .ttl_box02 .title02 {
	font-size: 54px;
	font-weight: bold;
}


/*---------- txt_area ----------*/
#contents02 .txt_area {
	line-height: 1.8em;
	text-align: center;
	margin-top: 20px;
}


/*---------- block ----------*/
#contents02 .block {
	margin-top: 50px;
}

#contents02 .block ul {
	overflow: hidden;
}

#contents02 .block li {
	width: 530px;
	text-align: center;
	margin-bottom: 40px;
}

#contents02 .block .no_mb {
	margin-bottom: 0;
}

#contents02 .block li dd {
	min-height: 320px;
	background: #fff;
	box-sizing: border-box;
	padding: 45px 0;
	position: relative;
}


#contents02 .block li dd .text01 {
	font-size: 18px;
	font-weight: bold;
	margin-bottom: 15px;
}


#contents02 .block li dd .btn_area {
	margin-top: 30px;
	position: absolute;
	bottom: 35px;
	left: 0;
	right: 0;
}

#contents02 .block li dd .btn_area .btn {
	width: 410px;
	height: 60px;
	margin: auto;
}
#contents02 .block li dd .btn_area .btn01 {
	margin-bottom: 15px;
}

#contents02 .block li dd .btn_area .btn a {
	display: block;
	line-height: 60px;
	color: #fff;
	font-size: 16px;
	font-weight: bold;
	position: relative;
}
#contents02 .block li dd .btn_area .btn01 a {
	background: #f0a659;
}
#contents02 .block li dd .btn_area .btn02 a {
	background: #537053;
}

#contents02 .block li dd .btn_area .btn a:before {
	display: block;
	content: "";
	background: #fff;
	width: 20px;
	height: 1px;
	position: absolute;
	top: 50%;
	right: 15px;
}

#contents02 .block li dd .btn_area .btn a:after {
	display: block;
	content: "";
	width: 12px;
	height: 12px;
	border-top: solid 1px #fff;
	border-right: solid 1px #fff;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
	position: absolute;
	top: 50%;
	right: 15px;
	margin-top: -6px;
}



/*------------------------------------------------------------
  contents03
------------------------------------------------------------*/
#contents03 {
	width: 100%;
	margin: auto;
}


/*---------- ttl_area ----------*/
#contents03 .ttl_area {
	width: 100%;
	background: url("../images/bg02.jpg") center 0 no-repeat;
	background-size: cover;
	box-sizing: border-box;
	margin: auto;
	padding: 105px 0 75px;
}

#contents03 .ttl_box01 {
	width: 1100px;
	height: 249px;
	background: url("../images/cont03_ttl01.png") 0 0 no-repeat;
	background-size: 100% auto;
	margin: auto;
}



/*---------- block ----------*/
#contents03 .block {
	width: 100%;
}
#contents03 .block {
	margin-bottom: 100px;
}
#contents03 .block:last-child {
	margin-bottom: 0;
}

#contents03 .block03 .box01 .img_area img,
#contents03 .block04 .box01 .img_area img {
	height: 466px;
}

#contents03 .block03 .box01 .txt_area,
#contents03 .block04 .box01 .txt_area {
	height: 466px;
}



/* box01 */
#contents03 .box01 .txt_area {
	width: 33.33%;
	height: 530px;
	background: #fff4e9;
	box-sizing: border-box;
	padding: 0 50px;
	float: left;
	position: relative;
}

#contents03 .box01 .txt_area_inner {
	width: 100%;
	box-sizing: border-box;
	margin: auto;
}

#contents03 .box01 .sub img {
	display: block;
	width: 250px;
	margin: -50px auto 0;
}

#contents03 .box01 .block_ttl {
	line-height: 1.5em;
	font-size: 25px;
	font-weight: bold;
	border-bottom: solid 1px #f0a659;
	padding-bottom: 20px;
	margin-top: 15px;
}

#contents03 .box01 .text01 {
	line-height: 1.8em;
	font-size: 15px;
	text-align: justify;
	margin-top: 15px;
}

#contents03 .box01 .sub_img {
	float: left;
	position: absolute;
	bottom: 0;
}

#contents03 .box01 .text02 {
	width: 140px;
	line-height: 35px;
	background: #f0a659;
	color: #fff;
	font-size: 20px;
	text-align: center;
	margin-top: 80px;
	float: right;
}

#contents03 .box01 .img_area {
	width: 66.67%;
	height: 530px;
	float: left;
}
#contents03 .box01 .img_area img {
	width: 100%;
	height: 530px;
	object-fit: cover;
}


/* box02 */
#contents03 .box02 .img_area {
	width: 33.33%;
	float: left;
}
#contents03 .box02 .img_area img {
	width: 100%;
	height: 530px;
	object-fit: cover;
}

#contents03 .box02 .txt_area {
	width: 33.33%;
	height: 530px;
	background: #f0a659;
	box-sizing: border-box;
	color: #fff;
	padding: 40px 50px 0;
	float: left;
}

#contents03 .box02 .txt_area_inner {
	width: 100%;
	margin: auto;
}

#contents03 .box02 .icon01 {
	text-align: center;
}

#contents03 .box02 .block_ttl {
	line-height: 1.5em;
	font-size: 28px;
	font-weight: bold;
	text-align: center;
	margin: 25px 0;
	position: relative;
}
#contents03 .box02 .block_ttl:after {
	display: block;
	content: "";
	width: 60px;
	height: 1px;
	background: #fff;
	margin: auto;
	position: absolute;
	bottom: -25px;
	left: 0;
	right: 0;
}

#contents03 .box02 .text01 {
	line-height: 1.8em;
	font-size: 16px;
	text-align: justify;
	margin-top: 60px;
	position: relative;
	z-index: 999;
}


#contents03 .box02 .todo_icon01 {
	display: block;
	position: relative;
}
#contents03 .box02 .todo_icon01:before {
	display: block;
	content: "";
	width: 80px;
	height: 80px;
	background: url("../images/todo_icon01.png") 0 0 no-repeat;
	background-size: 100% auto;
	position: absolute;
	top: -85px;
	left: -15px;
}



/* recommend */
#contents03 .recommend {
	margin-top: 70px;
}

#contents03 .recommend .ttl_box {
	width: 1100px;
	height: 194px;
	background: url("../images/recommend_ttl.jpg") 0 0 no-repeat;
	background-size: 100% auto;
}

#contents03 .recommend .wrap {
	width: 1100px;
	margin: auto;
}

#contents03 .recommend dl {
	width: 260px;
	margin-right: 20px;
	float: left;
}

#contents03 .recommend dl:last-child {
	margin-right: 0;
}

#contents03 .recommend dd {
	height: 220px;
	margin-top: 30px;
	position: relative;
}

#contents03 .recommend dd .text01 {
	color: #f0a659;
	font-size: 18px;
	margin-bottom: 20px;
}

#contents03 .recommend dd .text02 {
	text-align: justify;
	position: absolute;
	top: 55px;
}



/* todo_area */
#contents03 .todo_area .wrap {
	width: 1100px;
	margin: auto;
}

#contents03 .todo_area .wrap_inner {
	margin: 80px auto 20px;
	position: relative;
}

#contents03 .todo_area .ttl_box {
	border-bottom: solid 2px #f0a659;
	padding-bottom: 20px;
	margin-left: 150px;
	margin-bottom: 20px;
	position: relative;
}
#contents03 .todo_area .ttl_box:after {
	display: block;
	content: "";
	border-bottom: solid 2px #ab9073;
	width: 5%;
	position: absolute;
	bottom: -2px;
}
#contents03 .todo_area .ttl_box:before {
	display: block;
	content: "";
	width: 135px;
	height: 135px;
	background: url("../images/todo_icon02.png") 0 0 no-repeat;
	background-size: 100% auto;
	position: absolute;
	bottom: -20px;
	left: -145px;
}

#contents03 .todo_area .ttl_box h5 {
	line-height: 1.3em;
	font-size: 28px;
}

#contents03 .todo_area .ttl_box .sub_ttl {
	display: block;
	content: "";
	width: 200px;
	height: 132px;
	background: url("../images/todo_ttlimg01.png") 0 0 no-repeat;
	background-size: 100% auto;
	position: absolute;
	right: 0;
	bottom: 10px;
}

#contents03 .todo_area .img_box {
	margin-top: 45px;
}

#contents03 .todo_area .txt_box {
	width: 610px;
	background: #fff;
	box-sizing: border-box;
	text-align: justify;
	padding: 40px 40px;
}

#contents03 .todo_area .txt_box01 {
	position: absolute;
	bottom: 0;
	right: 0;
}

#contents03 .todo_area .txt_box02 {
	position: absolute;
	bottom: 0;
	left: 0;
}

#contents03 .todo_area .text02 {
	font-size: 12px;
	text-align: right;
	margin-top: 30px;
}




/*------------------------------------------------------------
  contents04
------------------------------------------------------------*/
#contents04 {
	width: 100%;
	background: url("../images/bg03.jpg") center bottom no-repeat;
	background-size: cover;
	box-sizing: border-box;
	padding: 80px 0 100px;
}

#contents04 .inner {
	width: 1100px;
	margin: auto;
}


/*---------- ttl_area ----------*/
#contents04 .ttl_box01 {
	width: 1100px;
	height: 249px;
	background: url("../images/cont04_ttl01.png") 0 0 no-repeat;
	background-size: 100% auto;
}



/*---------- block ----------*/
#contents04 .block {
	margin-top: 45px;
}

#contents04 .block ul {
	width: 100%;
}

#contents04 .block li {
	width: 33.33%;
	float: left;
}

#contents04 .txt_area {
	min-height: 336px;
	background: #fff4e9;
	box-sizing: border-box;
	padding: 0 45px;
}

#contents04 .txt_area .block_img {
	display: block;
	width: 100%;
	max-width: 235px;
	margin: auto;
	position: relative;
	top: -35px;
}

#contents04 .txt_area .text01 {
 line-height: 2.0em;
	text-align: justify;
}



/*------------------------------------------------------------
  link_area
------------------------------------------------------------*/
#link_area {
	width: 100%;
	padding: 60px 0;
}

#link_area .inner {
	width: 1100px;
	margin: auto;
}

#link_area .link {
	width: 530px;
	height: 100px;
}
#link_area .link01 {
	float: left;
}
#link_area .link02 {
	float: right;
}

#link_area .link a {
	display: block;
	line-height: 100px;
	color: #fff;
	font-size: 19px;
	font-weight: bold;
	text-align: center;
	position: relative;
}
#link_area .link01 a {
	background: #f0a659;
}
#link_area .link02 a {
	background: #537053;
}

#link_area .link a:before {
	display: block;
	content: "";
	background: #fff;
	width: 30px;
	height: 2px;
	position: absolute;
	top: 50%;
	right: 15px;
}

#link_area .link a:after {
	display: block;
	content: "";
	width: 12px;
	height: 12px;
	border-top: solid 2px #fff;
	border-right: solid 2px #fff;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
	position: absolute;
	top: 50%;
	right: 15px;
	margin-top: -6px;
}

/*------------------------------------------------------------
  page_top
------------------------------------------------------------*/
.page_top {
  width: 60px;
  height: 60px;
  position: fixed;
  right: 20px;
  bottom: 20px;
  z-index: 9999;
}
  
.page_top a {
	display: block;
	width: 100%;
	height: 100%;
	background: #fff;
	border: solid 1px #9d9d9d;
	border-radius: 50%;
	position: relative;
	text-indent: 100%;
	white-space: nowrap;
	overflow: hidden;	
}
  
.page_top a::before {
	display: block;
	content: '';
	width: 12px;
	height: 12px;
	margin: -5px 0 0 -6px;
	border-top: 1px solid #333;
	border-left: 1px solid #333;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);	
	position: absolute;
	top: 50%;
	left: 50%;
}






/*============================================================
sp
============================================================*/
@media screen and (max-width: 1100px){
	.pc_no02 {
		display: none;
	}
}


@media screen and (max-width: 640px){
	
/*------------------------------------------------------------
  body
------------------------------------------------------------*/
#main{
	width: 100%;
	font-size: 12px;
	font-family: "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;
	color: #333;
	line-height: 1.5em;
	margin: 0 auto 50px;
}

.sp_no01 {
  display: none;
}

.pc_no01 {
  display: block;
}


.flt_l {
	float: inherit;
}

.flt_r {
	float: inherit;
}

#main img{
	width: 100%;
}


/*------------------------------------------------------------
  font
------------------------------------------------------------*/
.f_bold {
	font-weight: bold;
}

.fcl_or01 {
	color: #f0a659;
}

.f_size01 {
	font-size: 6.8vw;
}

.f_size02 {
	font-size: 2.9vw;
}


/*------------------------------------------------------------
  mv
------------------------------------------------------------*/
#mv {
	width: 100%;
	height: inherit;
	background: none;
}

#mv .mv_ttl {
	width: 100%;
	height: 0;
	background: url("../images/sp_mv01.jpg") center center no-repeat;
	background-size: 100% auto;
	margin: 0 auto 0;
	padding-top: 62.5%;
}

#mv .txt_box {
	width: 100%;
	background: none;
	box-sizing: border-box;
	padding: 20px 15px 0;
	position: static;
	bottom: inherit;
	left: inherit;
	right: inherit;
}

#mv .txt_box .mv_txt {
	line-height: 1.8em;
	text-align: justify;
	color: #333;
}
	
	
	
	
/*------------------------------------------------------------
  contents01
------------------------------------------------------------*/
#contents01 {
	width: 100%;
	padding: 0 0 40px 0;
}

#contents01 .inner {
	width: 100%;
	box-sizing: border-box;
	padding: 0 10px;
}


/*---------- box01 ----------*/
#contents01 .box01 {
	float: inherit;
	margin-right: inherit;
}


/*---------- box02 ----------*/
#contents01 .box02 {
	float: inherit;
	border:#CACACA 4px solid;
	box-sizing: border-box;
	padding: 0 15px 15px;
	margin: 20px 0;	
}

#contents01 .box02 .title01 {
	line-height: 1.3em;
	font-size: 5.3vw;
	margin-bottom: 10px;
	margin-top: 20px;
}
#contents01 .box02 .title01:after {
	bottom: -10px;
}	

#contents01 .box02 ol {
	margin-top: 30px;
}

#contents01 .box02 li {
	font-size: 14px;
  padding-left: 1.8em;
  margin-bottom: 15px;
}
	
#contents01 .box02 li:last-child {
  margin-bottom: 0;
}
	

/*---------- box03 ----------*/
#contents01 .box03 {
	float: inherit;
	margin-top: 20px;
}

#contents01 .box03 iframe {
	width: 100%;
	height: 230px;
}

#contents01 .box03 .link_area {
	width: 100%;
	margin-top: 15px;
}
	
	
	
	
/*------------------------------------------------------------
  contents02
------------------------------------------------------------*/
#contents02 {
	padding: 30px 0 40px;
}

#contents02 .inner {
	width: 100%;
	box-sizing: border-box;
	padding: 0 10px;
}


/*---------- ttl_area ----------*/
#contents02 .ttl_area {
	width: 100%;
}

#contents02 .ttl_box01 {
	width: 95px;
	height: 97px;
	background: url("../images/cont02_icon01.png") 0 0 no-repeat;
	background-size: 100% auto;
	margin: -40px 15px 0 0;
}

#contents02 .ttl_box02 {
	float: left;
}

#contents02 .ttl_box02 .title01 {
	font-size: 16px;
	padding-bottom: 10px;
}

#contents02 .ttl_box02 .title02 {
	font-size: 6vw;
}


/*---------- txt_area ----------*/
#contents02 .txt_area {
	line-height: 1.5em;
	text-align: justify;
	margin-top: 15px;
}


/*---------- block ----------*/
#contents02 .block {
	margin-top: 25px;
}

#contents02 .block li {
	width: 100%;
	margin-bottom: 20px;
}

#contents02 .block .no_mb {
	margin-bottom: 20px;
}

#contents02 .block li dd {
	min-height: 100%;
	padding: 25px 10px;
	position: relative;
}


#contents02 .block li dd .text01 {
	font-size: 16px;
	margin-bottom: 15px;
}
#contents02 .block li dd .text02 {
	text-align: justify;	
}


#contents02 .block li dd .btn_area {
	margin-top: 20px;
	position: static;
	bottom: inherit;
	left: inherit;
	right: inherit;
}

#contents02 .block li dd .btn_area .btn {
	width: 100%;
	height: 40px;
}
#contents02 .block li dd .btn_area .btn01 {
	margin-bottom: 10px;
}

#contents02 .block li dd .btn_area .btn a {
	line-height: 40px;
	font-size: 3.2vw;
}

#contents02 .block li dd .btn_area .btn a:before {
	width: 15px;
	right: 3%;
}

#contents02 .block li dd .btn_area .btn a:after {
	display: block;
	content: "";
	width: 8px;
	height: 8px;
	right: 3%;
	margin-top: -4px;
}
	
	
	
/*------------------------------------------------------------
  contents03
------------------------------------------------------------*/
#contents03 {
	width: 100%;
}


/*---------- ttl_area ----------*/
#contents03 .ttl_area {
	width: 100%;
	height: 0;
	background: url("../images/bg02.jpg") center 0 no-repeat;
	background-size: 100% auto;
	padding: 0 0 0;
	padding-top: 31.14%;
	position: relative;
}

#contents03 .ttl_box01 {
	width: 95%;
	height: 0;
	background: url("../images/cont03_ttl01.png") 0 0 no-repeat;
	background-size: 100% auto;
	padding-top: 22.63%;
	position: absolute;
	top: 10%;
	left: 0;
	right: 0;
	margin: auto;
	margin-top: 20px;
}



/*---------- block ----------*/
#contents03 .block {
	width: 100%;
}
#contents03 .block {
	margin-bottom: 40px;
}
#contents03 .block:last-child {
	margin-bottom: 0;
}
	
#contents03 .block03 .box01 .img_area img,
#contents03 .block04 .box01 .img_area img {
	height: auto;
}
#contents03 .block03 .box01 .txt_area,
#contents03 .block04 .box01 .txt_area {
	height: auto;
	padding-bottom: 60px;
}
#contents03 .block04 .box01 .txt_area {
	padding-bottom: 0;
}	


/* box01 */
#contents03 .box01 .txt_area {
	width: 100%;
	height: auto;
	padding: 0 15px;
	float: inherit;
}

#contents03 .box01 .txt_area_inner {
	width: 100%;
	height: auto;
	position: relative;
}

#contents03 .box01 .sub img {
	display: block;
	width: 30%;
	margin: 0 auto 0;
	padding-top: 20px;
}

#contents03 .box01 .block_ttl {
	line-height: 1.3em;
	font-size: 5vw;
	padding-bottom: 10px;
	margin-top: 13px;
}

#contents03 .box01 .text01 {
	line-height: 1.5em;
	font-size: 13px;
	margin-top: 15px;
}

#contents03 .box01 .sub_img {
	width: 50%;
	float: inherit;
	margin-left: 0;
	position: static;
	bottom: 0;	
}

#contents03 .box01 .text02 {
	width: 40%;
	line-height: 30px;
	font-size: 12px;
	margin-top: 0;
	float: inherit;
	position: absolute;
	right: 0;
	bottom: 20px;
}
	
#contents03 .block03 .box01 .text02, 
#contents03 .block04 .box01 .text02 {
	position: absolute;
	right: 0;
	bottom: -40px;
}
	
#contents03 .box01 .img_area {
	width: 100%;
	height: auto;
	float: inherit;

}
#contents03 .box01 .img_area img {
	width: 100%;
	height: auto;
}


/* box02 */
#contents03 .box02 .img_area {
	width: 100%;
	float: inherit;
}
#contents03 .box02 .img_area img {
	width: 100%;
	height: auto;
}

#contents03 .box02 .txt_area {
	width: 100%;
	height: auto;
	padding: 20px 15px 30px;
	float: inherit;
}

#contents03 .box02 .txt_area_inner {
	width: 100%;
}

#contents03 .box02 .icon01 {
	width: 13%;
	margin: auto;
}

#contents03 .box02 .block_ttl {
	line-height: 1.3em;
	font-size: 5.2vw;
	margin: 15px 0;
	position: relative;
}
#contents03 .box02 .block_ttl:after {
	width: 30px;
	bottom: -15px;
}

#contents03 .box02 .text01 {
	line-height: 1.5em;
	font-size: 13px;
	margin-top: 30px;
}

#contents03 .box02 .todo_icon01:before {
	width: 60px;
	height: 60px;
	top: -70px;
	left: 10%;
}



/* recommend */
#contents03 .recommend {
	margin-top: 30px;
}

#contents03 .recommend .ttl_box {
	width: 100%;
	height: 0;
	background: url("../images/sp_recommend_ttl.jpg") 0 0 no-repeat;
	background-size: 100% auto;
	padding-top: 20.93%;
}

#contents03 .recommend .wrap {
	width: 100%;
	box-sizing: border-box;
	padding: 0 10px;
	margin-top: 0;
}

#contents03 .recommend dl {
	width: 100%;
	margin-right: 0;
	margin-bottom: 30px;
	float: inherit;
}

#contents03 .recommend dl:last-child {
	margin-right: 0;
	margin-bottom: 0;
}

#contents03 .recommend dd {
	height: inherit;
	margin-top: 10px;
	position: relative;
}

#contents03 .recommend dd .text01 {
	color: #f0a659;
	font-size: 16px;
	margin-bottom: 5px;
}

#contents03 .recommend dd .text02 {
	position: inherit;
	top: inherit;
}
	


/* todo_area */
#contents03 .todo_area .wrap {
	width: 100%;
}

#contents03 .todo_area .wrap_inner {
	margin: 40px auto 20px;
	padding: 0 10px;
}
#contents03 .todo_area .wrap_inner01 {
	margin-top: 60px;
}
	
#contents03 .todo_area .ttl_box {
	padding-bottom: 10px;
	margin-left: 60px;
	margin-bottom: 20px;
	position: relative;
}
#contents03 .todo_area .ttl_box:after {
	width: 8%;
	position: absolute;
	bottom: -2px;
}
#contents03 .todo_area .ttl_box:before {
	width: 50px;
	height: 50px;
	bottom: 0;
	left: -60px;
}

#contents03 .todo_area .ttl_box h5 {
	line-height: 1.3em;
	font-size: 3.3vw;
}

#contents03 .todo_area .ttl_box .sub_ttl {
	width: 100px;
	height: 66px;
	right: 0;
	bottom: 55%;
}

#contents03 .todo_area .img_box {
	margin-top: 20px;
}

#contents03 .todo_area .txt_box {
	width: 100%;
	padding: 10px 0;
}

#contents03 .todo_area .txt_box01 {
	position: static;
	bottom: 0;
	right: 0;
}

#contents03 .todo_area .txt_box02 {
	position: static;
	bottom: 0;
	left: 0;
}

#contents03 .todo_area .text02 {
	font-size: 12px;
	text-align: right;
	margin-top: 0;
}


	

/*------------------------------------------------------------
  contents04
------------------------------------------------------------*/
#contents04 {
	padding: 40px 0 50px;
}

#contents04 .inner {
	width: 100%;
	margin: auto;
	box-sizing: border-box;
	padding: 0 10px;
}


/*---------- ttl_area ----------*/
#contents04 .ttl_box01 {
	width: 100%;
	height: 0; 
	background: url("../images/cont04_ttl01.png") 0 0 no-repeat;
	background-size: 100% auto;
	padding-top: 22.63%;
}


/*---------- block ----------*/
#contents04 .block {
	margin-top: 10px;
}

#contents04 .block ul {
	width: 100%;
}

#contents04 .block li {
	width: 100%;
	float: inherit;
}

#contents04 .txt_area {
	min-height: auto;
	padding: 20px 15px;
}

#contents04 .txt_area .block_img {
	width: 40%;
	max-width: 100%;
	top: 0;
}

#contents04 .txt_area .text01 {
	line-height: 1.5em;
	text-align: justify;
	margin-top: 10px;
}
	
	
	
	
	/*------------------------------------------------------------
  page_top
------------------------------------------------------------*/
.page_top {
  width: 45px;
  height: 45px;
  position: fixed;
  right: 10px;
  bottom: 20px;
  z-index: 9999;
}
  
.page_top a {
	display: block;
	width: 100%;
	height: 100%;
	background: #fff;
	border: solid 1px #9d9d9d;
	border-radius: 50%;
	position: relative;
	text-indent: 100%;
	white-space: nowrap;
	overflow: hidden;	
}
  
.page_top a::before {
	display: block;
	content: '';
	width: 10px;
	height: 10px;
	margin: -4px 0 0 -5px;
	border-top: 1px solid #333;
	border-left: 1px solid #333;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);	
	position: absolute;
	top: 50%;
	left: 50%;
}
	
/*------------------------------------------------------------
  link_area
------------------------------------------------------------*/
#link_area {
	width: 100%;
	padding: 30px 0;
}

#link_area .inner {
	width: 100%;
	margin: auto;
	box-sizing: border-box;
	padding: 0 10px;
}

#link_area .link {
	width: 100%;
	height: 50px;
}
#link_area .link01 {
	float: inherit;
	margin-bottom: 10px;
}
#link_area .link02 {
	float: inherit;
}

#link_area .link a {
	line-height: 50px;
	font-size: 3.5vw;
}

#link_area .link a:before {
	width: 15px;
	height: 1px;
	right: 3%;
}

#link_area .link a:after {
	width: 10px;
	height: 10px;
	border-top: solid 1px #fff;
	border-right: solid 1px #fff;
	right: 3%;
	margin-top: -5px;
}
	
	
}
