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

#main { width:100%; margin:10px auto; }
#main .sp { display:none!important; }
#main .pc { display:block!important; }

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

/*--------------------------------------------------
  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;
  font-weight:normal;/* Yutaka added */
  vertical-align: baseline;
}

body {
	margin: 0;
	width: 100%;
	font-size: 14px;
	color: #111;
	line-height: 1.4;
	margin: 0 auto;
	padding: 0;
	padding:0;
	font-family: 'Noto Sans Japanese', sans-serif;
}

ol, ul {
  list-style: none;
	margin: 0;

	padding: 0;
}

blockquote, q {
  quotes: none;
}

blockquote:before, blockquote:after, q:before, q:after {
  content: '';
  content: none;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

table, tr, th, td, caption {
  vertical-align: middle;
  text-align:left;
}

img {
  vertical-align:bottom;
  font-size:0;
  line-height: 0;
	margin: 0 !important;
	padding:0 !important
}

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


a:hover{
	opacity: 0.8;
}

.f-family01 {
  font-family: 'Roboto', sans-serif;
	letter-spacing: 0.05em;
}


/*--------------------------------------------------
 ここから
--------------------------------------------------*/
.pc-no01 {
  display: none;
}
a {
	text-decoration: none;
}
img {
	display: block;
}
img {
	width: 100%;
	margin: 0;
	padding: 0;
}
h2,h3,h4 {
	margin: 0;
	padding: 0;
}




/*--------------------------------------------------
 cmmon
--------------------------------------------------*/
.color01 {
	color: #003c7a;
}
.color02 {
	color: #c70000;
}

.color03 {
	color: #097046;
}

.bold {
	font-weight: bold;
	display: inline-block;
}

.left {
	float: left;
}

.right {
	float: right;
}

.under-line {
	text-decoration: underline;
}
.under-line-none {
	text-decoration: none;
}

.mt0 {
	margin-top: 0;
}
.mt10 {
	margin-top: 10px;
}

.mt20 {
	margin-top: 20px;
}
.mt30 {
	margin-top: 30px;
}
.mt40 {
	margin-top: 40px;
}
.mt50 {
	margin-top: 50px;
}

.mt60 {
	margin-top: 60px;
}
.mt70 {
	margin-top: 70px;
}

.mt80 {
	margin-top: 80px;
}

.mt90 {
	margin-top: 90px;
}
.mt100 {
	margin-top: 100px;
}
.mb0 {
	margin-bottom: 0;
}
.mb10 {
	margin-bottom: 10px;
}
.mb20 {
	margin-bottom: 20px;
}
.mb30 {
	margin-bottom: 30px;
}
.mb40 {
	margin-bottom: 40px;
}
.mb50 {
	margin-bottom: 50px;
}
.mb60 {
	margin-bottom: 60px;
}
.mb70 {
	margin-bottom: 70px;
}
.mb80 {
	margin-bottom: 80px;
}
.mb90 {
	margin-bottom: 90px;
}
.mb100 {
	margin-bottom: 100px;
}


.center {
	text-align: center
}

.normal {
	font-weight: normal;
}
/*--------------------------------------------------
header 
--------------------------------------------------*/
header {
  width: 100%;
  margin: 0 auto;
  height: 90px;
  background: #fff;
	position: fixed;
	top: 0;
	z-index: 999;
}
 header .inner {
	box-sizing: border-box;
	max-width: 1100px;
	padding: 0 20px;
	margin: 0 auto;
	min-width: 920px;
}

header .inner .logo-box {
	display: table;
	height: 90px;
}
header .inner .header-logo {
	display: table-cell;
	vertical-align: middle;
}

header .name {
	font-size: 13px;
	padding-left: 14px;
	display: table-cell;
	vertical-align: middle;
	padding-top: 10px;
}

header .logobox {
	float: left;
}

header img {
	width: inherit;
}

.pattern_a header .inner .h-nav , .pattern_b header .inner .h-nav , .pattern_c header .inner .h-nav{
  float: right;
	display: table;	
	height: 90px;
}
.pattern_a header .inner .h-nav li , .pattern_b header .inner .h-nav li , .pattern_c header .inner .h-nav li {
	padding: 0; 
	text-align: center;
	padding-left: 24px;
	line-height: 1;
	display: table-cell;
	vertical-align: middle;
	padding-top: 14px;
}


.pattern_a header .inner .h-nav li a , .pattern_b header .inner .h-nav li a {
	position: relative;
	display: inline-block;
	color: #111;
	font-size: 21px;
	font-weight: bold;
}

.pattern_c header .inner .h-nav li a {
	position: relative;
	display: inline-block;
	color: #111;
	font-size: 16px;
	font-weight: bold;
}


.pattern_a .sub-name , .pattern_b .sub-name {
	font-size: 12px;
	display: inline-block;
	position: relative;
	top: -3px;
}

@media screen and (max-width: 1000px) {
.pattern_a header .inner .h-nav li , .pattern_b header .inner .h-nav li  {
	padding: 0; 
	text-align: center;
	padding-left: 10px;
	line-height: 1;
	display: table-cell;
	vertical-align: middle;
	padding-top: 14px;
}
}


/*--------------------------------------------------
sp-header
--------------------------------------------------*/
@media screen and (max-width: 960px) {
 .sp-navi-contact {
    display: inline;
    width: 100%;
    margin: 0;
    padding: 0;
    position: fixed;
    top: 0;
    height: 50px;
    letter-spacing: 0px;
    z-index: 777;
    background: #fff; 
	}
 .sp-navi-contact .sp-logo img {
	width: inherit;
}
	
.sp-navi-contact .sp-logo {
	padding: 12px 0 0 14px;
	float: left;
	margin: 0;
	position: relative;
	height: auto;
	top: -3px;
	display: block; 
}
.sp-navi-contact .name {
	font-size: 12px;
	line-height: 50px;
	margin-left:10px;
	display: inline-block;
}
	
	
  #hb-menu {
    width: 50px;
    height: 50px;
    position: fixed;
    top: 0;
    right: 0;
    z-index: 999;
    cursor: pointer;
    display: table; 
	}
    #hb-menu .hb-inner {
      padding: 0 0 0 0;
      display: table-cell;
      vertical-align: middle;
      position: relative; 
	}
      #hb-menu .hb-inner p {
        display: none;
        width: 100%;
        font-family: "";
        color: #fff;
        position: absolute;
        bottom: 16px;
        text-align: center; 
	}

	
