@charset "utf-8";
/* CSS Document */

/* reset styles */
html, body, div, h1, h2, h3, h4, h5, h6,
p, blockquote, pre, address,
ul, ol, li, dl, dt, dd,
table, th, td,
form, fieldset {
	margin: 0;
	padding: 0;
	font-family:"Noto Sans JP","ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	
	/*font-family:YuMincho,'Yu Mincho',"ＭＳ Ｐ明朝", "MS PMincho", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro",serif;*/
	/*font-family:"ＭＳ Ｐ明朝", "MS PMincho", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", serif;*/
	/*font-family:"ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;*
	/*font-family:"メイリオ", Meiryo, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;*/
}

/* HTML5の新要素 */
section, nav, article, aside, header, footer, 
hgroup, figure, figcaption, summary {
	display: block;
	margin: 0;
	padding: 0;
	font-family:"Noto Sans JP","ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}
*, *:before, *:after {
    -webkit-box-sizing: border-box;
       -moz-box-sizing: border-box;
         -o-box-sizing: border-box;
        -ms-box-sizing: border-box;
            box-sizing: border-box;
}
/*------------------------------------------------------------------
共通スタイル
-------------------------------------------------------------------*/
html,body{
    width: 100%;
	height:100%;
}
body{
	font-size:medium;	
	text-align:center;
	color:#444444;
	background:#f3f3f3;
	line-height:2rem;
}
.clear{
	overflow:hidden;	
}
ul{
	list-style:none;	
}
img{
    vertical-align:bottom;
	border:none;
	max-width:100%;
}
span.red{
	color:red;	
}
span.underline{
	text-decoration:underline;	
}
*:focus {
   outline:none;
}
a{
	color:#221815;
}
a:hover{
	color:#878787;
}
a:hover img{
	opacity: 0.8;	
}

.text-center{
	text-align: center!important;
}

.text-left{
	text-align: left!important;
}

input[type="text"]:read-only,
input[type="date"]:read-only,
input[type="time"]:read-only,
input[type="email"]:read-only,
textarea:read-only{
	background-color: #adadad;
}

input[type="radio"]:disabled{
	background-color: #686767;
	border:1px #686767 solid;
	cursor: default;
}

input[type="radio"]:disabled + label{
	cursor: default;
}



input[type="radio"] + label,
input[type="checkbox"] + label{
	cursor: pointer;
}

.line-height-x12{
	line-height: 1.2rem;
}

@media screen and (min-width:768px){
	a[href^="tel:"] {
		pointer-events: none;
	}
}
select {
    -webkit-appearance: none;
    appearance: none;
}
select::-ms-expand {
  display: none;
}
select {
    -webkit-appearance: none;
    appearance: none;
    background-image: url("../images/arrow2.png");
    background-repeat: no-repeat;
    background-size: 10px auto; /* 画像のサイズ（幅 高さ）*/
    background-position: right 12px center; /* 画像の位置 */
}
/**mac用リセットCSS**/
/*input{
	-webkit-appearance: none;	
}*/
/*------------------------------------------------------------------
共通スタイルcontainer
-------------------------------------------------------------------*/
/*.container{
	width:900px;
	margin:0 auto;*/
	/* box-shadow */
	/*-moz-box-shadow:0px 0px 6px 3px #cccccc;
	-webkit-box-shadow:0px 0px 6px 3px #cccccc;	
	box-shadow:0px 0px 6px 3px #cccccc;
}
.container{
	background:url(../images/bg.png) repeat-y center top;
}*/

/*------------------------------------------------------------------
共通スタイルnavi
-------------------------------------------------------------------*/
/*PC・スマホ共通css*/
#header {
  /*box-shadow: 0px 3px 15px rgba(0,0,0,0.2);*/
  border-bottom:1px #ececec solid;
  z-index: 99;
  width: 100%;
  position: fixed;
  top: 0;
  left: 0;
  background: #fff;
}
#gNav a:hover {
  color: #999;
}
nav li a {
  font-size: 13px;
  text-decoration: none;
}
nav .sub-menu,
.mean-container .mean-nav ul ul{
  background: #fff;
  /*background-image: linear-gradient(to top, #fff1eb 0%, #ace0f9 100%);*/
}
nav .sub-menu ul{
	background:#F3F3F3 !important;
}
nav .sub-menu ul{
	background: #ececec;
}
/*スマホ用ヘッダー部分css*/
@media only screen and ( max-width : 768px ) {
  #header {
    padding: 10px 0;
    height: 72px;
  }
  .h_logo {
    width: 150px;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 100;
  }
  #gNav .nav {
    overflow-y: auto;
    height: 100vh;
  }
  .mean-nav .container {
    padding: 0;
  }
  nav li .fa {
    display: none;
  }
}
/*PC用の多階層（今回は第2階層まで）css*/
@media print, screen and ( min-width : 769px ) {
  #header {
    height: 82px;
  }
  .h_logo img {
    width: 165px;
  }
  #h_top {
    display: flex;
    justify-content: space-between;
    align-items: center;
  }
  #gNav ul {
    position: relative;
    display: flex;
  }
  #gNav li {
    position: relative;
    /*margin-right: 1.5em;*/
	  padding: 0 0.8rem;
  }
  #gNav li:last-child {
    /*margin-right: 1.5rem;*/
  }
	#gNav ul:first-of-type li.logout{
		background: #007f82;
	}
	#gNav ul:first-of-type li.logout a{
		color: #fff;
	}
	#gNav ul:first-of-type li.logout:hover{
		background: #00a3a7;
	}
	#gNav ul:first-of-type li.logout:hover a{
		color: #fff !important;
	}
  #gNav li i {
    font-size: 12px;
    margin-left: 5px;
  }
  #gNav li a {
    position: relative;
    display: block;
    /*text-align: center;*/
	  text-align: left;
    line-height: 80px;
  }
	#gNav li a:hover{
		color: #ff9000 !important;
	}
  #gNav .sub-menu {
    visibility: hidden;
    opacity: 0;
    z-index: 1;
    display: block;
    position: absolute;
    /*top: 50px;*/
    top: 80px !important; /*変更*/
    left: 50%;
    margin-left: -150px;
    width: 200px;
    -webkit-transition: all .2s ease;
    transition: all .2s ease;
	  box-shadow: 0px 0px 10px -5px #777777;
  }
	/*追加*/#gNav .sub-menu ul{
		visibility: hidden;
		opacity: 0;
		z-index: 2;
		display: block;
		position: absolute;
		/*top: -100px;*/
		top: 0px !important; /*変更*/
		left: 0;
		margin-left: 200px;
		width: 200px;
		-webkit-transition: all .2s ease;
		transition: all .2s ease;
		box-shadow: 0px 0px 10px -5px #777777;
	}
	#gNav .last_menu .sub-menu ul{
		visibility: hidden;
		opacity: 0;
		z-index: 2;
		display: block;
		position: absolute;
		top: -100px;
		left: 0;
		margin-left: -200px;
		width: 200px;
		-webkit-transition: all .2s ease;
		transition: all .2s ease;
		box-shadow: 0px 0px 10px -5px #777777;
	}
	
  #gNav .sub-menu a {
    padding: 10px;
    display: block;
    border-bottom: none;
    padding: 20px;
    line-height: 1.2em;
  }
  #gNav .sub-menu a:hover:after {
    content: none;
  }
  #gNav .sub-menu li {
    display: block;
    font-size: 16px;
    padding: 0;
    margin: 0;
  }
  #gNav .sub-menu li:last-child {
    border-bottom: none;
  }
  #gNav ul > li:hover {
    -webkit-transition: all .5s;
    transition: all .5s;
  }
  #gNav ul > li:hover a,#gNav .current-menu-item a,#gNav .current-menu-parent a {
    /*color: #bfd0ff;*/
	  color: #777777;
  }
  #gNav li:hover ul.sub-menu{
    top: 80px;
    visibility: visible;
    opacity: 1;
    z-index: 9999;
  }
	#gNav li:hover ul.sub-menu li:hover ul{
		top: 0;
		visibility: visible;
		opacity: 1;
		z-index: 9999;
	}
	
  #gNav li ul li:after {
    content: none;
  }
 #gNav li:hover ul.sub-menu a {
    color: #111;
  }
  #gNav .sub-menu li a:hover{
    background:#F8F8F8;
  }
  #gNav .contact_btn a:hover {
    color: #fff;
  }
}

