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

html{
  font-size: 62.5%;
}

body {
  background-color:#f8f9fa;
  padding-top: 0px;
  color:#3f3a39;
  font-size:1.6rem;
  font-family: 'Sawarabi Gothic', sans-serif;
  letter-spacing:2px;
}

p{line-height:150%}
h3{line-height:150%}

.mod-img {
  img,svg {
    display:block;
    max-width:100%;
    height: auto;
  }
}

.fixed{
  position:fixed;
  top:0;
  width:100%;
  z-index:100;
  transform: translate3d(0,0,0)
  }

@media (min-width: 992px) {
  body {
    padding-top: 0px;
  }
}

.fo0{font-family: 'ABeeZee', sans-serif;}
.fo1{font-family: 'Karla', sans-serif;}
.fo2{font-family: 'Monda', sans-serif;}
.fo3{font-family: 'Caveat Brush', cursive;}
.fo4{font-family: 'Jaldi', sans-serif;}
.fo5{font-family: 'Nanum Pen Script', cursive;}
.fo6{font-family: 'Scheherazade', serif;}
.fo7{font-family: 'Anton', sans-serif;}
.foj1{font-family: 'Noto Serif JP', sans-serif;}
.foj2{font-family: 'Sawarabi Gothic', sans-serif;}

.fszl{font-size:2.8vw; margin-bottom:30px; font-weight:bold; color: #fff; text-align:left; line-height:120%;}
.fszlp{font-size:1.3vw; margin-bottom:30px; font-weight:bold; color: #fff; text-align:left;}
.spborder-b{display:none;}

@media (max-width: 980px) {
.fszl{font-size:4vw; margin-bottom:30px; padding:0 50px 0 0; text-align:left;}
.fszlp{font-size:3vw; margin-bottom:30px; padding:0 50px 0 0; font-weight:bold; color: #fff; text-align:left;}
}
@media (max-width: 767px) {
.fszl{font-size:8vw; margin-bottom:30px; padding:0 50px 0 0; text-align:left;}
.fszlp{font-size:4vw; margin-bottom:30px; padding:0 50px 0 0; font-weight:bold; color: #fff; text-align:left;}
.spborder-b{border-bottom:1px dotted #ccc;}
}

header{overflow-x:hidden;}

#header_logo img{
position:relative;
bottom:0;
}

@media (max-width:767px) {
#header_logo img{
padding-top:20px;
padding-bottom:0px;
padding-left:15px;
width:130px;
width:13rem;
}
}

@media (min-width:768px) {
#header_logo img{
padding-top:20px;
padding-bottom:0px;
margin: 0px;
z-index:9;
width:130px;
width:calc(13rem + ((1vw - 0.768rem) * 20));}
}

@media (min-width:1018px) {
#header_logo img{
padding-top:5px;
padding-bottom:0px;
margin: 0px;
z-index:9;
width:180px;
width: calc(18rem + ((1vw - 10.18rem) * -0.2421));}
}

@media (min-width: 1920px) {
#header_logo img{
left: 0;
margin: auto;
padding-top:5px;
padding-bottom:0px;
margin: 0px;
z-index:9;
width:200px;
width:20rem;
}
}

.rub{
	font-size:12px;
	padding:5px 0 5px 0;
    width: 100%;
    color: #666;
	text-align:right;
	float:left;}

@media (min-width: 992px) {
.col-lg-padding{padding-left:50px; padding-right:50px;}
}
@media (min-width: 1140px) {
.col-lg-padding{padding-left:150px; padding-right:150px;}
}

@media (min-width: 992px) {
.col-lg-padding2{padding-left:50px; padding-right:50px;}
}
@media (min-width: 1450px) {
.col-lg-padding2{padding-left:150px; padding-right:150px;}
}

.heback2 {
  background-color:#a30239;
  margin: 0 auto;
  width: 100%;
  height:35px;
  margin-top:-10px;
  padding:4px;
}
.heback3 {
  background:#00a0ea;
  margin: 0 auto;
  width: 100%;
  height:85px;
  padding: 10px 0 0 0;
  border-bottom:#ffbd49 5px solid;
}

@media (max-width:1004px) {
.heback3 {
	display:none;
}
.right1 {
	color:#333;
	float:right;
	padding:13px 15px 0 0;
	margin:0;
    position:relative;
    bottom:0;
}

.right2 {
	color:#c09750;
	float:right;
	padding-top:13px;
	margin:0;
    position:relative;
    bottom:0;
}
}

.mail{font-size:24px; padding:0px 10px 0px 15px; margin:0;}
.mail-p{font-size:10px; line-height:120%; padding:0 15px 0 0; margin:0; text-align:left;}

.flow {
  position: relative;
  margin-top: -140px; 
  top: 140px;
}
.flow-box {
  margin: 0 auto;
}

.topspo {
	color:#fff;
	font-size:10px;
	float:left;
	background-color:#999;
	padding:5px;
	line-height:110%;
	margin-top:7px;
	margin-right:0px;
}

.right1 {
	color:#333;
	float:right;
	padding:3px 15px 0 0;
	margin:0;
}

.right2 {
	color:#c09750;
	float:right;
	padding-top:8.5px;
	margin:0;
}

.time{font-size:10px; padding:0; margin:0;}
.phone{font-size:28px; letter-spacing:0px; padding: 0px;  margin: 0 0 -10px 0;}

.snsicon {
	color:#fff;

}

#tl {
	color:#f6daa8;
	font-size:12px;
	padding-top:12px;
	margin:0;
	text-align:left;
	padding-right:60px;
}

#tr {
	color:#f6daa8;
	font-size:12px;
	padding-top:12px;
	margin:0;
	text-align:left;
	padding-left:60px;
}

#tl.mini {
	color:#f6daa8;
	font-size:12px;
	padding-top:8px;
	text-align:right;
	padding-right:10px; !important;
}

#tr.mini {
	color:#f6daa8;
	font-size:12px;
	padding-top:8px;
	text-align:left;
	padding-left:10px; !important;
}

@media (max-width: 767px) {
#tl {
	color:#f6daa8;
	font-size:12px;
	padding-top:6px;
	text-align:right;
	padding-right:60px;
}

#tr {
	color:#f6daa8;
	font-size:12px;
	padding-top:6px;
	text-align:right;
	padding-left:60px;
}
}

.maru1 {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  border-radius: 50%;
  flex-flow: column; 
  vertical-align: top;
  background-color:#999;
}

.maru2 {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  border-radius: 50%;
  flex-flow: column; 
  vertical-align: top;
  background-color:#999;
}

.maru3 {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  border-radius: 50%;
  flex-flow: column; 
  vertical-align: top;
  background-color:#999;
}

.maru4 {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  border-radius: 50%;
  flex-flow: column; 
  vertical-align: top;
  background-color:#999;
}

/* 円の大きさ */
.size_normal{
  width: 30px;
  height: 30px;
}
/* 文字の大きさ */
.snsicon {
  font-size: 1em;
  line-height: 1.5em;
}

.maru1:hover{
	background:#3b5998;
    -webkit-transition: all .5s;
    transition: all .5s;
	}	

.maru2:hover{
	background:#55acee;
    -webkit-transition: all .5s;
    transition: all .5s;
	}

.maru3:hover{
	background:#3f729b;
    -webkit-transition: all .5s;
    transition: all .5s;
	}	

.maru4:hover{
	background:#CF2E92;
    -webkit-transition: all .5s;
    transition: all .5s;
	}	

.maru1b {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  border-radius: 50%;
  flex-flow: column; 
  vertical-align: top;
  background:#3b5998;
}

.maru2b {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  border-radius: 50%;
  flex-flow: column; 
  vertical-align: top;
  background:#55acee;
}

.maru3b {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  border-radius: 50%;
  flex-flow: column; 
  vertical-align: top;
  background:#3f729b;
}

