/*style.css*/

.container-fuild {
	margin: 0;
	padding: 0;
	overflow: hidden;
}

/* reset css */

p {
	margin: 0;
	padding: 0;
}

/* base css */

a {
	color: #000;
}

a:hover {
	text-decoration: none;
}

a img:hover {
	opacity: .8;
}

.table td, .table th {
	border-bottom: 1px solid #ccc;
	border-top: none;
}

.navbar-dark .navbar-nav .active>.nav-link, .navbar-dark .navbar-nav .nav-link.active, .navbar-dark .navbar-nav .nav-link.show, .navbar-dark .navbar-nav .show>.nav-link {
	padding: 10px 25px;
}

.navbar-dark .navbar-nav .nav-link {
	padding: 10px 25px;
}

[lang=ja] h1, [lang=ja] h1 {
	font-size: 18px;
	font-weight: normal;
	line-height: 2.2;
}

[lang=ja] h2, [lang=ja] h2 {
	font-size: 18px;
	line-height: 1.8;
	font-weight: normal;
}

/* text-overflow */

/* overflow:hidden、heightは必ず指定する */
.textOverflow01 {
  overflow: hidden;
  border: 1px solid #ccc;
  padding: 10px;
  height: 120px;
  background: #fff;
}


/* margin class */
.mt-15 {
	margin-top: -15px;
}

.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;
}


.mb10 {
	margin-bottom: 10px;
}

.mb20 {
	margin-bottom: 20px;
}

.mb30 {
	margin-bottom: 30px;
}

.mb40 {
	margin-bottom: 40px;
}

.mb50 {
	margin-bottom: 50px;
}

.mb60 {
	margin-bottom: 60px;
}

/* padding class */

.pad10 {
	padding: 10px;
}

.pad15 {
	padding: 15px;
}

.pad20 {
	padding: 20px;
}

.pad25 {
	padding: 25px;
}

.pad30 {
	padding: 30px;
}

.pad35 {
	padding: 35px;
}

.pad40 {
	padding: 40px;
}



.pt10 {
	padding-top: 10px;
}

.pt20 {
	padding-top: 20px;
}

.pt30 {
	padding-top: 30px;
}

.pt40 {
	padding-top: 40px;
}

.pt50 {
	padding-top: 50px;
}

.pt60 {
	padding-top: 60px;
}

.pt70 {
	padding-top: 70px;
}

.pt80 {
	padding-top: 80px;
}

.pt90 {
	padding-top: 90px;
}

.pt100 {
	padding-top: 100px;
}


.pb10 {
	padding-bottom: 10px;
}

.pb20 {
	padding-bottom: 20px;
}

.pb30 {
	padding-bottom: 30px;
}

.pb40 {
	padding-bottom: 40px;
}

.pb50 {
	padding-bottom: 50px;
}

.pb60 {
	padding-bottom: 60px;
}

.pb70 {
	padding-bottom: 70px;
}

.pb80 {
	padding-bottom: 80px;
}


/* background class */
.navbar {
	padding-top: 0;
}

.navbar-brand {
	font-size: 14px;
	margin-right: 40px;
}

.nav01 {
	background-color: #fff;
}

.nav02 {
	font-size: 10px;
	color: #ccc;
}

.nav03 {
	font-weight: 700;
}

.nav04 {
	border-left: 1px solid #050505;
	line-height: 1.0;
}

.nav05 {
	border-right: 1px solid #050505;
}

.nav06 {
	background-color: #83cccf;
	padding: 5px 20px;
	border-bottom-left-radius: 10px;
	border-bottom-right-radius: 10px;
}

.nav06:hover {
	 opacity: 0.8;
}

.nav06 a {
	color: #fff;
	font-size: 28px;
}

.nav-link {
	padding: 0;
}

@media (min-width: 768px) {
.navbar-expand-md .navbar-nav .nav-link {
	text-align: center;
	color: #000;
	padding-right: 25px;
	padding-left: 25px;
}
}

.sp-buttons {
	margin-top: -25px;
	z-index: 1;
}


.kasane01 {
	position: absolute;
	top: 140px;
}

.kasane02 {
	position: relative;
}

.kasane03 {
	position: absolute;
	top: 764px;
}

/* form */

label {
  // Allow labels to use `margin` for spacing.
  display: inline-block;
  margin-bottom: $label-margin-bottom;
	margin-bottom: 0px;
}

.form-group {
	margin: 0px;
}

.table {
	margin-bottom: 0px;
}

.table th {
	width: 25%;
	background-color: #e3fafb;
}











.bg01 {
	background: url(../img/back.png);
}

.bg02 {
	background: #ffe9eb;
}

.bg03 {
	background: #7c7a7a;
}

.bg04 {
	background: #494949;
}

.bg05 {
	background: #a9a9a9;
	color: #fff;
}


/* main contents css*/


.sec01 {
	font-size: 18px;
	border: 1px solid #000;
	display: inline-block;
	padding: 10px 40px;
	color: #777;
}

.sec01_1 {
	font-size: 18px;
	border: 0.5px solid #000;
	display: inline-block;
	padding: 10px 40px;
	color: #000;
}

.sec02 {
	background: #3baeff;
	padding: 10px;
	font-size: 18px;
	color: #000;
}

.sec02:hover {
	transition: 1s;
	border-radius: 30px;
	cursor: pointer;
	opacity: .8;
}