a.meanmenu-reveal{
  display:none;
}

.mean-container .mean-bar{
  width:100%;
  position:fixed;
  background:none;
  min-height:72px;
  z-index:999998;
  top:0;
  left:0;
}
.mean-container .mean-bar {
	width: 100%;
	position: fixed;
	background: none;
	min-height: 72px;
	z-index: 98;
	top: 0;
	left: 0;
}
.meanmenu-reveal-btn {
  position: absolute;
  display: block;
  z-index: 99999;
  box-sizing: border-box;
  width: 60px;
  height: 72px;
  right: 0;
  top: 0;
}
.meanmenu-reveal {
  width: 26px;
  height: 20px;
  margin: 20px 17px 27px 17px;
  display: block !important;
  position: relative;
}
.meanmenu-reveal:after {
	content: "MENU";
	position: absolute;
	bottom: -25px;
	/*color: #6bb5cb;*/
	color: #444444;
	font-size: 10px;
	width: 60px;
	left: -17px;
	text-align: center;
	display: block;
}
.meanmenu-reveal.meanclose:after {
	content: "CLOSE";
}
.meanmenu-reveal span {
  display: inline-block;
  transition: all .4s;
  box-sizing: border-box;
  position: absolute;
  left: 0;
  width: 100%;
  height: 2px;
  margin: 0 auto;
}
.meanmenu-reveal span:nth-of-type(1) {
  top: 0;
  background: #444444;
}
.meanmenu-reveal span:nth-of-type(2) {
  top: 8px;
  /*background: #6bcacb;*/
	background: #444444;
}
.meanmenu-reveal span:nth-of-type(3) {
  top: 16px;
  /*background: #6bcacb;*/
	background: #444444;;
}

.meanmenu-reveal span:nth-of-type(1) {
  -webkit-animation: menu-ber01 .75s forwards;
  animation: menu-ber01 .75s forwards;
}
.meanmenu-reveal span:nth-of-type(2) {
  transition: all .25s .25s;
  opacity: 1;
}
.meanmenu-reveal span:nth-of-type(3) {
  -webkit-animation: menu-ber02 .75s forwards;
  animation: menu-ber02 .75s forwards;
}

.meanclose span:nth-of-type(1) {
  -webkit-animation: active-menu-ber01 .75s forwards;
  animation: active-menu-ber01 .75s forwards;
  top: -2px;
}
.meanclose span:nth-of-type(2) {
  opacity: 0;
}
.meanclose span:nth-of-type(3) {
  -webkit-animation: active-menu-ber03 .75s forwards;
  animation: active-menu-ber03 .75s forwards;
}

@-webkit-keyframes menu-ber01 {
  0% {
    -webkit-transform: translateY(8px) rotate(45deg);
  }
  50% {
    -webkit-transform: translateY(8px) rotate(0);
  }
  100% {
    -webkit-transform: translateY(0) rotate(0);
  }
}

@keyframes menu-ber01 {
  0% {
    transform: translateY(8px) rotate(45deg);
  }
  50% {
    transform: translateY(8px) rotate(0);
  }
  100% {
    transform: translateY(0) rotate(0);
  }
}

@-webkit-keyframes menu-ber02 {
  0% {
    -webkit-transform: translateY(-8px) rotate(-45deg);
  }
  50% {
    -webkit-transform: translateY(-8px) rotate(0);
  }
  100% {
    -webkit-transform: translateY(0) rotate(0);
  }
}

@keyframes menu-ber02 {
  0% {
    transform: translateY(-8px) rotate(-45deg);
  }
  50% {
    transform: translateY(-8px) rotate(0);
  }
  100% {
    transform: translateY(0) rotate(0);
  }
}

@-webkit-keyframes active-menu-ber01 {
  0% {
    -webkit-transform: translateY(0) rotate(0);
  }
  50% {
    -webkit-transform: translateY(10px) rotate(0);
  }
  100% {
    -webkit-transform: translateY(10px) rotate(45deg);
  }
}

@keyframes active-menu-ber01 {
  0% {
    transform: translateY(0) rotate(0);
  }
  50% {
    transform: translateY(10px) rotate(0);
  }
  100% {
    transform: translateY(10px) rotate(45deg);
  }
}

@-webkit-keyframes active-menu-ber03 {
  0% {
    -webkit-transform: translateY(0) rotate(0);
  }
  50% {
    -webkit-transform: translateY(-8px) rotate(0);
  }
  100% {
    -webkit-transform: translateY(-8px) rotate(-45deg);
  }
}

@keyframes active-menu-ber03 {
  0% {
    transform: translateY(0) rotate(0);
  }
  50% {
    transform: translateY(-8px) rotate(0);
  }
  100% {
    transform: translateY(-8px) rotate(-45deg);
  }
}
.mean-container .mean-nav{
	width:100%;
	margin-top:72px;
	max-height:100vh;
	overflow-y:auto;
}
.mean-container .mean-nav ul{
	padding: 0;
	margin: 0;
	width: 100%;
	list-style-type: none;
	overflow-y: scroll;
	-webkit-overflow-scrolling:touch;
	position: relative;
	z-index: 99;
	max-height: 100vh;
	max-height: calc(100vh - 60px);
  background:#F3F3F3;
}
.mean-container .mean-nav ul ul{
	padding-bottom:0;
	margin-bottom:0;
}
.mean-container .mean-nav ul li{
	position:relative;
  width:100%;
	box-sizing: border-box;
}
.mean-container .mean-nav ul li.logout{
	background: #007f82;
}
.mean-container .mean-nav ul li.logout a{
	color: #fff;
}
.mean-container .mean-nav ul li a,.mean-container .mean-nav ul li span.pre{
	display:block;
	width:100%;
	padding:1.18em;
	margin:0;
	text-align:left;
	text-decoration:none;
	text-transform:uppercase;
  /*color:#477684;*/
	color: #444444;
  box-sizing: border-box;
}
.mean-container .mean-nav ul li li a{
	width:100%;
	padding:1em 10%;
	text-shadow:none !important;
	visibility:visible;
}
.mean-container .mean-nav ul li.mean-last a{
	border-bottom:none;
	margin-bottom:0;
}
.mean-container .mean-nav ul li li li a{
	width:70%;
	padding:1em 15%;
}
.mean-container .mean-nav ul li li li li a{
	width:60%;
	padding:1em 20%;
}
.mean-container .mean-nav ul li li li li li a{
	width:50%;
	padding:1em 25%;
}
.mean-container .mean-nav ul li a:hover{
	background:#252525;
	background:rgba(255,255,255,0.1);
}
.mean-container .mean-nav ul li a.mean-expand{
	/*margin-top:1px;*/
	width:60px;
	text-align:center;
	position:absolute;
	right:0;
	top:0;
	z-index:2;
  padding: 0.5em 0.2em 0.7em 0.2em;
  font-size: 24px;
  /*color: #6bb5cb;*/
	color: #444444;
}
.mean-container .mean-nav ul li a.mean-expand:hover {
  /*background:#a0c6d1;*/
  background: #444444;
  color: #fff;
}
.mean-container .mean-push {
  float:left;
  width:100%;
  padding:0;
  margin:0;
  clear:both;
}
.mean-nav .wrapper{
  width:100%;
  padding:0;
  margin:0;
}
.mean-container .mean-bar, .mean-container .mean-bar *{
  -webkit-box-sizing:content-box;
  -moz-box-sizing:content-box;
  box-sizing:content-box;
}
.mean-remove{
  display:none !important;
}
@media only screen and ( max-width : 768px ) {
	#header .mask {
		background: rgba(22,34,42,.4);
    top: 72px;
    left: 0;
    z-index: 1;
    position: absolute;
    width: 100%;
    height: 100vh;
    opacity: 1;
    display: none;
	}
}
@media only screen and ( max-width : 768px ) {
  .fixed {
    position: fixed;
    width: 100%;
    height: 100%;
    z-index: 1;
  }
}