/*--------------------------------------------------
ハンバーガーボタン　色変更
--------------------------------------------------*/	
	
 .pattern_a #hb-menu span {
    display: block;
    margin: auto;
    height: 2px;
    width: 45%;
    background: #003c7a;
    border-radius: 2px;
    -webkit-transition: all .5s ease-in-out;
    -moz-transition: all .5s ease-in-out;
    transition: all .5s ease-in-out; 
	}
	
 .pattern_b #hb-menu span {
    display: block;
    margin: auto;
    height: 2px;
    width: 45%;
    background: #c70000;
    border-radius: 2px;
    -webkit-transition: all .5s ease-in-out;
    -moz-transition: all .5s ease-in-out;
    transition: all .5s ease-in-out; 
	}
	
	.pattern_c #hb-menu span {
    display: block;
    margin: auto;
    height: 2px;
    width: 45%;
    background: #097649;
    border-radius: 2px;
    -webkit-transition: all .5s ease-in-out;
    -moz-transition: all .5s ease-in-out;
    transition: all .5s ease-in-out; 
	}
	
/*--------------------------------------------------
sp ナビ　背景色変更
--------------------------------------------------*/		
  .pattern_a .g-nav-inner {
    background: #003c7a;
	}	
		
  .pattern_b .g-nav-inner {
    background: #c70000;
	}	
  .pattern_c .g-nav-inner {
    background: #097649;
	}		
	
	
	
  #hb-menu span:nth-of-type(2),
  #hb-menu span:nth-of-type(3) {
    margin-top: 5px; }

  .hb-open #hb-menu span {
    background: #fff; }

  /* ナビゲーションアイコン：アクティブ */
  .hb-open span:nth-of-type(1) {
    -webkit-transform: translateY(7px) translateX(0) rotate(45deg);
    -ms-transform: translateY(7px) translateX(0) rotate(45deg);
    transform: translateY(7px) translateX(0) rotate(45deg); }

  .hb-open span:nth-of-type(2) {
    margin-top: 5px;
    opacity: 0;
    -webkit-transform: translateY(9px);
    -ms-transform: translateY(9px);
    transform: translateY(9px);
    background: #fff;
    border-radius: 2px; }

  .hb-open span:nth-of-type(3) {
    -webkit-transform: translateY(-7px) translateX(0) rotate(-45deg);
    -ms-transform: translateY(-7px) translateX(0) rotate(-45deg);
    transform: translateY(-7px) translateX(0) rotate(-45deg);
    background: #fff;
    border-radius: 2px; }

  .overlay {
    background: transparent;
    position: fixed;
    pointer-events: none;
    top: 0;
    right: 0;
    left: 0;
    bottom: 0;
    z-index: 10;
    color: #b1d702;
    transition: 0.2s; }

  .hb-open .overlay {
    background: rgba(255, 255, 255, 0.8);
    pointer-events: auto; }

  /*----------  g-navi  ----------*/
  .g-nav {
    position: fixed;
    top: 0;
    right: 0;
    z-index: 888; 
	}

  .g-nav.hb-open .g-nav-inner {
    transform: translate3d(0, 0, 0); 
	}
	

  .g-nav .g-nav-inner .g-nav-main {
    padding: 0 30px; }
	.g-nav li {
		padding: 10px 0;
	}
  .g-nav a {
    display: block;
    color: #fff;
    font-size: 16px; 
		font-weight: bold;
	}
	