.maru4b {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  border-radius: 50%;
  flex-flow: column; 
  vertical-align: top;
  background:#CF2E92;
}

/* 円の大きさ */
.size_normalb{
  width: 40px;
  height: 40px;
  margin:30px 5px 0px 5px;
}
/* 文字の大きさ */
.snsiconb {
  font-size: 1.2em;
  line-height: 1.5em;
}

.maru1b:hover{
	background:#3b5998;
    -webkit-transition: all .5s;
    transition: all .5s;
	}	

.maru2b:hover{
	background:#55acee;
    -webkit-transition: all .5s;
    transition: all .5s;
	}

.maru3b:hover{
    background:#3f729b;
    -webkit-transition: all .5s;
    transition: all .5s;
	}	

.maru4b:hover{
	background:#CF2E92;
    -webkit-transition: all .5s;
    transition: all .5s;
	}	


/* 円と文字の色 */
a.pink1 {
}

a.pink:hover {
  background-color:#a30239;
}

/* modal */

.modal-header{
  display: inline-block;
}

.modal-title{
  color: #fff;
  padding:0;
  margin:0;
  text-align:center;
}

#modal_logo img{
margin:0 auto;
padding-top:20%;
padding-bottom:50px;
z-index:9;
width:250px;
position:relative;
}

.close{position:absolute; top:22px; right:30px;}

.fullscreen .modal-dialog {
  margin: 0;
  max-width: 100%;
  width: 100%;
  height: 100%;
  min-height: 100%;
  padding: 0;;
}
 
.fullscreen .modal-content {
  height: 100%;
  min-height: 100%;
  border-radius: 0;
  background: rgba(0, 160, 214, 0.90);
  overflow:hidden;
  text-align:center;
}
 
.fullscreen .modal-content .modal-header{
  border: 0px;
  text-align:center;
}
 
.fullscreen .modal-content button{
  opacity: 1;
}
 
.fullscreen .modal-content button span{
  color: #fff;
  font-weight: 1;
  font-size: 26px;
  text-shadow: none;
}
 
.fullscreen .modal-body .modal-logo img {
  width: 158px;
  padding-bottom: 84px;
}
 
.fullscreen .modal-body ul.modal-menu {
  padding: 0 0 0 0;
}
.fullscreen .modal-body li {
  padding-bottom: 10px;
}
.fullscreen .modal-body a {
  color: #fff;
  font-size: 16px;
}

.fullscreen .modal-body .dropdown-item {
  color: #333;
  font-size: 16px;
}

.fullscreen .modal-body .dropdown-item a {
  color: #333;
  font-size: 16px;
}

.fullscreen .modal-body .social img {
  width: 56px;
  margin: 8px;
}

.modal-body ul {
  list-style: none;
  margin: 0;
  padding: 0;
}

.modal-menu{
	  list-style-type: none;
      padding: 0;
      margin: 0;
      display: flex;
      flex-wrap: wrap;
}

.modal-body ul::after {
  content: "";
  display: block;
  clear: both;
}
.modal-body ul.modal-menu li{
  float: left;
  box-sizing: border-box;
  width:50%
}

.modal-body ul.modal-menu li a{
  display: block;
  padding: .4em .8em;
  text-decoration: none;
  color: #fff;
  text-align: center;
}
.modal-body ul.modal-menu li a:hover {
  background: #eee;
}
.modal-body ul.modal-menu li span {
  display: block;
  font-size: .75em;
}

.modal-body {
  color:#fff;
  font-size:16px;
  font-weight:normal;
  letter-spacing:2px;
  font-family: 'Sawarabi Gothic', sans-serif;
　line-height:100%;
}

@media (min-width: 721px) {
.modal-body ul li.modal-link {
  font-size:10px;
  width:50%;
}
.dropdown-menu a{
  font-size:10px;
}
}
@media (min-width: 992px) {
.modal-body ul li.modal-link {
  font-size:12px;
}
.dropdown-menu a{
  font-size:12px;
}
}
@media (min-width: 1024px) {
.modal-body ul li.modal-link {
  font-size:12px;
}
.dropdown-menu a{
  font-size:14px;
}
}
@media (min-width: 1200px) {
.modal-body ul li.modal-link {
  font-size:14px;
}
.dropdown-menu a{
  font-size:14px;
}
}
@media (min-width: 1400px) {
.modal-body ul li.modal-link {
  font-size:14px;
}
.dropdown-menu a{
  font-size:14px;
}
}
.modal-body ul li .modal-link:hover{
  display: block;
  padding: .4em .8em;
  transition-duration:0.3s;
  color:#00a0ea;
}

.modal-body ul. li.nav-link:hover, .modal-link:focus {
  text-decoration: none;
}