/*------------------------------------------------------------------
共通スタイルcontents
-------------------------------------------------------------------*/
#contents{
	padding-top: 105px;
}
#contents_inner{
	max-width: 1200px;
	text-align: left;
	margin: 0 auto;
	padding: 0 0.5rem;
}
#pankuzu{
	font-size: 0.8rem;
	padding-bottom: 1rem;
}
#pankuzu ul{
	display: flex;
    flex-flow: row wrap;
	color: #ec6c00;
}
#pankuzu ul li a{
	text-decoration: none;
	color: #444444;
}
#pankuzu ul li a::after{
	content: " ";
	background: url("../images/pankuzu.png") no-repeat 10px 3px;
	width: 8px;
	height: 10px;
	padding-right: 30px;
}
#contents h1.main_title{
	font-size: 1.5rem;
	font-weight: 600;
	padding-bottom: 2rem;
}
.back_link a{
	display: block;
	text-align: right;
	padding-bottom: 1rem;
	font-size: 0.9rem;
	color: #0000ee;
}
.back_link a:hover{
	color:#3161E4;
}
#contents section{
	box-shadow: 0px 0px 10px -5px #777777;
	border-radius: 10px;
	background: #fff;
	padding: 2rem 1.5rem;
}
#contents h1.sub_title{
	font-size: 1.4rem;
	color: #007f82;
}
#contents .bunners ul{
	display: flex;
    flex-flow: row wrap;
	justify-content: space-between;
	margin: 40px 0 0;
}
#contents .bunners ul li{
	width: 24%;
	margin-bottom: 10px;
}
@media screen and (max-width:880px){
	#contents .bunners ul li{
		width: 32.5%;
	}
}
@media screen and (max-width:600px){
	#contents .bunners ul li{
		width: 49.5%;
	}
}
@media screen and (max-width:450px){
	#contents section{
		padding: 2rem 0.8rem;
	}
}


/*------------------------------------------------------------------
共通スタイルforms
-------------------------------------------------------------------*/
.forms{
	border-top:1px #e4e4e4 solid;
	border-bottom:1px #e4e4e4 solid;
}
.forms.forms02{
	border-top:none;
	padding-top: 20px;
}
.forms_inner{
	max-width: 650px;
	margin: 25px auto 20px;
	font-size: 0.9rem;
}
.forms_inner h2{
	font-size: 1.1rem;
	color: #007f82;
	border-bottom: 1px #e8e8e8 solid;
	padding-bottom: 5px;
	margin: 30px 0 25px;
}
.forms_inner dl{
	display: flex;
    flex-flow: row wrap;
	justify-content: space-between;
	padding: 10px 0 15px;
}
.forms_inner dl dt{
	width: 25%;
	position:relative;
	padding-top: 12px;
	padding-right: 10px;
	line-height: 1.1rem;
}
.forms_inner dl dt.required{
	padding-top: 0;
}
.forms_inner dl dt.required::before{
	content: "必須";
	display: block;
	width: 50px;
	line-height: 1.4rem;
	background: #ff9000;
	color: #fff;
	text-align: center;
	font-size: 0.8rem;
	margin-bottom: 3px;
}
.forms_inner dl dt::after{
	position: absolute;
	content: " ";
	width: 1px;
	height: 30px;
	background: #e4e4e4;
	right: 0;
	top: 5px;
	
}
.forms_inner dl dd{
	width: 70%;
	font-size: 0.9rem;
}
.forms_inner dl dd input[type="text"],
.forms_inner dl dd input[type="email"],
.forms_inner dl dd input[type="number"],
.forms_inner dl dd input[type="tel"],
.forms_inner dl dd input[type="time"],
.forms_inner dl dd input[type="date"],
.forms_inner dl dd select,
.forms_inner dl dd textarea{
	padding: 0.8rem;
	border:1px #b9c3c3 solid;
	border-radius: 4px;
	margin-bottom:10px;
}
#step2 .forms_inner dl dd input[type="text"],
#step2 .forms_inner dl dd input[type="email"],
#step2 .forms_inner dl dd input[type="number"],
#step2 .forms_inner dl dd input[type="tel"],
#step2 .forms_inner dl dd select{
	padding: 0.8rem;
	border:1px #f6f6f6 solid;
	background: #f6f6f6;
	color: #444444;
	border-radius: 4px;
	margin-bottom:10px;
}
.forms_inner dl.type01 dd input{
	width: 70%;
}
.forms_inner dl.type02 dd input{
	width: 100%;
}
.forms_inner dl.type02 dd textarea{
	width: 100%;
	height: 100px;
}
.forms_inner dl.type03 dd input,
.forms_inner dl.type03 dd select,
.forms_inner dl.nouhin dd select,
.forms_inner dl.keiyaku select.type03{
	width: 38%;
}
.forms_inner dl.type03 dd input.yotei_kakaku,
.forms_inner dl.type04 dd input.nyusatsu_sanka,
.forms_inner dl.type04 dd input.nyusatsu_setsumei,
.forms_inner dl.type04 dd input.nyusatsu_kaishi,
.forms_inner dl.type04 dd input.nyusatsu_shimekiri,
.forms_inner dl.type04 dd input.kaisatsu{
	width: auto;
}
.forms_inner dl.type04 dd input{
	width: 28%;
}
.forms_inner dl.type05 dd input{
	width: 65%;
}
.forms_inner dl.type06 dd input{
	width: 85%;
}

.forms_inner dl.width8rem dd input{
	max-width: 10rem;
}

.forms_inner dl.mail dd input[type="email"]{
	margin-right: 2px;
}
.forms_inner dl dd .suuryou{
	margin-left: 10px;
}
@media screen and (max-width:390px){
	.forms_inner dl dd .suuryou{
		display: block;
		margin-left: 0;
	}
}

input[type="checkbox"],input[type="radio"] {
	-webkit-appearance: none;
	-moz-appearance: none;
	-ms-appearance: none;
	-o-appearance: none;
	appearance: none;
	position: relative;
	right: 0;
	bottom: 0;
	left: 0;
	height: 18px;
	width: 18px;
	vertical-align: -0.6rem;
	transition:all .15s ease-out 0s;
	color: #fff;
	cursor: pointer;
	display: inline-block;
	margin: .4rem;
	outline: none;
	border-radius: 10%;
}
input[type="checkbox"]:before,input[type="checkbox"]:after {
	position: absolute;
	content: "";
	background: #444444;
	transition: all .2s ease-in-out;
}
input[type="checkbox"]:before {
	left: 2px;
	top: 6px;
	width: 0;
	height: 2px;
	transform: rotate(45deg);
	-webkit-transform: rotate(45deg);
	-moz-transform: rotate(45deg);
	-ms-transform: rotate(45deg);
	-o-transform: rotate(45deg);
}
input[type="checkbox"]:after {
	right: 9px;
	bottom: 3px;
	width: 2px;
	height: 0;
	transform: rotate(40deg);
	-webkit-transform: rotate(40deg);
	-moz-transform: rotate(40deg);
	-ms-transform: rotate(40deg);
	-o-transform: rotate(40deg);
	transition-delay: .2s;
}
input[type="checkbox"]:checked:before {
	left: 1px;
	top: 10px;
	width: 6px;
	height: 2px;
}
input[type="checkbox"]:checked:after {
	right: 5px;
	bottom: 1px;
	width: 2px;
	height: 14px;
}
input[type="checkbox"]:indeterminate:before,input[type="checkbox"]:indeterminate:after {
	width: 7px;
	height: 2px;
	transform: rotate(0);
	-webkit-transform: rotate(0);
	-moz-transform: rotate(0);
	-ms-transform: rotate(0);
	-o-transform: rotate(0);
}
input[type="checkbox"]:indeterminate:before {
	left: 1px;
	top: 7px;
}
input[type="checkbox"]:indeterminate:after {
	right: 1px;
	bottom: 7px;
}
/* Radio */
input[type="radio"] {
	border-radius: 50%;
}
input[type="radio"]:checked:before {
	transform: scale(1);
}
input[type="radio"]:before {
	content: "";
	display: block;
	width: 10px;
	height: 10px;
	border-radius: 50%;
	margin: 3px;
	transform: scale(0);
	transition: all ease-out 250ms;
}
input[type="checkbox"],input[type="radio"]{
	border:1px #b9c3c3 solid
}
input[type="checkbox"]:checked,input[type="checkbox"]:indeterminate,input[type="radio"]:checked:before {
	background: #b9c3c3;
}