.sp-sub-name {
		color: #fff;
		font-size: 12px;
		position: relative;
		top: -3px;
	  font-weight: normal;
	}

 .g-nav .g-nav-inner {
    width: 70%;
    height: 100%;
    font-size: 14px;
    position: fixed;
    top: 0;
    right: 0;
    overflow-x: hidden;
    overflow-y: auto;
    transition: .5s;
    transform: translate3d(100%, 0, 0);
    z-index: 10;
    padding-top: 10px; 
	}
}
/*--------------------------------------------------
ここまでheader
--------------------------------------------------*/

/*--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
top 
--------------------------------------------------*/
/*--------------------------------------------------
mv pattern_a 
--------------------------------------------------*/
.pattern_a .top .mv {
	width: 100%;
	min-width: 920px;
	margin-top: 100px;
}

.pattern_a .top .mv .mv-image {
	position: relative;
	height: 700px;
	width: 100%;
}

.pattern_a .top .mv .mv-image img {
  object-fit: cover;
  width: 100%;
  height: 100%
}
/*--------------------------------------------------
mv pattern_b
--------------------------------------------------*/
.pattern_b .top .mv {
	width: 100%;
	min-width: 920px;
	margin-top: 100px;
}

.pattern_b .top .mv .mv-image {
	position: relative;
	height: 680px;
	width: 100%;
}

.pattern_b .top .mv .mv-image img {
  object-fit: cover;
  width: 100%;
  height: 100%
}


/*--------------------------------------------------
mv pattern_c
--------------------------------------------------*/
.pattern_c .top .mv {
	width: 100%;
	min-width: 920px;
	margin-top: 100px;
}

.pattern_c .top .mv .mv-image {
	position: relative;
	height: 700px;
	width: 100%;
}

.pattern_c .top .mv .mv-image img {
  object-fit: cover;
  width: 100%;
  height: 100%
}




/*--------------------------------------------------
top pattern_a sec01
--------------------------------------------------*/
.pattern_a .sec01 {
	width: 100%;
	margin-top: 70px;
	min-width: 920px;
}