.modal-footer{position:absolute; bottom:0; background:#023d58; width:100%; padding:0; margin:0; display: flex; flex-wrap: wrap;}

.modal-tel{width:50%; display:block; border:1px solid #fff; color:#fff; box-sizing: border-box; float:left;}
.modal-tel{width:50%; display:block; border:1px solid #fff; color:#fff; box-sizing: border-box; float:right;}

/* modal〆 */

ul.navbar-nav li {
  list-style-type: none;
  text-align: center;
  padding:3px;
}
ul.navbar-nav li + li {
  border-left: 1px dotted #ececec;
}

@-webkit-keyframes rotateArea {
    0% {-webkit-transform: rotateY(0deg);}
    100% {-webkit-transform: rotateY(360deg);}
}

.target {
	-webkit-animation-name: rotateArea;
    -webkit-animation-delay: 0.5s;
    -webkit-animation-duration: 3s;
    -webkit-animation-iteration-count: 1;
}

.top4 {
  position: relative;
  background: #000;
  }

.top4 a {/*aタグを画像の真ん中に*/
  position: absolute;
  top: 45%;
  left: 50%;
  -ms-transform: translate(-50%,-50%);
  -webkit-transform: translate(-50%,-50%);
  transform: translate(-50%,-50%);
  /*以下装飾*/
  margin:0;/*余計な隙間を除く*/
  font-size: 20px;/*文字サイズ*/
  border: solid white 2px; /*線で囲う*/
  padding:10px 8px 10px 10px;/*文字と線の間の余白*/
  color: white;/*文字色*/
  text-decoration: none;/*下線を表示させない*/
  letter-spacing:2px;
  }

.top4 a:hover{/*カーソルを当てたとき*/
  background: rgba(255, 255, 255, 0.3);/*背景を半透明に*/
  }

.filter-img {
 display: block;
 opacity: .6;
}
/*
.filter-img:hover {
  opacity: 1.0;
  }
*/

@media (max-width: 768px) {
.top4{
	border-bottom:5px #111 solid;
}
}

.twitter-timeline{
	height:450px;}

.information {
    overflow: hidden;
    zoom: 1;
	width:100%;
}
.information dt {
    margin-bottom: 0px;
    padding-bottom: 10px;
    width: auto;
    float: left;
    clear: both;
    font-weight: normal;
	color:#666;
	font-size:26px;
	line-height:170%;
	font-family: 'Jaldi', sans-serif;
	display:flex;
  -webkit-box-align: center;
  -ms-flex-align: center !important;
  align-items: center !important;
}

@media (max-width: 768px) {
.information dt {
    width:100%;
	padding-bottom:0px;
}
}

.information dt span{
}

.information dd {
	margin-bottom: 20px;
    padding: 8px 0 20px 0px;
    border-bottom: 1px dotted #ccc;
	font-size:16px;
	width:100%;
	line-height:170%;
	font-family: 'Sawarabi Gothic', sans-serif;
}

.ne1{
	background:#f5f1f2;
	padding:10px 5px 10px 5px;
	font-size:12px;
	margin:0px 20px 0 10px;
	font-family: 'Sawarabi Gothic', sans-serif;
	line-height:0%;
	}

.information dd.nelast{
	text-align:center;
	border-bottom:none;}

.information dd a{
	color:#0480b9; padding:0;}

.twitter-w{
	background-color:#ccc;
	padding:15px;
	border-radius:10px;}

.mgtb{
	margin-bottom:150px;}

.card-title{
	font-size:18px;
	font-family: 'Noto Serif JP', sans-serif;
	border-bottom:#3f3a39 1px dotted;
	padding-bottom:10px;
	}

.card-title2{
	font-size:20px;
	font-family: 'Noto Serif JP', sans-serif;
	border-bottom:#fff 1px dotted;
	padding-bottom:20px;
    color:#fff;
	}

.card-text{
	font-size:16px;
	font-family: 'Sawarabi Gothic', sans-serif;
	}

.btn-primary2{
	font-size:14px;}

.btn-primary3{
	font-size:28px;}

.btn-primary4{
	font-size:16px;}

.carousel-item {
  height: 60vh;
  background: no-repeat center center scroll;
  -webkit-background-size: cover;
  -moz-background-size: cover;
  -o-background-size: cover;
  background-size: cover;
}

.portfolio-item {
  margin-bottom: 30px;
　border:20px double #ccc;
}

.backf5f5f5{
	background-image:url("../img/backf5f5f5.jpg"); background-repeat:repeat;}

.back0{
	background-image:url(../img/back0.jpg);}

.back1{
	background:url("../img/backtp.jpg");
	padding-bottom:20px;
	margin-bottom:20px;}

.backpic{
	background:url("../img/contact-back.jpg");
	background-position:center center;
	background-size:cover;
	padding-bottom:0px;
	margin-bottom:0px;}

.back2{
	background-color: #2b2928;
	padding-bottom:20px;
	margin-bottom:40px;}

.backb{
    background: #ecf3fa;
	padding-bottom:0px;
	margin-bottom:0px;}

.backbu{
    background: #001932;
	padding-bottom:0px;
	margin-bottom:0px;}

.backgr{
    background: #efefef;
	padding-bottom:0px;
	margin-bottom:0px;}

.backd{
    background: #336699;
	padding-bottom:0px;
	margin-bottom:0px;}

.backw{
    background: #fff;
	padding-bottom:0px;
	margin-bottom:0px;}

.wl{border:3px solid #f1f1f1;}

.shadow {
    display: inline-block; 
    box-shadow: 2x 2px 2px 2px rgba(0, 0, 0, 0.8); 
}

.tshadow{text-shadow: 2px 2px 5px #777; }

.tshadow2{text-shadow: 2px 2px 5px #444; }

.pt20{
	padding-top:20px;}


.bg-scroll-sm {
  height: 250px;
  overflow-y: scroll;
  margin-bottom:10px;
  border:1px #CCCCCC solid;
  border-radius:4px;
}

.btn-primary2 {
  color: #fff;
  background-color: #0480b9;
  border-color: #336699;
}

.btn-primary2:hover {
  color: #336699;
  background-color: #fff;
  border-color: #336699;
}

.btn-primary2:focus, .btn-primary2.focus {
  box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.5);
}

.btn-primary2.disabled, .btn-primary2:disabled {
  color: #fff;
  background-color: #0480b9;
  border-color: #007bff;
}

.btn-primary2:not(:disabled):not(.disabled):active, .btn-primary2:not(:disabled):not(.disabled).active,
.show > .btn-primary2.dropdown-toggle {
  color: #fff;
  background-color: #0062cc;
  border-color: #005cbf;
}

.btn-primary2:not(:disabled):not(.disabled):active:focus, .btn-primary2:not(:disabled):not(.disabled).active:focus,
.show > .btn-primary2.dropdown-toggle:focus {
  box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.5);
}

.btnshine{
    /*キラッと光る基点とするためrelativeを指定*/
  position: relative;
    /*ボタンの形状*/  
  display:inline-block;
    background: #0480b9;
    color: #fff;
    padding: 10px 20px;
    text-decoration: none;
    outline: none;
    overflow: hidden;
	font-size:14px;
	border-radius:5px;
}

/*キラッと光る*/
.btnshine::before {
  content: '';
    /*絶対配置でキラッと光るの位置を決める*/
  position: absolute;
  top: 0;
  left: -75%;
    /*キラッと光る形状*/
  width: 50%;
  height: 100%;
  background: linear-gradient(to right, rgba(255,255,255,0) 0%, rgba(255,255,255,.3) 100%);
  transform: skewX(-25deg);
}

/*hoverした際の移動のアニメーション*/
.btnshine:hover::before {
  animation: shine 1.2s;
}

.btnshine:hover {
  color:#f8f9fa;
  background:#336699;
  transition:0.5s;
}

@keyframes shine {
  100% {
    left: 125%;
  }
}

.btn-primary3 {
  color: #fff;
  background-color:none;
  border-color: #fff;
  border-radius:0px;
  font-size:18px;
}

.btn-primary3:hover {
  color: #336699;
  background-color:#fff;
  border-color: #336699;
  border-radius:0px;
}

.btn-primary3:focus, .btn-primary3.focus {
  box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.5);
}

.btn-primary3.disabled, .btn-primary3:disabled {
  color: #fff;
  background-color: #d4987e;
  border-color: #fff;
}

.btn-primary3:not(:disabled):not(.disabled):active, .btn-primary3:not(:disabled):not(.disabled).active,
.show > .btn-primary3.dropdown-toggle {
  color: #fff;
  background-color: #d4987e;
  border-color: #fff;
}

.btn-primary3:not(:disabled):not(.disabled):active:focus, .btn-primary3:not(:disabled):not(.disabled).active:focus,
.show > .btn-primary3.dropdown-toggle:focus {
  box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.5);
}

.btn-primary4 {
  color: #fff;
  background-color:none;
  border-color: #025fa1;
  background:#025fa1;
  border-radius:0px;
  font-size:16px;
}

.btn-primary4:hover {
  color: #025fa1;
  background-color:#fff;
  border-color: #fff;
  border-radius:0px;
}

.btn-primary4:focus, .btn-primary3.focus {
  box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.5);
}

.btn-primary4.disabled, .btn-primary4:disabled {
  color: #fff;
  background-color: #d4987e;
  border-color: #fff;
}

.btn-primary4:not(:disabled):not(.disabled):active, .btn-primary4:not(:disabled):not(.disabled).active,
.show > .btn-primary4.dropdown-toggle {
  color: #fff;
  background-color: #d4987e;
  border-color: #fff;
}

.btn-primary4:not(:disabled):not(.disabled):active:focus, .btn-primary4:not(:disabled):not(.disabled).active:focus,
.show > .btn-primary4.dropdown-toggle:focus {
  box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.5);
}

.sns-f-f{
	background:#3b5998;
	color:#FFF;
	padding:10px;
	font-size:24px;}

.sns-f-f:hover{
	background:#a30239;
	color:#f6daa8;
	padding:10px;
	font-size:24px;
    -webkit-transition: all .5s;
    transition: all .5s;
	}	

.sns-f-t{
	background:#55acee;
	color:#FFF;
	padding:10px;
	font-size:24px;}

.sns-f-t:hover{
	background:#a30239;
	color:#f6daa8;
	padding:10px;
	font-size:24px;
    -webkit-transition: all .5s;
    transition: all .5s;
	}	

.sns-f-i{
	background:#CF2E92;
	color:#FFF;
	padding:10px;
	font-size:24px;}
	
.sns-f-i:hover{
	background:#a30239;
	color:#f6daa8;
	padding:10px;
	font-size:24px;
    -webkit-transition: all .5s;
    transition: all .5s;
	}	

.fly {
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    -webkit-transition: all .5s;
    transition: all .5s;
    margin: 10px 0 0 0;
}
.fly:hover {
    -webkit-transform: translateY(-5px);
    -ms-transform: translateY(-5px);
    transform: translateY(-5px);
}

/***** Footer *****/

.footer1{background-color:#f8f9fa; padding: 10px 0 60px 0; background-image:url("../img/truss.png"); background-position:center bottom; background-repeat:repeat-x;}
.footer2{background:#00a0ea; padding: 60px 0 80px 0;}
.footer-link{background:#fff; background-image:url("../image_temp/footerback.jpg");background-position: center bottom;background-repeat: no-repeat; background-size:contain; padding: 60px 0 200px 0;}

.footer1 .fo-title{
  text-align: center;
  position: relative;
  font-size: 48px;
  color: #333;
}
.footer1 .fo-title:after{
  width:70px;
  content: "";
  border-bottom: 3px solid #333;
  position: absolute;
  top:0;
  left: 0;
  right: 0;
  bottom: -10px;
  margin:auto;
}

.footer1 .fo-subtitle{
  text-align: center;
  position: relative;
  font-size: 20px;
  padding: 30px 0 50px 0;
  color: #333;
}

.footer2 .fo-title{
  text-align: center;
  position: relative;
  font-size: 48px;
  color: #fff;
}
.footer2 .fo-title:after{
  width:70px;
  content: "";
  border-bottom: 3px solid #fff;
  position: absolute;
  top:0;
  left: 0;
  right: 0;
  bottom: -10px;
  margin:auto;
}

.footer2 .fo-subtitle{
  text-align: center;
  position: relative;
  font-size: 20px;
  padding: 30px 0 50px 0;
  color: #fff;
}

.footer-link .fo-title{
  text-align: center;
  position: relative;
  font-size: 48px;
  color: #333;
}
.footer-link .fo-title:after{
  width:70px;
  content: "";
  border-bottom: 3px solid #333;
  position: absolute;
  top:0;
  left: 0;
  right: 0;
  bottom: -10px;
  margin:auto;
}

.footer-link .fo-subtitle{
  text-align: center;
  position: relative;
  font-size: 20px;
  padding: 30px 0 50px 0;
  color: #333;
}

@media (max-width: 768px) {
.boxinner{
    padding: 0 15px 0 15px;
}

.boxinner2{
    padding:0px 15px 30px 15px;
}
}

.boxinner{
    padding: 0 30px 0 30px;
}

.boxinner2{
    padding:0px 30px 30px 30px;
}

.link-arrow a{font-size: 20px; color: #333;}

.footer-top { padding: 0px 0; background: #e8e8e8; text-align: left; color: #fff; }
.footer-top h3 { padding-bottom: 10px; color: #fff; font-size: 20px; }

.footer-logo{padding:80px 0 20px 0; }

.s1 {color: #fff; font-size: 24px; display: flex; align-items: center; padding: 40px 0 20px 0;}
.s1:before, .s1:after {content: ""; flex-grow: 1; height: 1px; background: #fff; display: block;}
.s1:before {margin-right: .4em;}
.s1:after {margin-left: .4em;}
.s2{padding:0 0 40px 0;}
.border-white{border-top:1px solid #fff; padding: 0 0 40px 0;}

.footer-about img.logo-footer { max-width: 74px; margin-top: 0; margin-bottom: 18px; }
.footer-about p a { border: 0; }
.footer-about p a:hover, .footer-about p a:focus { border: 0; }

.footer-contact p { word-wrap: break-word; }
.footer-contact i { padding-right: 10px; font-size: 18px; color: #666; }
.footer-contact p a { border: 0; }
.footer-contact p a:hover, .footer-contact p a:focus { border: 0; }

.left-padding{padding-left: 41px;}
.footer-links p { padding: 0 0 5px 0; margin: 0;}
.footer-links a { color: #fff; border: 0; font-size: 14px;}
.footer-links a:hover, .footer-links a:focus { color: #fff; }
.footerback{background-color: #b90173; margin-bottom: 0px; padding-bottom: 30px;}
.footer-bottom { padding: 15px 0 17px 0; background: #333333; text-align: center; color: #fff; }

.footer-social { padding-top: 3px; text-align: right; }
.footer-social a { margin-left: 20px; color: #777; border: 0; }
.footer-social a:hover, .footer-social a:focus { color: #79a05f; border: 0; }
.footer-social i { font-size: 24px; vertical-align: middle; }

.footer-copyright { padding-top: 5px; letter-spacing:1px; font-size:14px;}
.footer-copyright a { color: #fff; border: 0;}
.footer-copyright a:hover, .footer-copyright a:focus { color: #aaa; border: 0; }

@media (max-width: 767px) {
.footer-top h3 { padding-bottom: 10px; color: #fff; font-size: 16px; }
.footer-link{background:#fff; background-image:url("../image_temp/footerback.jpg");background-position: center bottom;background-repeat: no-repeat; background-size:contain; padding: 60px 0 40px 0;}
.left-padding{ padding-left: 0px;}
.footer-links p { padding: 0 0 0 0; margin: 0;}
.footer-links a { color: #fff; border: 0; font-size: 14px;}
}

.footer-com{border-bottom: 1px dotted #ccc; font-size: 24px; font-weight: 500; padding-bottom: 15px; margin: 0;}
.footer-add{font-size: 16px; padding-top: 15px; margin:0 0 20px 0;}

/* form newsletter */
form#newsletter {
  margin: 0;
  background: url(../img/newsletter-bg.png) 0 0 repeat;
  -webkit-border-radius: 5px;
  -moz-border-radius: 5px;
  border-radius: 5px;
  padding: 25px 27px 28px 28px;
}
form#newsletter input {
  -webkit-border-radius: 3px;
  -moz-border-radius: 3px;
  border-radius: 3px;
  -webkit-border-top-right-radius: 0px;
  -moz-border-radius-topright: 0px;
  border-top-right-radius: 0px;
  -webkit-border-bottom-right-radius: 0px;
  -moz-border-radius-bottomright: 0px;
  border-bottom-right-radius: 0px;
  border: none;
  background: #fff;
  color: #1e1d20;
  margin: 0;
  box-shadow: none;
  height: 30px;
  line-height: 15px;
  padding: 7px 10px 8px 10px;
  width: 154px;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  float: left;
}
form#newsletter input:focus {
  box-shadow: none;
}
form#newsletter a.btn_ {
  margin-top: 0;
  width: 91px;
  text-align: center;
  padding: 5px 0px 5px 0px;
  margin-top:10px;
  -webkit-border-top-left-radius: 0px;
  -moz-border-radius-topleft: 0px;
  border-top-left-radius: 0px;
  -webkit-border-bottom-left-radius: 0px;
  -moz-border-radius-bottomleft: 0px;
  border-bottom-left-radius: 0px;
}
form#newsletter a.btn_:hover {
  color: #ffffff;
  background: #ed9028;
}
form#newsletter label {
  font-family: "Open Sans", sans-serif;
  color: #ffffff;
  font-weight: bold;
  line-height: 22px;
  font-size: 18px;
  margin-bottom: 16px;
  display: block;
  text-transform: none;
}
.soc{
	padding-top:px;
	padding-left:0px;
	margin:0px;
	float:left;
	}

.soc2{
	padding-top:10px;
	padding-left:10px;
	margin:0px;
	float:left;
	}
.fh2{
	font-weight:normal;
	font-size:12px;
	color:#FFF;
	text-align:left;
	letter-spacing: 0px;
	float:left;
	}

@media (max-width: 767px) {
.spmgb5{margin-bottom:5px;}
.spmgb10{margin-bottom:10px;}
.spmgb20{margin-bottom:20px;}
.spmgb30{margin-bottom:30px;}
}

.pab10{padding-bottom:10px;}

.mgb5{margin-bottom:5px;}
.mgb10{margin-bottom:10px;}
.mgb20{margin-bottom:20px;}
.mgb30{margin-bottom:30px;}
.mgb40{margin-bottom:40px;}
.mgb50{margin-bottom:50px;}
.mgb60{margin-bottom:60px;}

.ta1
{
	color:#666666;
	border:none;
	padding:10px;
	width:100%;
}

.ta1 th
{
	color:#666666;
	border:none;
	padding:10px;
	font-size:14px;
	text-align:left;
	line-height:200%;
}

.ta1 td
{
	color:#666666;
	border:none;
	padding:10px;
	font-size:14px;
	text-align:right;
	line-height:200%;
	vertical-align:top;
}

.ta2
{
	color:#666666;
	border:solid 1px #999;
	padding:15px;
	margin-bottom:40px;
	width:100%;
}

.ta2 th
{
	color:#666666;
	border:solid 1px #999;
	width:30%;
	padding:15px;
	font-size:14px;
	text-align:left;
	line-height:150%;
	vertical-align: top;
}

.ta2 td
{
	color:#666666;
	border:solid 1px #999;
	padding:15px;
	font-size:14px;
	text-align:left;
	line-height:150%;
	vertical-align:top;
}

.ta3
{
	color:#666666;
	border:none;
	padding:10px;
	width:100%;
	margin-bottom:20px;
	margin-top:20px;
}

.ta3 th
{
	color:#666666;
	border:none;
	width:30%;
	padding:10px;
	font-size:12px;
	text-align:left;
	line-height:150%;
}

.ta3 td
{
	color:#666666;
	border:none;
	padding:10px;
	font-size:12px;
	text-align:left;
	line-height:150%;
	vertical-align:top;
}

.form-control {
	display: block;
	width: 100%;
	height: 41px;
	padding: 6px 12px;
	font-size: 14px;
	line-height: 2.428571;
	color: #555;
	background-color: #F7F7F7;
	background-image: none;
	border: 1px solid #ccc;
	border-radius: 0px;
}

.conbox {
display: flex;
display: -moz-flex;
display: -o-flex;
display: -webkit-flex;
display: -ms-flex;
flex-direction: row;
-moz-flex-direction: row;
-o-flex-direction: row;
-webkit-flex-direction: row;
-ms-flex-direction: row;
padding-bottom:5px;
}

.map {
  padding: 7px 15px 9px 15px;
}
.map iframe {
  width: 100%;
  height: 353px;
  -webkit-border-radius: 5px;
  -moz-border-radius: 5px;
  border-radius: 5px;
  border: none;
}

.shop_logo{
	max-width: 369px;
	margin-bottom: 20px;
	}

.shopi{
	padding-bottom: 30px;
	font-size:14px;
}

.shopi dt{
	text-align:left;
	margin-bottom: 15px;
	padding-bottom:10px;
	border-bottom: 1px dotted #999999;
}

.shopi dd{
	text-align:left;
	margin-bottom: 15px;
	padding-bottom:10px;
	border-bottom: 1px dotted #999999;
}

.no-gutters {
  margin-right: 0;
  margin-left: 0;

  > .col,
  > [class*="col-"] {
    padding-right: 0;
    padding-left: 0;
  }

/* ########### 768px以下 ########### */
@media (max-width: 768px) {
.list-news {
  margin: 0 0 0 0;
  padding-top: 20px;
  overflow:auto;
  background-color:#FFF;
  height:350px;
}
}

.fop{
	color:#333;
	font-size:14px;
	padding:15px;}

.sit{margin:40px 0 60px 20px;}

.wline{
	border:3px #FFFFFF solid;}

.wline2{
	border:3px #ccc solid;}

@media (max-width: 768px) {
.sit{margin:40px 0 60px 0;}
}
}
/*
Back to top button 
*/
#back-top{
  width: 50px;
  height: 50px;
  position: fixed;
  right: 30px;
  bottom: 30px;
  background:none;
  opacity: 0.7;
  z-index:100;
}

#page_top{
  width: 50px;
  height: 50px;
  position: fixed;
  right: 0;
  bottom: 50px;
  background: #3f98ef;
  opacity: 0.6;
  border-radius: 50%;
}
#page_top a{
  position: relative;
  display: block;
  width: 50px;
  height: 50px;
  text-decoration: none;
}
#page_top a::before{
  font-size: 25px;
  color: #fff;
  position: absolute;
  width: 25px;
  height: 25px;
  top: 0;
  bottom: 0;
  right: 0;
  left: 0;
  margin: auto;
  text-align: center;
}

@media (min-width: 768px) {
.pc {
text-align:left !important;
float:left !important; }

.pc2 {
text-align:right!important;
float:right!important; }

.sp { display: none !important; }

.no-gutter2 > [class*='col-'] {
    padding-right:15px;
    padding-left:0;
}
.no-gutter3 > [class*='col-'] {
    padding-left:15px;
    padding-left:0;
}
}

@media (max-width: 767px) {
.pc { display: none !important; }
.pc2 { display: none !important; }
.pc3 { display: none !important; }

.tpb{
	font-size:12px;
	text-align:left;
	padding:10px 0 0px 0;
	margin:0;
	color:#666;}

.no-gutter2 > [class*='col-'] {
    padding-right:0;
    padding-left:0;
}

.no-gutter3 > [class*='col-'] {
    padding-right:0;
    padding-left:0;
}
}

@media (max-width:1004px) {
.header-pc { display: none !important; }
}

@media (min-width:1005px) {
.header-sp {display: none !important; }
}

.balloon1 {
  position: relative;
  display: inline-block;
  margin: 1.5em 0;
  padding: 7px 10px;
  max-width: 100%;
  color: #333;
  font-size: 16px;
  background: #fff;
  border-radius: 10px;
}

.balloon1:before {
  content: "";
  position: absolute;
  top: 100%;
  left: 50%;
  margin-left: -15px;
  border: 10px solid transparent;
  border-top: 10px solid #fff;
}

.contact-tel{
font-size:32px;
color:#fff;
text-align:right;
}
.contact-mail{
font-size:24px;
color:#fde7c7;
text-align:left;
}

@media (max-width: 767px) {
.contact-tel{
font-size:32px;
color:#fff;
text-align:center;
}
.contact-mail{
font-size:24px;
color:#fde7c7;
text-align:center;
}
}

.card-text2 {
    font-size: 16px;
    color: #fff;
    text-align:left;
    padding: 10px;
    letter-spacing:1px;
}

.title-back1{background: url("../img/titleback1.jpg");
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover;
    height:300px;}
.title-back2{background: url("../img/top_main.png");
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover;
    height:300px;}
.title-back3{background: url("../img/titleback3.jpg");
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover;
    height:300px;}
.title-back4{background: url("../img/titleback2.jpg");
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover;
    height:300px;}
.title-back5{background: url("../img/titleback4.jpg");
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover;
    height:300px;}
.title-back6{background: url("../img/slide1.jpg");
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover;
    height:300px;}
.title-back7{background: url("../img/slide1.jpg");
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover;
    height:300px;}
.contitle{font-weight:bold; text-align:center; font-size:2vw; color:#fff; line-height:170%;}

@media (max-width: 767px) {
.title-back1{background: url("../img/titleback1.jpg");
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover;
    height:200px;}
.title-back2{background: url("../img/top_main.png");
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover;
    height:200px;}
.title-back3{background: url("../img/titleback3.jpg");
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover;
    height:200px;}
.title-back4{background: url("../img/titleback2.jpg");
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover;
    height:200px;}
.title-back5{background: url("../img/titleback4.jpg");
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover;
    height:200px;}
.title-back6{background: url("../img/slide1.jpg");
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover;
    height:200px;}
.title-back7{background: url("../img/slide1.jpg");
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover;
    height:200px;}
.contitle{font-weight:bold; text-align:center; font-size:4vw; color:#fff; line-height:170%; padding-left:15px; padding-right:15px;}
}

.guidance{font-size: 16px;}
.guidance span{background: linear-gradient(transparent 40%, yellow 50%); font-weight: 700;}
.guidance2{background-color:#fff; border-radius: 10px; font-size: 16px; padding:30px;}
.guidance2 span{background: linear-gradient(transparent 40%, yellow 50%); font-weight: 700;}

.waku{width:100%; background:#f8f9fa; font-size:16px; color:#333; padding:20px; border-radius:10px; border: #f5f5f5 solid 1px;}
.waku-w{width:100%; background:#fff; font-size:16px; color:#333; padding:5px 15px 0 15px; border-radius:10px;}

.maru-waku{width:100%; background: #fff; font-size: 16px; color: #333; padding: 20px; border-radius:30px; border: #ccc double 3px;}
.maru-waku span{margin:0 10px 0 0; padding:0; border-left: 3px solid #336699;}

  .txt-wrapper {
    max-width: 100%;
    margin: 0 auto;
    text-align: center;
  }
  .txt {
    display: inline-block;
    text-align: left;
  }

.title-back{background: url("../img/content-back.jpg");
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover;}

.result a{text-decoration:none; color:#333;}
.folder{padding:0; margin:0; color:#001932;}
.case{font-size:14px;}
.example{font-size:16px; font-weight:bold;}
.case-name{font-size:14px;}
.foz14{font-size:14px; line-height:170%;}

.seminar .case-name{font-size:14px; padding:0; margin:0;}
.seminar .example{font-size:16px; padding:0; margin:0;}

.title-back-m{border-bottom:1px solid #001932; font-size:20px; padding-bottom:10px; margin-bottom:10px;}
.title-back-m span{margin:0 10px 0 0; padding:0; border-left:10px solid #001932; font-size:20px;}
.title-waku-m{border:3px double #001932; padding:15px; margin:0; font-size:24px; letter-spacing:2px;}

.g-back{background:#001932; color:#fff}

.cons-sub{font-size:20px; font-weight:700; letter-spacing:2px;}
.cons-kiji{font-size:16px; padding-bottom:20px;}

.faq {
}

.faq-subtitle {
  font-size:24px;
}

.faq-header {
  background-color:none;
  font-size:16px;
}

.faq-header a{
  color: #333333;
  background-color:none;
  text-decoration: none;
  font-size:16px;
}

.faq-header a:hover{
  color: #666;
  background-color:none;
  text-decoration: none;
}

.faq-footer {
  text-align:center;
}

.faq {
  position: relative;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: column;
  flex-direction: column;
  min-width: 0;
  word-wrap: break-word;
  background-color: none;
  background-clip: border-box;
  border-radius:none;
}

.faq-body {
    font-size: 14px;
    color: #333;
    border: 1px #ccc solid;
    padding: 10px;
    margin-bottom: 20px;
}

.imghover{background:#fff; overflow:hidden;}
.imghover img{-webkit-transition:0.7s all;}
.imghover img:hover{-webkit-transform:scale(1.1,1.1); opacity: 0.6; filter: brightness(110%); transition:0.7s all;}

.animation{
    display: flex;
    justify-content: center;
    overflow: hidden;   /*右から画像を挿入した場合に横幅が広がるのを防ぐ*/
}

.animation a{
    width: 100%;
    color: #ffffff;
    background-color:;
    border-radius:;
    padding: 0.6em;
}
.animation a:hover{
    background-color:;
    cursor: pointer;
}

.animation img{
    width: 100%;
    margin: 0;
    padding: 0;
    object-fit: cover;
}
.animation .anm_mod{
    opacity: 0;
    transform: translate3d(0, 100%, 0);
    transition: all 1s ease;
    display: block;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    text-align: center;
    margin: 0px;
    width: 100%;
    height: 100%;
}

.animation .anm_mod.full{
    width: 100%;
}
.animation .anm_mod.left{
    transform: translate3d(-30%, 0, 0);
}
.animation .anm_mod.right{
    transform: translate3d(30%, 0, 0);
}
.animation .anm_mod.up{
    transform: translate3d(0, 30%, 0);
}
.animation .anm_mod.down{
    transform: translate3d(0, -30%, 0);
}
.animation .anm_mod.fast{
    transition: all 0.8s ease;
}
.animation .anm_mod.active{
    opacity: 1;
    transform: translate3d(0, 0, 0);
}

.anm_mod.example{
    font-size: 2.6em;
    color: #ffb7db;
    background-color: #a0a0a0;
    padding: 0.6em;
}

.animation .anm_mod.delay_1s{
    transition: all 1s ease;
}
.animation .anm_mod.delay_1-3s{
    transition: all 1.3s ease;
}
.animation .anm_mod.delay_1-6s{
    transition: all 1.6s ease;
}
.animation .anm_mod.delay_1-9s{
    transition: all 1.9s ease;
}
.animation .anm_mod.delay_2s{
    transition: all 2s ease;
}
.animation .anm_mod.delay_2-2s{
    transition: all 2.2s ease;
}
.animation .anm_mod.delay_2-5s{
    transition: all 2.5s ease;
}
.animation .anm_mod.delay_2-8s{
    transition: all 2.8s ease;
}
.animation .anm_mod.delay_3s{
    transition: all 3s ease;
}
.animation .anm_mod.delay_3-1s{
    transition: all 3.1s ease;
}
.animation .anm_mod.delay_4s{
    transition: all 4s ease;
}
.animation .anm_mod.delay_5s{
    transition: all 5s ease;
}
.animation .anm_mod.delay_6s{
    transition: all 6s ease;
}
.animation .anm_mod.delay_7s{
    transition: all 7s ease;
}
.animation .anm_mod.delay_8s{
    transition: all 8s ease;
}

.infobox{
    position: relative;
    overflow: hidden;
    width: 100%;
    border:1px solid #ccc; 
    }
.infobox:before {
    content: "";
    display: block;
    padding-top: 100%;
    }

.infoinnner{
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
    padding:20px;
    }

.infoinnner a{
    color:#333;
	padding:0;
    }

.infoinnner info-n{
	padding:0;
    }

.featurebox{
    width: 100%;
    border:1px solid #ccc;
	padding:30px;
    }

.featurebox p{padding:0; margin:0;}

.back-ill1{
background:url("../img/service3back.png");
background-position: center;
background-size:cover;
background-repeat:no-repeat;
}
@media (max-width: 767px) {
.back-ill1{
background:none;
background-position: center;
background-size:cover;
background-repeat:no-repeat;
}
}

.back-ill12{
background:url("../img/service3back2.png");
background-position: center;
background-size:cover;
background-repeat:no-repeat;
}
@media (max-width: 767px) {
.back-ill12{
background:none;
background-position: center;
background-size:cover;
background-repeat:no-repeat;
}
}

.cons8{padding:0; margin:0;}

.greeting{padding:0; margin:0;}

@media (max-width: 767px) {
.sns{font-size:24px;}
}
@media (min-width: 768px) {
.sns{font-size:24px;}
}
@media (min-width: 992px) {
.sns{font-size:24px;}
}
.sns{font-size:24px; padding-top:10px;}
.instagram a{color:#666;}
.facebook a{color:#666;}
.instagram a:hover{color:#CF2E92;}
.facebook a:hover{color:#3b5998;}

.info-date{font-size:20px; border-bottom: 1px dotted #ccc; padding-bottom:15px; font-weight:700; width:100%;}
.info-n{font-size:16px; text-align:left; padding-top:15px; line-height:170%; font-weight:700; width:100%;}
.info-r{color:#00539b; width:100%;}


@media (max-width: 543px) {
.info-date{font-size:20px; border-bottom: 1px dotted #ccc; padding-bottom:15px; font-weight:700;}
.info-n{font-size:16px; text-align:left; padding-top:15px; line-height:170%; font-weight:700;}
.infobox{
    position: relative;
    overflow: hidden;
    width: 100%;
    border:1px solid #ccc; 
    }
.infobox:before {
    content: "";
    display: block;
    padding-top: 65%;
    }
}
@media (max-width: 767px) {
.info-date{font-size:16px; border-bottom: 1px dotted #ccc; padding-bottom:15px; font-weight:700;}
.info-n{font-size:14px; text-align:left; padding-top:15px; line-height:170%; font-weight:700;}
}
@media (min-width: 768px) {
.info-date{font-size:20px; border-bottom: 1px dotted #ccc; padding-bottom:15px; font-weight:700;}
.info-n{font-size:16px; text-align:left; padding-top:15px; line-height:170%; font-weight:700;}
}
@media (min-width: 992px) {
.info-date{font-size:20px; border-bottom: 1px dotted #ccc; padding-bottom:15px; font-weight:700;}
.info-n{font-size:16px; text-align:left; padding-top:15px; line-height:170%; font-weight:700;}
}
@media (max-width: 1199px) {
.info-date{font-size:20px; border-bottom: 1px dotted #ccc; padding-bottom:15px; font-weight:700;}
.info-n{font-size:16px; text-align:left; padding-top:15px; line-height:170%; font-weight:700;}
}
@media (min-width: 1200px) {
.info-date{font-size:14px; border-bottom: 1px dotted #ccc; padding-bottom:15px; font-weight:700;}
.info-n{font-size:12px; text-align:left; padding-top:15px; line-height:170%; font-weight:700;}
}
@media (min-width: 1350px) {
.info-date{font-size:16px; border-bottom: 1px dotted #ccc; padding-bottom:15px; font-weight:700;}
.info-n{font-size:14px; text-align:left; padding-top:15px; line-height:170%; font-weight:700;}
}
@media (min-width: 1450px) {
.info-date{font-size:20px; border-bottom: 1px dotted #ccc; padding-bottom:15px; font-weight:700;}
.info-n{font-size:16px; text-align:left; padding-top:15px; line-height:170%; font-weight:700;}
}


/* p1-1 */
.heback3 {
  background:#fff;
  margin: 0 auto;
  width: 100%;
  height:40px;
  padding: 0 0 0 0;
  border-top:#333 1px solid;
  border-bottom:#333 1px solid;
}

@media (max-width:1004px) {
.heback3 {
	display:none;
}
}

.underline-y{background: linear-gradient(transparent 60%, yellow 30%);display: inline-block;}
.underline-w{background: linear-gradient(transparent 60%, #fff 30%);display: inline-block;}
.underline-o{background: linear-gradient(transparent 60%, #cb017d 30%);display: inline-block;}

.step{border:1px solid #fef8f8; background:#fef8f8; padding:5px 10px 5px 10px;}

.area-t{text-align: center; width:auto;}
@media (max-width: 767px) {
.area-t{text-align: center; width:100%;}

.carousel-item {
  height: 80vh;
  background: no-repeat center center scroll;
  -webkit-background-size: cover;
  -moz-background-size: cover;
  -o-background-size: cover;
  background-size: cover;
}

}
.p1mi{color:#cb017d;}

.pt70{padding-top:70px;}
.pb100{padding-bottom:100px;}

.maru-box{margin-top:-50px; z-index:10; position:absolute; background:#cb017d; height:100px; width:100px; color:#fff; border-radius:50%; font-weight:bold; text-align:center; font-size:18px;}
.maru-number{margin-top:-50px; z-index:100; position:absolute; color:#333; font-weight:bold; font-size:40px; color:#fde8e0;}
.maru-faq1{border-radius:20px; margin-top:-30px; z-index:10; position:absolute; font-weight:bold; font-size:30px; background:#1f50a6; margin-left:20px; color:#f4fbff;}
.maru-faq2{border-radius:20px; margin-top:-100px background:#f4fbff; margin-left:20px; color:#1f50a6; font-weight:bold; font-size:30px; z-index:10; position:absolute;}
.tag{border-radius:20px; padding:5px 10px 5px 10px; margin:5px; background:#f5fafe; font-weight:bold;}
.tag2{border-radius:20px; padding:4px 12px 4px 12px; margin:5px; background:#0480b9; font-weight:bold; color:#fff;}

.arrow img{height:100px; padding-top:40px;}
.arrow2 img{width:100px;}

.border-b-h{border-bottom:1px dotted #ccc;}
.border-b-wb{border-bottom:5px double #0480b9;}

.floating-banner {
    position: fixed;
    z-index: 999;
    bottom: 0;
    right: 0;
	width:100%;
	display: none;
}
.banner {
    width: 100%;/* バナーの横幅 */
    padding: 10px 10px;
    background:rgba(185,1,115,0.8);/* バナーの背景色 */
    color: #fff;/* バナー内の文字色 */
    font-weight: bold;
    text-align: center;
}
.floating-banner a {
    text-decoration: none;/* リンクに下線が入らないように */
}
.copy {
    font-size: 28px;
    margin: 0 auto 10px;
    line-height: 1.6;
}
.cta {
    display: inline-block;
    width: 200px;
    height: 30px;
    line-height: 30px;
    font-size: 18px;
    background: linear-gradient(270deg, #F4A240 0%, #E3A608 100%); /* ボタンの背景 */
    box-shadow: 0px 0px 30px #2984BA; /* ボタンの影 */
    border-radius: 25px;
    margin: 0
}
@media screen and (max-width: 990px) {
    .floating-banner {
        display: none;
    }
}
@media screen and (max-width: 560px) {
    .floating-banner {
        display: inline-block;
    }
    .banner {
        width: 100vw;
        padding: 8px;
    }
    .sp {
        display: none;
    }
    .copy {
        font-size: 18px;
        margin: 0 auto 6px;
    }
    .cta {
        height: 28px;
        line-height: 28px;
        font-size: 15px;
    }
}

/* p1-2 */

@media (min-width: 992px) {
.col-lg-padding2{padding-left:50px; padding-right:50px;}
}
@media (min-width: 1199px) {
.col-lg-padding2{padding-left:100px; padding-right:100px;}
}
@media (min-width: 1325px) {
.col-lg-padding2{padding-left:250px; padding-right:250px;}
}
@media (min-width: 1450px) {
.col-lg-padding2{padding-left:350px; padding-right:350px;}
}

.p-line{border:#bc1073 1px solid;}
.g-line{border:#cccccc 1px solid;}
.ccc-line{border:#ccc 1px solid;} 

.new-frame{
	max-width:100%;
	margin:15px 15px 5px 15px;
	box-sizing:border-box;
	display:block;}

.mida{
  padding:0 0 10px 0px;
  border-bottom: 3px dotted #ccc;
  background: #fff;
}

.lead{font-size:14px; color:#999;}

.anim-box.slidein.is-animated {
  animation: slideIn 1s cubic-bezier(0.25, 1, 0.5, 1) forwards;
}

.top3midashi {
  padding: 1rem 3rem;
  -webkit-transform: skew(-15deg);
  transform: skew(-15deg);
  color: #fff;
  background-image: -webkit-gradient(linear, left top, right top, from(#831a1f), to(#e94f11));
  background-image: -webkit-linear-gradient(left, #831a1f 0%, #cb017e 40%, #e94f11 100%);
  background-image: linear-gradient(to right, #831a1f 0%, #cb017e 40%, #e94f11 100%);
}

.chart-area{/*円グラフがスマホでつぶれないようにする*/
	position: relative;
	width:100%;
	height:50vh;
}

.circle{
  display:inline-block;
  transform:rotate(-90deg);
}
.circle .type{
  fill:transparent;
  stroke-width:100;
}

.typeA1{animation:circleA1 1s forwards;}
@keyframes circleA1{
  0%{stroke-dasharray:0 565;}
  99.9%,to{stroke-dasharray:350 565;}
}
.typeA2{animation:circleA2 1s forwards;}
@keyframes circleA2{
  0%{stroke-dasharray:0 565;}
  99.9%,to{stroke-dasharray:446 565;}
}
.typeA3{animation:circleA3 1s forwards;}
@keyframes circleA3{
  0%{stroke-dasharray:0 565;}
  99.9%,to{stroke-dasharray:520 565;}
}
.typeA4{animation:circleA4 1s forwards;}
@keyframes circleA4{
  0%{stroke-dasharray:0 565;}
  99.9%,to{stroke-dasharray:565 565;}
}

.box{
  width:100%;
  padding:10px;
  background:#fff;
  text-align: center;
}

.count-size{
  font-size:2.5rem;
  font-weight: bold;
  color: #2c57ad;
  margin-left:5px;
}

.pie-container {
  position: relative;
  padding-bottom: 20rem;
  width: 20rem;
}
.pie-svg {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  overflow: visible;
}
/* グラフ部分の指定 */
.pie {
  fill: transparent;
  cx: 32;
  cy: 32;
  r: 16;
  stroke-width: 32;
  stroke-dashoffset: 25;
}
.pieA {
  stroke: #009cff;
  stroke-dasharray: 65 35;
}
.pieB {
  stroke: #4cbaff;
  stroke-dasharray: 0 65 18 17;
}
.pieC {
  stroke: #7fcdff;
  stroke-dasharray: 0 83 17 0;
}

.pieChartArea{margin:0 auto 1.5em;width:280px;height:280px;position:relative;}
.pieChartArea li{list-style:none;padding:0;font-size:13px;font-weight:700;color:#fff;text-align:center;line-height:1.2 !important;position:absolute;text-shadow:0 0 3px #000;opacity:0;}
.pieChartArea li span{margin:0 .15em;font-size:24px;letter-spacing:-.1em;}
.pieChartArea li strong{padding:0;display:block;background:none;}
.pieChartArea li:first-child{top:65%;right:15%;animation:textFwt 1.5s ease-out 1s 1 forwards;}
.pieChartArea li:nth-child(2){top:54%;left:4%;animation:textFwt 1.5s ease-out 1.25s 1 forwards;}
.pieChartArea li:nth-child(3){top:23%;left:12%;animation:textFwt 1.5s ease-out 1.5s 1 forwards;}
.pieChartArea li:last-child{top:10%;right:52%;animation:textFwt 1.5s ease-out 1.75s 1 forwards;}

@keyframes textFwt {0%{opacity:0;}99.9%,to{opacity:1;}}.circle{display:inline-block;transform:rotate(-90deg);}
.circle .type{fill:transparent;stroke-width:100;}
.circle .type1{stroke:#065e71;}
.circle .type2{stroke:#2b7686;}
.circle .type3{stroke:#518e9c;}
.circle .type4{stroke:#8fb7bf;}
.typeA1{animation:circleA1 1s forwards;-webkit-animation:circleA1 1s forwards;}@keyframes circleA1{0%{stroke-dasharray:0 565;}99.9%,to{stroke-dasharray:350 565;}}
.typeA2{animation:circleA2 1s forwards;-webkit-animation:circleA2 1s forwards;}@keyframes circleA2{0%{stroke-dasharray:0 565;}99.9%,to{stroke-dasharray:446 565;}}
.typeA3{animation:circleA3 1s forwards;-webkit-animation:circleA3 1s forwards;}@keyframes circleA3{0%{stroke-dasharray:0 565;}99.9%,to{stroke-dasharray:520 565;}}
.typeA4{animation:circleA4 1s forwards;-webkit-animation:circleA4 1s forwards;}@keyframes circleA4{0%{stroke-dasharray:0 565;}99.9%,to{stroke-dasharray:565 565;}}

.border-b{border-bottom:6px solid #9fbed4; padding-bottom:3px; border-radius:1px;}
.bb2{border-bottom:1px dotted #ccc; padding-bottom:40px; border-radius:1px;}

.re-box-data{text-decoration:none; background:#fff; border:1px solid #ccc; border-radius:10px; padding:30px 15px 30px 15px; flex-direction: column}
.re-data1{color:#208ef4; font-weight:bold; font-size:40px;}
.re-data2{color:#208ef4; font-weight:bold;}

.re-box img{border-radius: 0 0 0 0; display: inline-block; box-shadow: 2x 2px 2px 2px rgba(0, 0, 0, 0.8);}
.re-box p{border-radius: 0 0 0 0; display: inline-block; box-shadow: 2x 2px 2px 2px rgba(0, 0, 0, 0.8);}
a .re-main{font-size:18px; float:left; text-decoration:none; color:#fff; font-weight:bold; padding:5px 0px 0px 0px; letter-spacing:2px; margin:0px 0 0px 0;}
a .re-sik1{background:#fff; border-radius:15px; font-size:14px; float:left; text-decoration:none; color:#b90173; padding:5px 25px 5px 25px; letter-spacing:2px; margin:0 0 0 0;}
a .re-sik2{background:#fff; border-radius:15px; font-size:14px; float:left; text-decoration:none; color:#333; padding:5px 25px 5px 25px; letter-spacing:2px; margin:0 0 0 0;}
a .re-body{background:#46c0d7; border-radius:0 0 10px 10px;}
a .re-time{color:#666; font-size:10px; padding:0 0 10px 0; margin:0 0 0 0; font-weight:normal; letter-spacing:2px; text-align:right; text-decoration:none;}
a .re-title{color:#333; line-height:150%; font-size:16px; padding:0 0 20px 0; margin:0 0 0 0; font-weight:normal; letter-spacing:1px; text-align: left; text-decoration:none;}
.re-main{font-size:18px; float:left; text-decoration:none; color:#fff; font-weight:bold; padding:5px 0px 0px 0px; letter-spacing:2px; margin:0px 0 0px 0;}
.re-sik1{background:#fff; border-radius:15px; font-size:14px; float:left; text-decoration:none; color:#b90173; padding:5px 25px 5px 25px; letter-spacing:2px; margin:0 0 0 0;}
.re-sik2{background:#fff; border-radius:15px; font-size:14px; float:left; text-decoration:none; color:#333; padding:5px 25px 5px 25px; letter-spacing:2px; margin:0 0 0 0;}
.re-body{border-radius:0 0 10px 10px;}
.re-time{color:#666; font-size:10px; padding:0 0 10px 0; margin:0 0 0 0; font-weight:normal; letter-spacing:2px; text-align:right; text-decoration:none;}
.re-title{color:#333; line-height:150%; font-size:16px; padding:0 0 20px 0; margin:0 0 0 0; font-weight:normal; letter-spacing:1px; text-align: left; text-decoration:none;}

.re-category1{background:#cf050e; border:1px #ccc solid; color:#fff; font-size:14px; padding:5px 20px 5px 20px; margin:0 0 0 0; font-weight:normal; letter-spacing:1px; text-align: left; text-decoration:none; border-radius:15px;}
.re-category2{background:#222; color:#fff; font-size:12px; padding:2px 5px 2px 5px; margin:0 0 0 0; font-weight:normal; letter-spacing:1px; text-align: left; text-decoration:none;}
.re-category3{background:#fef6f0; color:#333; font-size:12px; padding:2px 5px 2px 5px; margin:0 0 0 0; font-weight:normal; letter-spacing:1px; text-align: left; text-decoration:none;}
.re-category4{background:#00ccff; color:#fff; font-size:12px; padding:2px 5px 2px 5px; margin:0 0 0 0; font-weight:normal; letter-spacing:1px; text-align: left; text-decoration:none;}
.re-link{color:#666; font-size:16px; padding:5px 0 0 0; margin:0 0 0 0; font-weight:normal; letter-spacing:1px; text-align: right; text-decoration:none;}