.forms_inner dl.type_zip dd input[type="button"]{
	width: 100px;
	padding: 0.6rem;
	background: #fff;
	border:1px #dcdcdc solid;
	border-radius: 4px;
	text-decoration: none;
	cursor: pointer;
}
.forms_inner dl dd input[type="button"].green_bt{
	width: 100px;
	padding: 0.6rem;
	background: #E3F3F3;
	border:1px #E3F3F3 solid;
	color: #444444;
	border-radius: 4px;
	text-decoration: none;
	cursor: pointer;
}
.forms_inner dl dd input[type="button"].gray_bt{
	width: 100px;
	padding: 0.6rem;
	background: #F3F3F3;
	border:1px #F3F3F3 solid;
	color: #444444;
	border-radius: 4px;
	text-decoration: none;
	cursor: pointer;
}
.forms_inner dl dd input[type="button"].white_bt{
	width: 100px;
	padding: 0.6rem;
	background: #ffffff;
	border:1px #dcdcdc solid;
	border-radius: 4px;
	text-decoration: none;
	cursor: pointer;
}
.forms_inner dl dd input[type="file"].brouze{
	width: 100%;
	padding: 0.8rem;
	border:1px #b9c3c3 solid;
	border-radius: 4px;
	margin-bottom:10px;
}
.forms_inner .nouhin_tsuika{
	border-top:1px #dcdcdc solid;
	border-bottom:1px #dcdcdc solid;
	padding: 10px 0 10px;
	margin-bottom: 15px;
}
.forms_inner .nouhin_tsuika a{
	display: block;
	text-align: center;
	max-width: 100%;
	padding: 0.6rem;
	border:1px #dcdcdc solid;
	border-radius: 4px;
	text-decoration: none;
	margin: 0 auto;
	background: #f3f3f3;
}

.forms_inner .border{
	border-top:1px #dcdcdc solid;
	margin-bottom: 15px;
}

.forms_inner div.type04{
	padding-bottom: 20px;
}

.forms_inner dl.type_zip dd input:first-of-type,
.forms_inner dl.type_name dd input:first-of-type{
	margin-right: 10px;
}

.forms_inner dl dd small{
	display: block;
	line-height: 1rem;
	padding-top: 3px;
	font-size: 0.8rem;
}

.forms_inner div.nouhin_tsuika_box{
	position: relative;
}
.forms_inner div.nouhin_tsuika_box .nouhin_batsu a{
	display: block;
	position: absolute;
	top:10px;
	right: 20px;
	border: 1px #dcdcdc solid; 
	background:#C4C4C4;
	border-radius: 180px;
	width: 25px;
	height: 25px;
	text-align: center;
	text-decoration: none;
	margin-top: 9px;
	line-height: 1.2rem;
}
.forms_inner .nouhin_box{
	background: #fcfcfc;
	padding: 1rem;
	margin-bottom: 15px;
}


.forms_inner .brouze_box dd{
	display: flex;
    flex-flow: row wrap;
	justify-content: space-between;
}
.forms_inner .brouze_box dd input[type="file"].brouze{
	width: 75%;
	margin-bottom: 0;
}
.forms_inner .brouze_box dd .green_bt{
	width: 22% !important;
}

@media screen and (max-width:640px){
	.forms_inner dl.type04 dd input{
		width: 35%;
	}
}
@media screen and (max-width:540px){
	.forms_inner dl dt{
		width: 100%;
		padding-bottom: 5px;
		margin-bottom: 10px;
		border-bottom:1px #dcdcdc solid; 
	}
	.forms_inner dl dd{
		width: 100%;
	}
	.forms_inner dl dt::after{
		content: none;	
	}
}
@media screen and (max-width:420px){
	.forms_inner dl.type01 dd input{
		width: 100%;
	}
	.forms_inner dl.type02 dd input{
		width: 100%;
	}
	.forms_inner dl.type03 dd input,
	.forms_inner dl.type03 dd select{
		width: 47%;
	}
	.forms_inner dl.type05 dd input{
		width: 100%;
	}
	.forms_inner dl.mail dd input[type="email"]{
		margin-right: 0;
	}
}
@media screen and (max-width:390px){
	.forms_inner dl.type04 dd input{
		width: 47%;
	}
}
/*------------------------------------------------------------------
共通スタイルyakkan
-------------------------------------------------------------------*/
.yakkan{
	border-bottom:1px #e4e4e4 solid;
}
.yakkan .yakkan_inner{
	max-width: 650px;
	margin: 25px auto 30px;
	font-size: 0.9rem;
}

.yakkan_inner h2{
	font-size: 1rem;
	border-bottom: 1px #e8e8e8 solid;
	padding-bottom: 5px;
	margin: 30px 0 10px;
}
.yakkan_inner div.yakkan_text{
	width: 100%;
	overflow-x: scroll;
	height: 200px;
	padding: 0.8rem;
	border:1px #b9c3c3 solid;
	border-radius: 4px;
	line-height: 1.6rem;
	margin-bottom: 5px;
}



/*------------------------------------------------------------------
共通スタイルsubmit
-------------------------------------------------------------------*/
div.submit{
	text-align: right;
	margin: 10px 0 10px;
}

/*スクロール内のsubmit*/
.remodal_scroll div.submit{
	text-align: right;
	margin: 10px 10px 10px 0;
}

div.submit input[type="button"]{
	width: 140px;
	background: #007f82;
	color: #fff;
	font-size: 0.9rem;
	border: none;
	border-radius: 4px;
	padding: 0.4rem;
	cursor: pointer;
}

div.submit input[type="button"].syuusei{
	width: 140px;
	background: #adadad;
	color: #fff;
	font-size: 0.9rem;
	border: none;
	border-radius: 4px;
	padding: 0.4rem;
	margin-right: 5px;
	cursor: pointer;
}

div.submit input[type="button"].btn_red{
	width: 140px;
	background: #b4273a;
	color: #fff;
	font-size: 0.9rem;
	border: none;
	border-radius: 4px;
	padding: 0.4rem;
	cursor: pointer;
}

button.btn_green{
	background: #007f82;
	color: #fff;
	font-size: 0.9rem;
	border: none;
	border-radius: 4px;
	padding: 0.4rem;
	cursor: pointer;
}

button.btn_red{
	background: #b4273a;
	color: #fff;
	font-size: 0.9rem;
	border: none;
	border-radius: 4px;
	padding: 0.4rem;
	cursor: pointer;
}


div.submit input[type="button"].btn_yellow{
	width: 140px;
	background: #eeec60;
	color: #222020bd;
	font-size: 0.9rem;
	border: none;
	border-radius: 4px;
	padding: 0.4rem;
	cursor: pointer;
}

div.submit input[type="button"].btn_orange{
	width: 140px;
	background: #f8ab03;
	color: #ffffff;
	font-size: 0.9rem;
	border: none;
	border-radius: 4px;
	padding: 0.4rem;
	cursor: pointer;
}




div.submit input[type="button"]:disabled {
	background-color: #cccccc;
	color: #666666;
}

button.btn_green{
	background: #007f82;
	color: #fff;
	font-size: 0.9rem;
	border: none;
	border-radius: 4px;
	padding: 0.4rem 1rem;
	cursor: pointer;
}

button.btn_red{
	background: #b4273a;
	color: #fff;
	font-size: 0.9rem;
	border: none;
	border-radius: 4px;
	padding: 0.4rem 1rem;
	cursor: pointer;
}



@media screen and (max-width:330px){
	div.submit input[type="button"],
	div.submit input[type="button"].syuusei{
		width: 100%;
		margin-right: 0;
	}
	div.submit input[type="button"].syuusei{
		margin-bottom: 5px;	
	}
}
div.submit input[type="button"].hozon{
	background: #748A8B;
	margin-right: 10px;
}
@media screen and (max-width:330px){
	div.submit input[type="button"].hozon{
		margin-bottom: 5px;	
	}
}
#division div.submit,
#bid div.submit,
#procurement div.submit,
.search div.submit{
	text-align: center;
}
#division div.submit02 input{
	width: 180px;
}
@media screen and (max-width:330px){
#division div.submit02 input{
	width: 100%;
}
}