.pattern_a .sec01 .inner {
	max-width: 1100px;
	padding: 0 20px;
	margin: 0 auto;
	text-align: center;
	font-size: 44px;
}

/*--------------------------------------------------
top pattern_b sec01
--------------------------------------------------*/
.pattern_b .sec01 {
	width: 100%;
	min-width: 920px;
	margin-top: -100px;
	position: relative;
	z-index: 1;
}

.pattern_b .sec01 .inner {
	max-width: 950px;
	padding: 0 ;
	margin: 0 auto;
	text-align: center;
	font-size: 36px;
		background: #c70000;
}
.pattern_b .sec01 .inner h2{
	color: #fff;
	padding: 30px 20px;
}

/*--------------------------------------------------
top pattern_c sec01
--------------------------------------------------*/
.pattern_c .sec01 {
	width: 100%;
	min-width: 920px;
  background: #097649;
}

.pattern_c .sec01 .inner {
	margin: 0 auto;
	text-align: center;
	font-size: 40px;

}
.pattern_c .sec01 .inner h2{
	color: #fff;
	padding: 30px 20px 50px 20px;
}


/*--------------------------------------------------
news pattern_a
--------------------------------------------------*/
.pattern_a .news {
	width: 100%;
	margin-top: 70px;
	background: #003c7a;
	padding: 50px 0 80px 0;
}

.pattern_a  .news .inner {
	min-width: 920px;
	max-width: 1000px;
	margin: 0 auto;
	padding: 0 20px;
	position: relative;
}


.pattern_a  .news-titel {
	float: left;
	width: 25%;
	color: #fff;
}


.pattern_a  .news-titel .title {
	font-size: 34px;
	position: relative;
	line-height: 1;
	font-weight: bold;
	padding-top: 20px;
}

.pattern_a  .news-titel .jap {
	font-size: 18px;
	display: inline-block;;
	margin-left: 18px;
}

.pattern_a .news-titel .title:before {
  content: '';
	background: #fff;
	height: 1px;
	width: 30px;
	position: absolute;
	bottom: -10px;
	display: inline-block;
}

.pattern_a .news-text-box {
	float: right;
	width: 73%;
	height: 200px;
  /*overflow-y: scroll;*/
}

.pattern_a .news-text-box .news-text a {
	color: #fff;
}
.pattern_a .news-text-box .news-text .line-box {
	border-bottom: 1px solid #fff;
	padding: 24px 0 22px 0;
}

.pattern_a .news-text-box .news-text .line-box li {
	float: left;
	padding: 0 3%; 
	border-right: 1px solid #fff;
}
.pattern_a .news-text-box .news-text .line-box li:last-child{
	border-right: none;
	padding-right:0; 
}

.pattern_a .news-titel .btn {
	bottom: 0;
	position: absolute;
}

.pattern_a .news .btn a {
	background: #fff;
	color: #003c7a;
	width: 180px;
	display: inline-block;
	line-height: 40px;
	text-align: center;
}

.pattern_a .news .btn a:after {
	content:"";
	width: 6px;
	height: 6px;
	border-top: solid 2px #003c7a;
	border-right: solid 2px #003c7a;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
	position: absolute;
	right: 15px;
	top: 40%;
	display: inline-block;
}

.pattern_a .news .btn a:hover {
	border: solid 1px #fff;
	background: none;
	box-sizing: border-box;
	position: relative;
	text-align: center;
	color: #fff;
}

.pattern_a .news .btn a:hover:after {
	content:"";
	width: 6px;
	height: 6px;
	border-top: solid 2px #fff;
	border-right: solid 2px #fff;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
	position: absolute;
	right: 15px;
	top: 40%;
	display: inline-block;
}

/*--------------------------------------------------
news pattern_b 
--------------------------------------------------*/
.pattern_b .news {
	width: 100%;
	margin-top: 70px;
	padding: 0 0 80px 0;
}

.pattern_b .news .inner {
	min-width: 920px;
	max-width: 1100px;
	margin: 0 auto;
	padding: 0 20px;
}


.pattern_b .news-titel {
	float: left;
	width: 28%;
	margin-top: 15px;
}