.sec03 {
	background: #fe0000;
	padding: 10px;
	font-size: 18px;
	color: #fff;
}

.sec03:hover {
	transition: 1s;
	border-radius: 30px;
	cursor: pointer;
	opacity: .8;
}

.sec04 {
	background: #3baeff;
	padding: 20px 10px;
	font-size: 18px;
	color: #000;
}

.sec05 {
	padding: 10px;
	font-size: 18px;
	color: #000;
	border: 1px solid #5a9bd5;
}

.sec06 {
	border-bottom: 1px solid #ccc;
	font-weight: 700;
	font-size: 20px;
}

.sec07 {
	font-size: 16px;
}

.sec08 {
	text-decoration: underline;
}


.sec09 {
	font-size: 16px;
}

.sec10 {
	background: #fe0000;
	padding: 20px 10px;
	font-size: 18px;
	color: #fff;
}

.sec11 {
	padding: 10px;
	font-size: 18px;
	color: #000;
	border: 1px solid #fe0000;
}

.sec12 {
	border-bottom: 1px solid #ccc;
	font-size: 18px;
}

.sec13 {
	border-left: 5px solid #ccc;
	text-align: left;
	padding-left: 10px;
	font-weight: 700;
}

.sec14 {
	border-bottom: 1px solid #fe0000;
	font-size: 18px;
}

.sec15 {
	border-left: 5px solid #fe0000;
	text-align: left;
	padding-left: 10px;
	font-weight: 700;
}

.sec16 {
	border: 1px solid #fff;
	color: #fff;
	font-size: 20px;
}

.sec17 {
	font-size: 28px;
}

.sec17 a {
	color: #fff;
}

.sec17 a:hover {
	opacity: 0.7;
}

.sec18 {
	background: #848484;
}

.sec19 {
	padding: 20px;
	text-align: center;
	color: #fff;
	font-weight: 700;
}

.sec19:hover {
	opacity: 0.7;
}

.sec20 {
	border: 1px solid #000;
}

.sec21 {
	height: 250px;
	overflow: auto;
}

.sec22 {
	font-size: 14px;
}

.sec23 a {
	font-size: 24px;
	color: #fff;
	text-decoration: underline;
}

.sec23 a:hover {
	opacity: .7;
}

.sec24 {
	font-size: 20px;
	font-weight: 700;
}

.sec25 {
	border-bottom: 1px solid #000;
}

/* new section */

.sec26 {
	font-size: 28px;
	text-align: center;
	letter-spacing: 5px;
}

.sec27 {
	font-size: 50px;
	font-weight: 700;
	line-height: 1.0;
}

.sec27a {
	font-size: 36px;
	font-weight: 700;
	line-height: 1.0;
}

.sec28 {
	font-size: 18px;
	font-weight: 700;
	border-bottom: 1px solid #000;
}

.sec29 {
	font-size: 38px;
}

.sec30 {
	font-weight: 700;
}

.sec31 {
	border-bottom: 2px solid #ccc;
	font-size: 18px;
	margin-top: 20px;
}

.sec32 {
	font-size: 18px;
	margin-top: 10px;
}

.sec32 a {
	color: #2a789d;
	text-decoration: underline;
}

.sec32 a:hover {
	opacity: 0.8;
}

.sec33 {
	font-size: 12px;
}

.sec34 {
	padding-left: 10px;
}

.sec35 {
	border-bottom: 1px solid #000;
	padding-bottom: 30px;
}

.sec36 {
	background-color: #ffe8e8;
	font-weight: 700;
}

.sec37 {
	font-weight: bold;
}

.sec38 {
	background-color: #fff;
	border: 1px solid #000;
}

.sec39 {
	color: #4db6b9;
	font-size: 24px;
}

.sec40 {
	font-size: 24px;
}

.sec41 {
	color: #4db6b9;
}

.sec42 {
	color: #e77777;
	font-weight: 700;
}

.sec43 {
	color: #4db6b9;
	font-weight: 700;
	text-align: center;
}

.sec44 {
	font-size: 18px;
	letter-spacing: 5px;
	border-bottom: 2px solid #4db6b9;
}

.sec45 {
	color: #007bff;
	text-decoration: underline;
}

.sec45 a:hover {
	opacity: 0.7;
}

.sec46 {
	font-weight: 700;
}


/* carousel side flat image */
.carousel-item .img-fluid {
  width:100%;
  height:auto;
}

.carousel-item{
  height: auto;
}

/* carousel Vertical horizontal res image
.carousel-item a {
  display: block;
  width:100%;
}

.carousel-item .show-image {
  display: block;
  width:100%;
}
*/

.embed-responsive {
	height: 500px;
}

html{
    scroll-behavior: smooth;
}


/* media */

@media screen and (max-width:767.98px) {/* 変更点。0.02引く。 */
/* ここにSP向けのCSS指定 */
	.navbar {
		padding-top: 15px;
		padding-bottom: 15px;
		border-bottom: 1px solid #ccc;
}
	.nav04 {
		border-left: none;
}
	.nav05 {
		border-right: none;
}
	body {
		padding-top: 90px;
}
	.sp-buttons {
		padding-top: 28px !important;
	}
}

	@media only screen and (min-width: 320px) and (max-width: 568px) {
	.sp-button {
		width: 10px !important;
		height: 10px !important;
	}
}