/*------------------------------------------------------------------
共通スタイルerror
-------------------------------------------------------------------*/

input.error,
select.error,
textarea.error{
	background: #ffecec !important;
	border:1px #ef2f2f solid !important;
	margin-bottom: 5px !important;
}
input[type="checkbox"].error,
input[type="radio"].error{
	accent-color: #AC582F;
}
small.red{
	display: block;
	color:#ff0000;
	font-weight: bold;
	margin-bottom: 10px;
}
/*------------------------------------------------------------------
共通スタイルsteper
-------------------------------------------------------------------*/
.stepper .progressbar {
    position: relative;
    margin: 0;
    padding: 0;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}
.stepper .progressbar li {
    position: relative;
    list-style-type: none;
    text-align: center;
    text-transform: uppercase;
    width: 20%;
    color: #444444;
	padding-top: 50px;
	font-size: 0.9rem;
}
.stepper .progressbar li::before {
    display: block;
    width: 32px;
    height: 32px;
    content: '';
    text-align: center;
    border-radius: 50%;
    background-color: #F5F5F5;
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	margin: 7px auto 20px auto;
	z-index: 10;
}
.stepper .progressbar li::after {
    position: absolute;
  	z-index: 0;
    top: 22px;
    left: -50%;
    width: 100%;
	height: 2px;
    content: " ";
    background-color: #F5F5F5;
}
.stepper .progressbar li:first-child:after {
    content: none;
}
/*#steper .progressbar li.active,
#steper .progressbar li.complete{
    color: #ec6c00;
}*/
.stepper .progressbar li.active:before,
.stepper .progressbar li.complete:before {
    background-color: #ec6c00;
}
.stepper .progressbar li.active:after,
.stepper .progressbar li.complete:after {
    background-color: #ec6c00;
}

/* 装飾 */
.stepper ul{
  margin: 40px 0 !important;
}
.stepper .progressbar li span{
	display: block;
	font-size: 1.2rem;
	font-weight: bold;
	color: #007f82;
}
@media screen and (max-width:768px){
	.stepper .progressbar {
		display: block;
	}
	.stepper .progressbar li{
		width: 100%;
		height: 50px;
		text-align: left;
		padding-top: 0;
		padding-left: 50px;
	}
	.stepper .progressbar li::before{
		text-align: left;
		position: absolute;
		top: 0;
		left: 0;
		right:inherit;
		margin: 7px 0 20px 0;
		z-index: 10;
	}
	.stepper .progressbar li::after {
		position: absolute;
		z-index: 0;
		top: -20px;
		left: 14px;
		width: 2px;
		height: 100%;
		content: " ";
		background-color: #F5F5F5;
	}
	
	
	.stepper ul{
	  margin: 30px 0 30px 30px!important;
	}
	.stepper .progressbar li span{
		display: inline;
		padding-right: 10px;
	}
}
@media screen and (max-width:450px){
	.stepper ul{
	  margin: 30px 0 30px 0!important;
	}
}
/*------------------------------------------------------------------
共通スタイルdivision tables
-------------------------------------------------------------------*/
#division{
	border-bottom: none;
}
.tables_title{
	border-bottom: 1px #e8e8e8 solid;
	padding-bottom: 5px;
	margin: 30px 0 25px;
	position: relative;
}
.tables_title h2{
	font-size: 1.1rem;
	color: #007f82;
}
div.download_bt a{
	display: block;
	position:absolute;
	right: 0;
	top: 0;
	width: 100px;
	background: #007f82;
	color: #fff;
	font-size: 0.8rem;
	border: none;
	border-radius: 4px;
	padding: 0.5rem;
	cursor: pointer;
	text-decoration: none;
	text-align: center;
	line-height: 1rem;
}
div.download_bt a:hover{
	background: #00a3a7;
}
.tables table{
	border-collapse: collapse;
	width: 100%;
	font-size: 0.9rem;
}
.tables table tr th{
	background: #f3f3f3;
	padding: 0.5rem 1rem;
	font-weight: normal;
	font-size: 0.9rem;
}
.tables table tr td{
	padding: 0.5rem 1rem;
	border-bottom: 1px #e8e8e8 solid;
	font-size: 0.9rem;
}
.tables table tr td a{
	color: #ec6c00;
	text-decoration: none;
}
.tables table tr:hover{
	background: #fbfbfb;
}
.tables table tr:last-of-type td{
	border-bottom: 2px #e8e8e8 solid;
}
@media screen and (max-width:650px){
	.tables_area{
		overflow-x: auto;
	}
	.tables table{
		width: 680px;
	}
}

/*------------------------------------------------------------------
共通スタイルbid table
-------------------------------------------------------------------*/
#bid{
	border-bottom: none;
	padding-top: 0;
	position: relative;
}
#bid a{
	color: #ec6c00;
	text-decoration: none;
}
#bid .type01{
	width: 30%;
}
.bid_sub_title2{
	position: relative;
}
.bid_contact{
	position: absolute;
	font-size: 0.9rem;
	top:0;
	right: 0;
	font-weight: normal;
}
.bid_contact a{
	color: #0000ee;
}

#bid .tables_title{
	margin: 30px 0 10px;
}
.bid_select_tables{
	display: flex;
    flex-direction: row-reverse;
}
.bid_select_tables select.select_type01{
	width: 270px;
	padding: 0.8rem;
	border:1px #b9c3c3 solid;
	border-radius: 4px;
	margin-bottom:10px;
}
@media screen and (max-width:1150px){
	#bid .tables_area{
		overflow-x: auto;
	}
	#bid .tables table{
		width: 1150px;
	}
}
@media screen and (max-width:345px){
	.bid_select_tables select.select_type01{
		width: 100%;	
	}
}


/*------------------------------------------------------------------
共通スタイルremodal table(bid_item_list)
-------------------------------------------------------------------*/

.remodal #table2{
	text-align: left;
}
@media screen and (max-width:750px){
	.remodal #table2 .tables_area{
		overflow-x: auto;
	}
	.remodal #table2 table{
		width: 750px;
	}
}

/* remodal-default-theme.csへの追加分 */
h2.sub_title{
	font-size: 1.2rem;
	text-align: left;
	color:#007f82;
}



/*------------------------------------------------------------------
共通スタイルprocurement table --bid table のコピー 
-------------------------------------------------------------------*/
#procurement{
	border-bottom: none;
	padding-top: 0;
	position: relative;
}
#procurement a{
	color: #ec6c00;
	text-decoration: none;
}
#procurement .type01{
	width: 30%;
}
.procurement_sub_title2{
	position: relative;
}
.procurement_contact{
	position: absolute;
	font-size: 0.9rem;
	top:0;
	right: 0;
	font-weight: normal;
}
.procurement_contact a{
	color: #0000ee;
}

#procurement .tables_title{
	margin: 30px 0 10px;
}
.procurement_select_tables{
	display: flex;
    flex-direction: row-reverse;
}
.procurement_select_tables select.select_type01{
	width: 270px;
	padding: 0.8rem;
	border:1px #b9c3c3 solid;
	border-radius: 4px;
	margin-bottom:10px;
}
.procurement_select_tables select.select_type02{
	width: 100px;
	padding: 0.8rem;
	border:1px #b9c3c3 solid;
	border-radius: 4px;
	margin-top:10px;
}
@media screen and (max-width:1150px){
	#procurement .tables_area{
		overflow-x: auto;
	}
	#procurement .tables table{
		width: 1150px;
	}
}
@media screen and (max-width:345px){
	.procurement_select_tables select.select_type01{
		width: 100%;	
	}
}

/*------------------------------------------------------------------
共通スタイルsearch table --bid table のコピー 
-------------------------------------------------------------------*/
.search_contents section{
	margin-bottom: 20px;
}
.search{
	border-bottom: none;
	padding-top: 0!important;
	position: relative;
}
.search a{
	color: #ec6c00;
	text-decoration: none;
}
.search .type01{
	width: 30%;
}
.search_sub_title2{
	position: relative;
}
.search_contact{
	position: absolute;
	font-size: 0.9rem;
	top:0;
	right: 0;
	font-weight: normal;
}
.search_contact a{
	color: #0000ee;
}