.pattern_b .news-titel .title {
	font-size: 50px;
	position: relative;
	line-height: 1;
	font-weight: bold;
}

.pattern_b .news-titel .jap {
	font-size: 18px;
	display: inline-block;;
	margin-left: 15px;
}

.pattern_b .news-titel .title:before {
  content: '';
	background: #c70000;
	height: 6px;
	width: 90px;
	position: absolute;
	bottom: -10px;
	display: inline-block;
}

.pattern_b .news-text-box {
	float: right;
	width: 70%;
	height: 140px;
  overflow: auto;
}

.pattern_b .news-text-box .news-text a {
	color: #111;
}
.pattern_b .news-text-box .news-text .line-box {
	padding: 15px 0 15px 0;
}

.pattern_b .news-text-box .news-text .line-box li {
	float: left;
	padding: 0 3%; 
}


.pattern_b .news-titel .btn {
	position: relative;
	margin-top: 45px;
	padding-left: 100px;
}

.pattern_b .news .btn a {
	background: #fff;
	color: #c70000;
	display: inline-block;
	text-align: center;
	position: relative;
	font-size: 15px;
}


.pattern_b .news .btn a:before {
	display: block;
	content: "";
	background: #c70000;
	width: 28px;
	height: 1px;
	position: absolute;
	top: 53%;
	right: -45%;
}

.pattern_b .news .btn a:after {
	display: block;
	content: "";
	width: 11px;
	height: 11px;
	border-top: solid 1px #c70000;;
	-webkit-transform: rotate(35deg);
	transform: rotate(35deg);
	margin-top: -4px;
	position: absolute;
	top: 53%;
	right: -44%;
}


/*--------------------------------------------------
news pattern_c
--------------------------------------------------*/
.pattern_c .news {
	width: 100%;
	margin-top: 90px;
	padding: 0 0 80px 0;
}

.pattern_c  .news .inner {
	min-width: 920px;
	max-width: 1100px;
	margin: 0 auto;
	padding: 0 20px;
}


.pattern_c  .news-titel {
	margin-top: 15px;
	position: relative;
	text-align: center;
	
}


.pattern_c  .news-titel .title {
	font-size: 50px;
	position: relative;
	line-height: 1;
	display: inline-block;
	font-weight: bold;
}


.pattern_c  .news-titel .jap{
	display: inline-block;
	background: #fff;
	position: absolute;
	z-index: 1;
	left: 0;
	margin-top: 4px;
	text-align: left;
	padding-right: 10px;
	font-weight: bold;
	font-size: 18px;
}

.pattern_c .news-titel .title:before {
  content: '';
	background: #097649;
	height: 2px;
	top: 63px;
	width: 100%;
	position: absolute;
	display: inline-block;
}




.pattern_c .news-text-box {
	height: 180px;
	max-width: 700px;
	margin: 0 auto;
  overflow: auto;
	margin-top: 50px;
}

.pattern_c .news-text-box .news-text a {
	color: #111;
}
.pattern_c .news-text-box .news-text .line-box {
	border-bottom: 1px solid #b7b7b7;
	padding: 20px 0 18px 0;
}

.pattern_c .news-text-box .news-text .line-box li {
	float: left;
	padding: 0 3%; 
	border-right: 1px solid #b7b7b7;
}
.pattern_c .news-text-box .news-text .line-box li:last-child{
	border-right: none;
	padding-right:0; 
}


.pattern_c .news .link a {
	margin: 0 auto;
	text-align: center;
	margin-top: 35px;
}

.pattern_c .news .btn01 a {
	display: table;
	background: #097046;
	text-align:center;
	cursor:pointer;
	position:relative;
	box-sizing:border-box;
	transition:all .5s ease;
	line-height: 60px;
	width: 400px;
}

.pattern_c .news .btn01 a span {
	color: #fff;
	font-size: 18px;
}

.pattern_c .news .btn01 a:after {
	display: block;
	content: "";
	position: absolute;
	top: 50%;
	right: -10px;
	background: #fff;
	height: 1px;
	width: 20%;
	transition:all .5s ease;
}



/*--------------------------------------------------
top pattern_a sec02
--------------------------------------------------*/

.pattern_a .sec02 {
	width: 100%;
	margin-top: 100px;
	min-width: 920px;
}

.pattern_a .sec02 .inner {
	max-width: 1100px;
	padding: 0 20px;
	margin: 0 auto;
	text-align: center;
	font-size: 44px;
}
.pattern_a .sec02 .inner .link-box ul {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}
.pattern_a .sec02 .inner .link-box li {
	width: 50%;
}

.pattern_a .sec02 .inner .link-box .image-box {
	position: relative;
}
.pattern_a .sec02 .inner .link-box .image-box::after{ /* 追加 */
	content: '';
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	background: rgba(0,0,0,0.35);
}
.pattern_a .sec02 .inner .link-box .image-box img { /* 追加 */
	height: 370px;
	object-fit: cover;
}

.pattern_a .sec02 .inner .link-box .image-box .text-box  {
	position: absolute;
	color: #fff;
	top: 40%;;
	margin: 0 auto;
	text-align: center;
	z-index: 1;
	width: 100%;
	line-height: 1;
}
.pattern_a .sec02 .inner .link-box .image-box .text-box .text01 {
	display: inline-block;
	font-weight: bold;
	font-size: 44px;
	
}

.pattern_a .sec02 .inner .link-box .image-box .text-box .text01 .jap {
	font-size: 22px;
	position: relative;
	top: -10px;
	letter-spacing: 0;
}


.imgWrap {
	overflow: hidden;	/*拡大時にはみ出た部分を隠す*/
	width: 100%;	/*画像の幅*/
	height: auto;	/*画像の高さ*/
}
.imgWrap a img {
	display: block;
	transition-duration: 0.3s;/*変化に掛かる時間*/}
.imgWrap img:hover {
	transform: scale(1.15);	/*画像の拡大率*/
	transition-duration: 0.3s;	/*変化に掛かる時間*/
	opacity:1;
}


.pattern_a .sec02 .inner .link-box li:hover .imgWrap img {
	transform: scale(1.15);	/*画像の拡大率*/
	transition-duration: 0.3s;	/*変化に掛かる時間*/
	opacity:1;
}


/*--------------------------------------------------
top pattern_b sec02
--------------------------------------------------*/

.pattern_b .sec02 {
	width: 100%;
	margin-top: 30px;
	min-width: 920px;
	
}

.pattern_b .sec02 .inner {
	margin: 0 auto;
	text-align: center;
	font-size: 55px;
	padding: 0;
	margin: 0;
}
.pattern_b .sec02 .box01 {
	width: 100%;
		background: #c70000;

}
.pattern_b .sec02 .image-box {
	width: 50%;
	float: left;
}

.pattern_b .sec02 .image-box .image {
  height: 400px;
	position: relative;
}
.pattern_b .sec02 .image-box .image img{
	object-fit: cover;
  width: 100%;
  height: 100%;
}

.pattern_b .sec02 .text-box {
	width: 50%;
	float: right;
	max-height: 400px;
	padding: 100px 0;
}

.pattern_b .sec02 .text-box .text {
	color: #fff;
}

.pattern_b .sec02 .text-box .title {
	font-size: 55px;
	position: relative;
	line-height: 1;
	letter-spacing: 0.08em;
	font-weight: bold;
	margin: 0;
}

.pattern_b .sec02 .text-box .jap {
	font-size: 18px;
	display: inline-block;;
	margin-left: 0;
	letter-spacing: 0;
	font-weight: bold;
}

.pattern_b .sec02 .text-box .title:before {
  content: '';
	background: #fff;
	height: 6px;
	width: 100px;
	position: absolute;
	top: 60px;
	display: inline-block;
}