.search .tables_title{
	margin: 30px 0 10px;
}
.search_select_tables{
	display: flex;
    flex-direction: row-reverse;
}
.search_select_tables select.select_type01{
	width: 270px;
	padding: 0.8rem;
	border:1px #b9c3c3 solid;
	border-radius: 4px;
	margin-bottom:10px;
}
.search_select_tables select.select_type02{
	width: 100px;
	padding: 0.8rem;
	border:1px #b9c3c3 solid;
	border-radius: 4px;
	margin-top:10px;
}
@media screen and (max-width:1150px){
	.search .tables_area{
		overflow-x: auto;
	}
	.search .tables table{
		width: 1150px;
	}
}
@media screen and (max-width:345px){
	.search_select_tables select.select_type01{
		width: 100%;	
	}
}

/*------------------------------------------------------------------
共通スタイルperson table --bid table のコピー 
-------------------------------------------------------------------*/
.person{
	border-bottom: none;
	padding-top: 0!important;
	position: relative;
}
.pserson a{
	color: #ec6c00;
	text-decoration: none;
}
.person .type01{
	width: 30%;
}
.person_sub_title2{
	position: relative;
}
.person_contact{
	position: absolute;
	font-size: 0.9rem;
	top:0;
	right: 0;
	font-weight: normal;
}
.person_contact a{
	color: #0000ee;
}

.person .tables_title{
	margin: 30px 0 10px;
}
.person_select_tables{
	display: flex;
    flex-direction: row-reverse;
}
.person_select_tables select.select_type01{
	width: 270px;
	padding: 0.8rem;
	border:1px #b9c3c3 solid;
	border-radius: 4px;
	margin-bottom:10px;
}
.person_select_tables select.select_type02{
	width: 100px;
	padding: 0.8rem;
	border:1px #b9c3c3 solid;
	border-radius: 4px;
	margin-top:10px;
}
@media screen and (max-width:1150px){
	.person .tables_area{
		overflow-x: auto;
	}
	.person .tables table{
		width: 1150px;
	}
}
@media screen and (max-width:345px){
	.person_select_tables select.select_type01{
		width: 100%;	
	}
}


/*------------------------------------------------------------------
共通スタイルsections 元々(contract_contents)
-------------------------------------------------------------------*/
.sections section{
	margin-bottom: 20px;
}
.sections section:last-of-type{
	margin-bottom: 0;
}
.sectionss .forms{
	border-bottom: none;
	padding-top: 0;
}

.sections .page_title{
	position: relative;
}

.page_title h1{
	font-size: 1.4rem;
	color: #444444;
	margin-bottom: 20px;
}

.sections .page_title .back_link{
	position: absolute;
	right: 0;
	top: 0;
}
.contract input[type="file"].brouze {
    width: 100%;
    padding: 0.8rem;
    border: 1px #b9c3c3 solid;
    border-radius: 4px;
    margin-bottom: 10px;
}
.contract input[type="button"].green_bt {
    width: 100px;
    padding: 0.6rem;
    background: #E3F3F3;
    border: 1px #E3F3F3 solid;
    color: #444444;
    border-radius: 4px;
    text-decoration: none;
    cursor: pointer;
}
.contract a{
	color: #ec6c00;
}

.contract{
	border:1px #e8e8e8 solid!important;
	border-bottom-left-radius: 5px;
	border-bottom-right-radius: 5px;
	padding: 0 1rem;
}


.contract{
	border:1px #e8e8e8 solid;
	border-bottom-left-radius: 5px;
	border-bottom-right-radius: 5px;
	padding: 0 1rem;
}
.contract .forms_inner.wide{
	max-width: 90%;
	margin: 25px auto 20px;
}

.contract .forms_inner h2{
	margin: 25px auto 0 ;
}

/*
.contract_contents section{
	margin-bottom: 20px;
}
.contract_contents section:last-of-type{
	margin-bottom: 0;
}
.contract_contents .forms{
	border-bottom: none;
	padding-top: 0;
}
.contract_contents .contract_title{
	position: relative;
}
.contract_title h1{
	font-size: 1.4rem;
	color: #444444;
	margin-bottom: 20px;
}
.contract_contents .contract_title .back_link{
	position: absolute;
	right: 0;
	top: 0;
}
#contract03 input[type="file"].brouze {
    width: 100%;
    padding: 0.8rem;
    border: 1px #b9c3c3 solid;
    border-radius: 4px;
    margin-bottom: 10px;
}
#contract03 input[type="button"].green_bt {
    width: 100px;
    padding: 0.6rem;
    background: #E3F3F3;
    border: 1px #E3F3F3 solid;
    color: #444444;
    border-radius: 4px;
    text-decoration: none;
    cursor: pointer;
}
#contract03 a{
	color: #ec6c00;
}

#contract01,
#contract02,
#contract03,
#contract04{
	border:1px #e8e8e8 solid;
	border-bottom-left-radius: 5px;
	border-bottom-right-radius: 5px;
	padding: 0 1rem;
}
#contract01 .forms_inner,
#contract02 .forms_inner,
#contract03 .forms_inner{
	max-width: 80%;
	margin: 25px auto 20px;
}

#contract01 .forms_inner dl dt{
	width: 20%;
	max-width: 8rem;
}
#contract01 .forms_inner dl dd{
	width: 80%;
}

*/




@media screen and (max-width:360px){
	.contract_title h1{
		margin-bottom: 50px;
	}
	.contract_contents .contract_title .back_link{
		right: 0;
		top: 40px;
	}
}
/*------------------------------------------------------------------
共通スタイルinquire_contents
-------------------------------------------------------------------*/
/*
.inquire_contents section{
	margin-bottom: 20px;
}
*/
.inquire_answer .date_small{
	display: block;
	font-size: 0.8rem;
	line-height: 1rem;
	padding-bottom: 0.2rem;
	color: #8C8C8C;
}
/*------------------------------------------------------------------
共通スタイルhome
-------------------------------------------------------------------*/
.home{
	border-bottom: none;
	padding-top: 0;
	position: relative;
}
.home a{
	/*color: #ec6c00;*/
	text-decoration: none;
}
.home .forms_inner{
	max-width: 980px;
	display: flex;
	flex-flow: row wrap;
    /*justify-content: space-between;*/
}
.home .forms_inner a{
	display: block;
	width: 32%;
	border:1px #dcdcdc solid;
	border-radius: 4px;
	padding: 1.5rem 2rem 1.5rem 1rem;
	margin:0 2% 2rem 0;
	position: relative;
}
.home .forms_inner a:nth-of-type(3n){
	margin-right: 0;
}
.home .forms_inner a:after{
	content: "";
	display: block;
	background: url("../images/arrow.png");
	width: 13px;
	height: 20px;
	position: absolute;
	right: 10px;
	top: 45%;
	bottom:55%;
}
.home .forms_inner a.green{
	border-left: 7px #007f82 solid;
}
.home .forms_inner a.lt_green{
	border-left: 7px #21bdc3 solid;
}
.home .forms_inner a.orange{
	border-left: 7px #ff9000 solid;
}
.home .forms_inner a.bk_gray{
	border-left: 7px #444444 solid;
}
.home .forms_inner a.lt_blue{
	border-left: 7px #e3f3f3 solid;
}

.home .forms_inner div span.num{
	display: inline-block;
	background: #c80000;
	color: #fff;
	border-radius: 180px;
	width: 20px;
	height: 20px;
	line-height: 1rem;
	text-align: center;
	margin-right: 10px;
}
.home .forms_inner div span.icon{
	display: block;
	font-size: 0.8rem;
	border:1px #dcdcdc solid;
	border-radius: 180px;
	width: 100px;
	text-align: center;
	line-height: 1.8rem;
	margin-top: 0.5rem;
}
.home .forms_inner div small{
	display: block;
	padding-left: 33px;
}
@media screen and (max-width:980px){
	.home .forms_inner a,
	.home .forms_inner a:nth-of-type(3n){
		width: 48%;
		margin:0 2% 2rem 0;
	}
	.home .forms_inner a:nth-of-type(2n){
		margin-right: 0;
	}
}
@media screen and (max-width:690px){
	.home .forms_inner a,
	.home .forms_inner a:nth-of-type(2n),
	.home .forms_inner a:nth-of-type(3n){
		width: 100%;
		margin:0 0 2rem 0;
	}
}