.pattern_b .sec02 .text-box .link {
		margin-top: -10px;
}
.pattern_b .sec02 .text-box .link a {
	background: #fff;
	width: 260px;
	font-size: 16px;
	display: inline-block;
	line-height: 50px;
	color: #c70000;
  border-radius: 100px;        /* CSS3草案 */  
	-webkit-border-radius: 100px;    /* Safari,Google Chrome用 */  
	-moz-border-radius: 100px;   /* Firefox用 */  	
}

.pattern_b .sec02 .text-box .link a:hover {
	background: #c70000;
	border: solid 2px #fff;
	width: 260px;
	font-size: 16px;
	display: inline-block;
	line-height: 50px;
	color: #fff;
	box-sizing: border-box;
  border-radius: 100px;        /* CSS3草案 */  
	-webkit-border-radius: 100px;    /* Safari,Google Chrome用 */  
	-moz-border-radius: 100px;   /* Firefox用 */  	
}

.pattern_b .sec02 .box01 .fl01 {
	float: right;
}
.pattern_b .sec02 .box01 .fl02 {
	float: left;
}



/*--------------------------------------------------
top pattern_c sec02
--------------------------------------------------*/

.pattern_c .sec02 {
	width: 100%;
	margin-top: 20px;
  background: url(../images/vr03-sec02-bg.jpg) center center no-repeat;
	background-size: cover;
	height: auto;
	min-width: 920px;
}

.pattern_c .sec02 .inner {
	max-width: 1100px;
	padding: 50px 20px 80px 20px;
	margin: 0 auto;
	text-align: center;
}

.pattern_c .sec02 .inner .link-box li  {
	float: left;
	width: 33%;
	padding-right: 0.5%;
}

.pattern_c .sec02 .inner .link-box li:last-child {
	padding-right: 0;
}

.pattern_c .sec02 .inner .link-box .image-box {
	position: relative;
}
.pattern_c .sec02 .inner .link-box .image-box img { /* 追加 */
	height: 260px;
	object-fit: cover;
}

.pattern_c .sec02 .inner .link-box .text {
	font-size: 28px;
	color: #fff;
}

.pattern_c .sec02 .inner .link-box .text .btn01  {
	display: table;
	text-align:center;
	cursor:pointer;
	position:relative;
	box-sizing:border-box;
	transition:all .5s ease;
	padding: 5% 0;
	width: 100%;
}


.pattern_c .sec02 .inner .link-box .text .btn01:after {
	display: block;
	content: "";
	position: absolute;
	top: 50%;
	right: 0;
	background: #fff;
	height: 1px;
	width: 20%;
	transition:all .5s ease;
}



.pattern_c .t-bg01 {
	background: rgba(9,112,70,0.8);
}

.pattern_c .t-bg02 {
	background: rgba(47,118,9,0.8);
}
.pattern_c .t-bg03 {
	background: rgba(89,132,13,0.8);
}


.imgWrap {
	overflow: hidden;	/*拡大時にはみ出た部分を隠す*/
	width: 100%;	/*画像の幅*/
	height: auto;	/*画像の高さ*/
}
.imgWrap a img {
	display: block;
	transition-duration: 0.3s;/*変化に掛かる時間*/}
.imgWrap img:hover {
	transform: scale(1.15);	/*画像の拡大率*/
	transition-duration: 0.3s;	/*変化に掛かる時間*/
	opacity:1;
}

.pattern_c .sec02 .inner .link-box li:hover .imgWrap img {
	transform: scale(1.15);	/*画像の拡大率*/
	transition-duration: 0.3s;	/*変化に掛かる時間*/
	opacity:1;
}


/*--------------------------------------------------
top pattern_c sec03
--------------------------------------------------*/

.pattern_c .sec03 {
	width: 100%;
	margin-top: 100px;
	min-width: 920px;
}

.pattern_c .sec03 .inner {
	max-width: 1100px;
	padding: 0 20px;
	margin: 0 auto;
}

.pattern_c .sec03 .inner .image img { /* 追加 */
	height: 285px;
	object-fit: cover;
}

.pattern_c .sec03 .inner .text-box .text{
	float: left;
	background: #f8f8f8;
	width: 70%;
}
.pattern_c .sec03 .inner .text-box .text .title {
	font-size: 40px;
	font-weight: bold;
	padding-top: 10px;
	padding-left: 30px;
	line-height: 62px;
}

.pattern_c .sec03 .inner .text-box .text .jap {
	font-size: 18px;
	padding-left: 5px;

}

.pattern_c .sec03 .inner .text-box .link{
	float: right;
	width: 30%;
	line-height: 80px;
}


.pattern_c .sec03 .inner .text-box .link .btn01{
	display: table;
	text-align:center;
	cursor:pointer;
	position:relative;
	box-sizing:border-box;
	transition:all .5s ease;
	color: #fff;
	width: 100%;
	font-size: 20px;
	background: #097046;
}


.pattern_c .sec03 .inner .text-box .link .btn01:after {
	display: block;
	content: "";
	position: absolute;
	top: 50%;
	right: -10px;
	background: #fff;
	height: 1px;
	width: 20%;
	transition:all .5s ease;
}




.pattern_c .sec03 .inner .link-box:hover .imgWrap img {
	transform: scale(1.15);	/*画像の拡大率*/
	transition-duration: 0.3s;	/*変化に掛かる時間*/
	opacity:1;
}













/*--------------------------------------------------
/footer
--------------------------------------------------*/
footer {
	width: 100%;
	margin-top: 160px;
}
 footer .inner {
  max-width: 1100px;
	margin: 0 auto;
	padding: 0 20px;
	min-width: 920px;
}


footer  .logobox {
	float: left;
}

footer  img {
	width: inherit;
}


footer  .inner .footer-logo {
	display: table-cell;
	vertical-align: middle;
}

footer  .name {
	font-size: 13px;
	padding-left: 14px;
	display: table-cell;
	vertical-align: middle;
	padding-top: 10px;
}


footer .f-nav {
	float: right;
}


 footer .f-nav li {
	padding: 0; 
	text-align: center;
	padding-left: 18px;
	line-height: 1;
	float: left;
	padding-top: 10px;
}

footer .f-nav li a {
	position: relative;
	display: inline-block;
	color: #111;
	font-size: 15px;
	margin-top: 10px;
}

 footer .f-nav li .line01 {
	display: inline-block;
	margin-left: 17px;
}

.pattern_a footer .copy-box {
	/* border-top: 2px solid #003c7a; */
	text-align: center;
	margin-top: 25px;
}

.pattern_b footer .copy-box {
	/* border-top: 2px solid #c70000;*/
	text-align: center;
	margin-top: 25px;
}

.pattern_c footer .copy-box {
	/* border-top: 2px solid #097046; */
	text-align: center;
	margin-top: 25px;
}



footer .copy {
	max-width: 1100px;
	margin: 20px auto ;
	padding: 0 20px;
	font-size: 12px;
	min-width: 920px;
}





/*--------------------------------------------------
pgtop 
--------------------------------------------------*/

.pattern_a .pgtop a{
	display: block;
	width: 70px;
	height: 70px;
	position: relative;
	background: #003c7a;
}
.pattern_b .pgtop a{
	display: block;
	width: 70px;
	height: 70px;
	position: relative;
	background: #c70000;
  border-radius: 100px;        /* CSS3草案 */  
	-webkit-border-radius: 100px;    /* Safari,Google Chrome用 */  
	-moz-border-radius: 100px;   /* Firefox用 */  	
	border: solid 1px #fff;
	box-sizing: border-box;	
}
.pattern_c .pgtop a{
	display: block;
	width: 70px;
	height: 70px;
	position: relative;
	background: #097046;
}
.pgtop a:after {
	content:"";
  width: 10px;
  height: 10px;
  border: 2px solid;
  border-color: #fff #fff transparent transparent;
  transform: rotate(-45deg);
	position: absolute;
	left: 0;
	margin: 0 auto;
	right: 0;
	top: 46%;
}

.pgtop{
  text-align: right;
  padding-right: 24px;
  position: fixed;
  right: 0;
  bottom: 60px;
  z-index: 9999; 
}