/*------------------------------------------------------------------
共通スタイルsub_title
-------------------------------------------------------------------*/
.section_box .sub_title{
	color: #fff !important;
	font-size: 1.1rem !important;
	padding: 0.5rem 1rem;
	border-top-left-radius: 5px;
	border-top-right-radius: 5px;
}

.section_box .sub_title.bg_007f82{
	background: #007f82;
}

.section_box .sub_title.bg_27a4a7{
	background: #27a4a7;
}

/*
.section_box01 .sub_title{
	background: #007f82;
	color: #fff !important;
	font-size: 1.1rem !important;
	padding: 0.5rem 1rem;
	border-top-left-radius: 5px;
	border-top-right-radius: 5px;
}
.section_box02 .sub_title{
	background: #27a4a7;
	color: #fff !important;
	font-size: 1.1rem !important;
	padding: 0.5rem 1rem;
	border-top-left-radius: 5px;
	border-top-right-radius: 5px;
}
.section_box03 .sub_title{
	background: #ec6c00;
	color: #fff !important;
	font-size: 1.1rem !important;
	padding: 0.5rem 1rem;
	border-top-left-radius: 5px;
	border-top-right-radius: 5px;
}
*/
#contract04 .forms_inner a{
	color: #ec6c00;
    text-decoration: none;
}
.sub_title .date_small{
	display: block;
	font-size: 0.7rem;
	line-height: 1rem;
	padding-bottom: 0.2rem;
}

/*------------------------------------------------------------------
共通スタイルinquire sub_title
-------------------------------------------------------------------*/
/*
.inquire_contents .inquire_title{
	position: relative;
}
.inquire_title h1{
	font-size: 1.4rem;
	color: #444444;
	margin-bottom: 20px;
}
.inquire_contents .inquire_title .back_link{
	position: absolute;
	right: 0;
	top: 0;
}
#inquire01,
#inquire02{
	border:1px #e8e8e8 solid;
	border-bottom-left-radius: 5px;
	border-bottom-right-radius: 5px;
	padding: 0 1rem;
}
#inquire01 .forms_inner,
#inquire02 .forms_inner{
	max-width: 100%;
	margin: 25px auto 20px;
}
*/

.inquire{
	border:1px #e8e8e8 solid;
	border-bottom-left-radius: 5px;
	border-bottom-right-radius: 5px;
	padding: 0 1rem;
}

.inquire .forms_inner{
	max-width: 100%;
	margin: 25px auto 20px;
}


.inquire_answer{
	background: #e7f5f5;
	padding: 10px 1rem;
	margin-top: 1rem;
}

/*------------------------------------------------------------------
共通スタイルaccordion
-------------------------------------------------------------------*/
.accordion_forms_inner {
    display: none;
}

.accordion_forms_inner.active{
    display: block;
}
.accordion{
	display: block;
	position: absolute;
	cursor: pointer;
	width: 30px;
	height: 30px;
	right: 0;
	top: 0;
	/*background: #f3f3f3;*/
}
/* ①プラスの横線 */
.accordion:before {
	content: "";
	position: absolute;
	top: 50%;
	right: 6px;
	width: 18px;
	height: 2px;
	background: #444;
	transform: translateY(-50%);
}

/* ②プラスの縦線 */
.accordion:after {
	content: "";
	position: absolute;
	top: 50%;
	/* 8px+12px-1px(幅2pxの半分) */
	right: 14px;
	width: 2px;
	height: 18px;
	background: #444;
	transform: translateY(-50%);
	transition: .3s;
}

/* ③オープン時にopenクラスを付与（縦線を回転させて非表示に） */
.accordion.open:after {
	top: 50%;
	opacity: 0;
	transform: rotate(90deg);
}
/*------------------------------------------------------------------
共通スタイルinquire_contents accordion
-------------------------------------------------------------------*/
.sections .section_box{
	position: relative;
}
.sections .accordion{
	right: 35px;
	top: 50px;
}
/* ①プラスの横線 */
.sections .accordion:before {
	background: #fff;
}

/* ②プラスの縦線 */
.sections .accordion:after {
	background: #fff;
}
/*
.inquire_contents .section_box01{
	position: relative;
}
.inquire_contents .accordion{
	right: 35px;
	top: 50px;
}
①プラスの横線 
.inquire_contents .accordion:before {
	background: #fff;
}

②プラスの縦線 
.inquire_contents .accordion:after {
	background: #fff;
}
*/
/*------------------------------------------------------------------
共通スタイルfooter
-------------------------------------------------------------------*/
footer{
	border-top:1px #dcdcdc solid;
	margin-top: 30px;
}
footer .footer_inner{
	max-width: 1200px;
	margin: 0 auto;
	padding: 1rem 0.5rem 0;
	/*display: flex;
    flex-flow: row wrap;
	justify-content: space-between;*/
}
footer .footer_inner div{
	color: #748a8b;
	font-size: 0.9rem;
}
footer .footer_inner ul{
	display: flex;
    flex-flow: row wrap;
	justify-content:center;/*追加*/
	font-size: 0.9rem;
}
footer .footer_inner ul li{
	padding-right: 20px;
	position: relative;
}
footer .footer_inner ul li::after{
	position: absolute;
	content: "|";
	right: 10px;
	top: 0;
}

footer .footer_inner .f_logo{

	max-width: 230px;

	margin: 0 auto;

}


/*追加*/
footer .footer_inner ul li:last-of-type::after{
	content: none;
}
/*追加*/
footer .footer_inner ul li:last-of-type{
	padding-right: 0;
}
footer .footer_inner ul li a{
	text-decoration: none;
}
@media screen and (max-width:630px){
	footer .footer_inner{
		display: block;
	}
	footer .footer_inner div{
		text-align: left;
	}
}

/*------------------------------------------------------------------
共通スタイルパーツmodal
-------------------------------------------------------------------*/
/* モーダルと背景の指定 */
.modal{
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  text-align: center;
  background: rgba(0,0,0,50%);
  padding:5px 0;
  overflow: auto;
  opacity: 0;
  visibility: hidden;
  transition: .3s;
  box-sizing: border-box;
	z-index: 100;
}

/* モーダルの擬似要素の指定 */
.modal:before{
  content: "";
  display: inline-block;
  vertical-align: middle;
  height: 100%;
  margin-left: -0.2em;
}

/* クラスが追加された時の指定 */
.modal.is-active{
  opacity: 1;
  visibility: visible;
}

/* モーダル内側の指定 */
.modal-container{
  position: relative;
  display: inline-block;
  vertical-align: middle;
  max-width: 900px;
  width: 98%;
}

/* モーダルを閉じるボタンの指定 */
.modal-close{
  position: absolute;
  display: flex;
  align-items: center;
  justify-content: center;
  top: 0;
  right: 0;
  width: 40px;
  height: 40px;
  color: #ec6c00;
  /*background: #000;
  border-radius: 50%;*/
  cursor: pointer;
}

/* モーダルのコンテンツ部分の指定 */
.modal-content{
  background: #fff;
  text-align: left;
  line-height: 1.8;
  /*padding: 20px;*/
}

/* モーダルのコンテンツ部分のテキストの指定 */
.modal-content p{
  margin: 1em 0;
}
/*------------------------------------------------------------------
共通スタイルパーツremodal_container
-------------------------------------------------------------------*/
.remodal_container{
	max-width: 650px;
	margin: 25px auto 20px;
	font-size: 0.9rem;
}
.remodal_container.narrow{
	margin: 5px auto 20px;
	padding: 5px 0 20px;
}
.remodal_scroll{
	overflow: auto;
	max-height: 70vh;
}
.remodal_container dl{
	display: flex;
    flex-flow: row wrap;
	justify-content: space-between;
	padding: 10px 0 15px;
}
.remodal_container dl dt{
	width: 25%;
	position:relative;
	padding-top: 8px;
	padding-right: 10px;
	line-height: 1.1rem;
}
.remodal_container dl dt.required{
	padding-top: 0;
}
.remodal_container dl dt.required::before{
	content: "必須";
	display: block;
	width: 50px;
	line-height: 1.4rem;
	background: #ff9000;
	color: #fff;
	text-align: center;
	font-size: 0.8rem;
	margin-bottom: 3px;
}
.remodal_container dl dt::after{
	position: absolute;
	content: " ";
	width: 1px;
	height: 30px;
	background: #e4e4e4;
	right: 0;
	top: 5px;
	
}
.remodal_container dl dd{
	width: 70%;
	font-size: 0.9rem;
}
.remodal_container dl.type02 dd input{
	width: 100%;
}
.remodal_container dl dd input[type="text"]{
	padding: 0.8rem;
	border:1px #b9c3c3 solid;
	border-radius: 4px;
	margin-bottom:10px;
}
/*.remodal_container dl.type02 dd input.error{
	background: #ffecec;
	border:1px #ef2f2f solid;
	margin-bottom: 5px;
}*/
.remodal_container dl dd small{
	display: block;
	line-height: 1rem;
	padding-top: 3px;
	font-size: 0.8rem;
}
.remodal_container dl dd small.red{
	color:#ff0000;
	font-weight: bold;
	margin-bottom: 10px;
}
@media screen and (max-width:540px){
	.remodal_container dl dt{
		width: 100%;
		padding-bottom: 5px;
	}
	.remodal_container dl dd{
		width: 100%;
	}
	.remodal_container dl dt::after{
		content: none;	
	}
}
@media screen and (max-width:420px){
	.remodal_container dl.type02 dd input{
		width: 100%;
	}
}

.remodal.remodal_md{
	max-width: 600px;
}

/*------------------------------------------------------------------
共通スタイルpagination
-------------------------------------------------------------------*/
/*
.pagination{
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 0 8px;
    list-style-type: none;
    padding: 0;
	margin: 20px 0;
}

.pagination a {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 2.5em;
    height: 2.5em;
    border-radius: 6px;
	color: #444 !important;
	font-size: 0.9rem;
	border: 1px #dcdcdc solid;
	text-decoration: none;
}
.pagination a:hover{
    background-color: #007f82;
    color: #fff !important;
	border: none;
}
.pagination a:not(:hover) {
    text-decoration: none;
}

.pagination .current a {
    background-color: #007f82;
    color: #fff !important;
    pointer-events: none;
}

.pagination .prev a,
.pagination .next a {
    gap: 0 4px;
    width: auto;
    padding: .5em .8em;
    line-height: 1;
    width: 2.5em;
    height: 2.5em;
}

.pagination .prev a::before,
.pagination .next a::after {
    display: inline-block;
    transform: rotate(45deg);
    width: .3em;
    height: .3em;
    content: '';
}
.pagination .prev a::before {
    border-bottom: 1px solid #007f82;
    border-left: 1px solid #007f82;
}

.pagination .next a::after {
    border-top: 1px solid #007f82;
    border-right: 1px solid #007f82;
}
.pagination .prev a:hover::before{
    border-bottom: 1px solid #fff;
    border-left: 1px solid #fff;
}
.pagination .next a:hover::after {
    border-top: 1px solid #fff;
    border-right: 1px solid #fff;
}
*/
#pager{
	display: flex;
    justify-content: center;
    align-items: center;
    gap: 0 8px;
    list-style-type: none;
    padding: 0;
	margin: 20px 0;
}



#pager a {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 2.5em;
    height: 2.5em;
    border-radius: 6px;
	color: #444 !important;
	font-size: 0.9rem;
    /*background-color: #f2f2f2;
    color: #2589d0;*/
	border: 1px #dcdcdc solid;
	text-decoration: none;
	cursor: pointer;
}

#pager a:hover{
    background-color: #007f82;
    color: #fff !important;
	border: none;
}

.paginationjs .paginationjs-pages {
	float:left;
  }

.paginationjs .paginationjs-pages ul{
	display: flex;
}

.paginationjs-page,.J-paginationjs-page {
	margin: 0 5px;
}


.paginationjs-page a:hover{
    background-color: #007f82;
    color: #fff !important;
	border: none;
}

/* .pagination .current a */
#pager li.paginationjs-page.active > a {
	color: #fff!important;
	background-color: #007f82;
	pointer-events: none;
  }

  .paginationjs .paginationjs-pages li.disabled > a {
	opacity: .3;
	cursor: default!important;
}

.paginationjs-size-changer{
	margin-left:10px;
	float: left;
}
 

.paginationjs-size-changer > select{
	height: 34px;
}


/*------------------------------------------------------------------
共通スタイルpagetop
-------------------------------------------------------------------*/
.pagetop {
    display: none;
    position: fixed;
    bottom: 0;
    right: 0;
}
.pagetop a{
	display: block;
	background: #007f82;
	color: #fff;
	text-decoration: none;
	width: 100px;
	line-height: 80px;
	font-size: 0.9rem;
}
.pagetop a:hover{
	background: #00a3a7;
}
/*------------------------------------------------------------------
共通スタイルパーツrate
-------------------------------------------------------------------*/
.star5_rating{
    position: relative;
    z-index: 0;
    display: inline-block;
    white-space: nowrap;
    color: #CCCCCC; /* グレーカラー 自由に設定化 */
    font-size: 1rem; /*フォントサイズ 自由に設定化*/ 
}


.star5_rating.x12{
	font-size: 1.2rem;	
}

.star5_rating.x15{
	font-size: 1.5rem;	
}
.star5_rating.x20{
	font-size: 2rem;	
}


.star5_rating:before, .star5_rating:after{
    content: '★★★★★';
}

.star5_rating:after{
    position: absolute;
    z-index: 1;
    top: 0;
    left: 0;
    overflow: hidden;
    white-space: nowrap;
    color: #ffcf32; /* イエローカラー 自由に設定化 */
}

.star5_rating[data-rate="5"]:after{ width: 100%; } /* 星5 */
.star5_rating[data-rate="4.5"]:after{ width: 90%; } /* 星4.5 */
.star5_rating[data-rate="4"]:after{ width: 80%; } /* 星4 */
.star5_rating[data-rate="3.5"]:after{ width: 70%; } /* 星3.5 */
.star5_rating[data-rate="3"]:after{ width: 60%; } /* 星3 */
.star5_rating[data-rate="2.5"]:after{ width: 50%; } /* 星2.5 */
.star5_rating[data-rate="2"]:after{ width: 40%; } /* 星2 */
.star5_rating[data-rate="1.5"]:after{ width: 30%; } /* 星1.5 */
.star5_rating[data-rate="1"]:after{ width: 20%; } /* 星1 */
.star5_rating[data-rate="0.5"]:after{ width: 10%; } /* 星0.5 */
.star5_rating[data-rate="0"]:after{ width: 0%; } /* 星0 */




/*------------------------------------------------------------------
共通スタイルパーツtab
-------------------------------------------------------------------*/
.tab {
    margin: 0 auto;
}

/* タブメニュー */
.tab__menu {
    display: flex;
    align-items: flex-end; /* メニューを下揃え */
    min-height: 50px; /* メニュー切替時にタブがズレないように */
    margin: 0 20px;
}

.tab__menu-item {
    list-style: none;
    width: 300px;
    padding: 8px 5px; /* メニューに高さを付ける */
    text-align: center;
    margin-right: 6px;
    background-color: #fdfdfd;
	color: #748a8b;
    cursor: pointer;
    transition: all .3s; /* アニメーション */
	font-weight: bold;
	font-size: 1rem;
}

.tab__menu-item:last-of-type {
    margin-right: 0px;
}

/* is-activeがついている時のスタイル */
.tab__menu-item.is-active {
    color: #007f82;
    padding: 12px 5px;
    border-top:5px #ff9000 solid;
	background: #fff;
}

/* タブパネル */
.tab__panel-box001 {
    display: none;
}

.tab__panel-box002 {
    display: none;
}

/* is-showがついている時のスタイル */
.tab__panel-box.is-show {
    display: block;
}

@media screen and (max-width:660px){
	.tab__menu-item {
		width: 50%;	
	}
}




/*sweetalert2*/
.swal2-container{
	z-index: 10001;
}

.swal2-order-1 {
	order: 1;
  }
  
.swal2-order-2 {
	order: 2;
}
  
.swal2-order-3 {
	order: 3;
}




