

@media print {
	
	
/* 初期設定--------------------------------------------------------------------------------------------------------------------------------------------- */

@font-face {
    font-family: 'noto100';
    src:url("../font/noto_sans/NotoSansJP-Thin.woff") format('woff');
}


@font-face {
    font-family: 'noto300';
    src:url("../font/noto_sans/NotoSansJP-Light.woff") format('woff');
}

@font-face {
    font-family: 'noto400';
    src:url("../font/noto_sans/NotoSansJP-Regular.woff") format('woff');
}

@font-face {
    font-family: 'noto500';
    src:url("../font/noto_sans/NotoSansJP-Medium.woff") format('woff');
}

@font-face {
    font-family: 'noto700';
    src:url("../font/noto_sans/NotoSansJP-Bold.woff") format('woff');
}

@font-face {
    font-family: 'noto900';
    src:url("../font/noto_sans/NotoSansJP-Black.woff") format('woff');
}





html {

    font-family: 'noto400';

}

*:first-child + html body {

    font-family: 'noto400';
}

body{
    font-family: 'noto400';
	
	padding:0;
	margin:0;
	font-size: 1.6rem;

	line-height:140%;
	text-align:left;

}


body a:focus{
	outline:none;
}





/* clear ---------------------------------------------- */


.clearfix:after {
height: 0;
 visibility: hidden;
 content: ".";
 display: block;
 clear: both;
 overflow:hidden;
}
.clearfix {
 display:inline-block;
overflow:hidden;
}

/* exlude MacIE5 \*/
* html .clearfix {
 height:1%;
}
.clearfix {
 display:block;
}

/* PC用のスタイル記述 */
.pc {
	display: block;
}
.phone {
	display: none;
}

.slicknav_menu {
	display:none;
}

img, object, embed {
	max-width: 100%;
	height: auto;
}

img {
	-ms-interpolation-mode: bicubic;
}


/* PCベース設定--------------------------------------------------------------------------------------------------------------------------------------------- */
	

	
body{
	padding:0;
	margin:0;
	font-size: 1.7rem;

	line-height:160%;
	text-align:left;

 
}	 

/* container ---------------------------------------------- */




.container01_bg{
	width:100%;
	height:auto;
	padding:0 50px;
	box-sizing:border-box;
}



.container02_bg{
	width:100%;
	height:auto;
	padding:0 0px;
	box-sizing:border-box;
}


.container00{
	max-width:1300px;
	width:100%;
	height:auto;
	margin:0 auto;
	padding:100px 0;

}

.container00_01{
	max-width:1300px;
	width:100%;
	height:auto;
	margin:0 auto;
	padding:100px 0 80px 0;

}

.container01{
	max-width:1300px;
	width:100%;
	height:auto;
	margin:0 auto;
	padding:60px 0;

}

.container02{
	max-width:1300px;
	width:100%;
	height:auto;
	margin:0 auto;
	padding:0 0;

}

.container03{
	max-width:1200px;
	width:100%;
	height:auto;
	margin:0 auto;
	padding:60px 0;

}


.container03_00{
	max-width:1200px;
	width:100%;
	height:auto;
	margin:0 auto;
	padding:0;

}


.container03_01{
	max-width:1200px;
	width:100%;
	height:auto;
	margin:0 auto;
	padding:0px 0 60px 0;

}



.container04{
	max-width:1000px;
	width:100%;
	height:auto;
	margin:0 auto;
	padding:80px 0;
}

.container04_00{
	max-width:1000px;
	width:100%;
	height:auto;
	margin:0 auto;
	padding:60px 0 0 0 ;
}



.container04_01{
	max-width:1000px;
	width:100%;
	height:auto;
	margin:0 auto;
	padding:0px 0;
}


.container04_02{
	max-width:1000px;
	width:100%;
	height:auto;
	margin:0 auto;
	padding:70px 0 70px 0;

}





.container05{

	width:100%;
	height:auto;
	margin:0 auto;
	padding:60px 0;
}


.container05_01{
	width:100%;
	height:auto;
	margin:0 auto;
	padding:60px 0 0 0 ;
}




.container06{
	max-width:1600px;
	width:100%;
	height:auto;
	margin:0 auto;
	padding:60px 0;

}

.container06_01{
	max-width:1600px;
	width:100%;
	height:auto;
	margin:0 auto;
	padding:60px 0 0 0;

}


/* contents ---------------------------------------------- */

.contents{
	max-width:90%;
	height:auto;
	padding:0 5%;
}

/* header ---------------------------------------------- */

	
body{
	padding:0;
	margin:0;
	font-size: 1.7rem;

	line-height:160%;
	text-align:left;

 
}	 

/* container ---------------------------------------------- */






.tp_msg_bg{
	width: 100%;
	background:url("../img/top/top_msg_bg.jpg") center  no-repeat ; 
	 -moz-background-size: cover;
	-o-background-size: cover;
	 background-size: cover;
	 margin:0px auto 0px auto;

     padding:0 40px;
     box-sizing:border-box;
}


.tp_src_bg{
	width: 100%;
	background-color: #fcf2f3;
	 margin:0px auto 0px auto;

     padding:0 40px;
     box-sizing:border-box;
}


.tp_event_bg{
	background-color: #f9f6ec;
	 margin:0px auto 0px auto;

     padding:0 40px;
     box-sizing:border-box;
}





.container01_bg{
	width:100%;
	height:auto;
	padding:0 30px;
	box-sizing:border-box;
}

.container02_bg{
	width:100%;
	height:auto;
	padding:0 0px;
	box-sizing:border-box;
}

.container01{
	max-width:1200px;
	width:100%;
	height:auto;
	margin:0 auto;
	padding:60px 0;

}


.container02{
	width:100%;
	height:auto;
	margin:0 auto;
	padding:60px 0;

}

.container03{
	max-width:1800px;
	width:100%;
	height:auto;
	margin:0 auto;
	padding:60px 0;

}







/* header ---------------------------------------------- */






#header {

  position: fixed;
  top: 0;
  transition: .3s cubic-bezier(.4, 0, .2, 1);
  width: 100%;
  z-index: 199999;

 box-sizing: border-box;

    

}

.head-animation {
  transform: translateY(-100%);
}


.header_bg{
	width:100%;
	height:80px;
	margin:0 auto;
    box-sizing: border-box;
	position:relative;
    background: #FFFFFF;
    border-bottom: 1px solid #f3f2e9;

}

header{
	width:100%;
	height:80px;
	margin:0 auto;

	box-sizing:border-box;
}




.header_contact{
    position: absolute;
    top: 15px;
    right: 30px;
    max-width: 185px;
    width: 100%;
    height: auto;
    text-align: center;
    text-decoration: none;


    box-sizing: border-box;



    font-family: noto-sans-cjk-jp, sans-serif;
    font-weight: 400;
    font-style: normal;
}

.header_contact a {
    position: relative;
    height: 50px;
    font-size: 18px;
    line-height: 100%;
    color: #FFFFFF;
    padding: 0px 10px 2px;
    background-color: #b43f1b;
    border: 2px solid #b43f1b;
    box-sizing: border-box;
    -webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all  0.3s ease;
    border-radius: 25px;
    display: -webkit-flex;
    display: flex;
    -webkit-align-items: center;
    align-items: center;
    -webkit-justify-content: center;
    justify-content: center;
}

.header_contact a span{
    padding-left: 30px;
}

.header_contact a::before{
    position: absolute;

    top: 50%;
    left: 20px;

    content: '';

    width: 28px;
    height: 18px;
    background-image: url(../img/common/mail_icon.png);
    background-repeat: no-repeat;
    background-size: contain;
    transform: translateY(-50%);
    transition: 0.3s;

}

.header_contact a:hover{
    background-color: #e8870a;
    border: 2px solid #e8870a;
}




.header_tel{
    position: absolute;
    top: 15px;
    right: 240px;

    color: #e8870a;
    font-size: 26px;
    font-weight: 700;
    line-height: 110%;
}



/* 選択したボタンのスタイル */
.bl_sizeBtn.is_active {
    border: 1px solid  #3E3E3E;
    background:#FFFFFF;
    color:#3E3E3E;   
}

.h_txt{
    
    font-size:15px;
    line-height: 100%;

    position: absolute;
    top: 13px;
    right: 550px;
}





button,
input {
  -webkit-appearance: none;
  appearance: none;
  vertical-align: middle;
  color: inherit;
  font: inherit;
  border: 0;
  background: transparent;
  padding: 0;
  margin: 0;
  outline: 0;
  border-radius: 0;
  text-align: inherit;
}



.searchForm_bg{
  position: absolute;
  top: 15px;
  right: 50px;
}

.searchForm_bg01{
display: none;
}

.searchForm {
  width: 210px;
  height: 30px;  

  position: relative;
  display: flex;
  justify-content: center;
}

  .searchForm {
    height: 30px;
  }

.searchForm input[type=search] {
  height: 30px;  
  width: 95%;
  padding: 0 10px;
  border: 1px solid #666666;  
  box-sizing: border-box;
  border-right: none;


  font-size: 1.6rem;
  line-height: 100%;

  color:#5C5C5C; /* セレクトボックスの文字色 */



}



.searchForm button[type=submit] {

  border-left: none;
  padding: 0;
  width: 45px;
  height: 30px;
  text-align: center;
  
  background: #666666;
  
 
   display: -webkit-flex;
   display: flex;
   -webkit-align-items: center; 
   align-items: center; 
   -webkit-justify-content: center; 
   justify-content: center;   
}




  .searchForm button[type=submit] img {
    width: 20px;
  }

  .searchForm input::-webkit-input-placeholder {
  font-size: 1.4rem;
  line-height: 100%;

  color: #666666;  /* セレクトボックスの文字色 */

}
  .searchForm input:-moz-placeholder {
  font-size: 1.4rem;
  line-height: 100%;

  color: #666666;  /* セレクトボックスの文字色 */
}
  .searchForm input::-moz-placeholder {
  font-size: 1.4rem;
  line-height: 100%;

  color: #666666;  /* セレクトボックスの文字色 */
}
  .searchForm input:-ms-input-placeholder {
  font-size: 1.4rem;
  line-height: 100%;

  color: #666666;  /* セレクトボックスの文字色 */

}







.header-serch {
  color: #fff;
  opacity: 0.9;
  background-color: #FE7F2D;
  width: 55px;
  height: 60px;
  font-size: 1.2rem;
  font-family: 'Lobster', sans-serif;
  text-align: center;
}
.header-serch i {
  display: block;
  font-size: 2.4rem;
}
.serch-wrapper {
  display: none;
  position: relative;
  z-index: 2;
}
.serch-bg {
  background-color: rgba(43, 46, 56, 0.9);
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  z-index: 2;
}
.header-serch-content {
  position: fixed;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  max-width: 700px;
  width: calc(650 / 768 * 100%);
  height: 200px;
  z-index: 3;
  color: #fff;
  font-size: 1.7rem;
  display: flex;
  justify-content: center;
  align-items: center;
}
.header-serch-content form {
  width: 100%;
}
.header-serch-input {
  background-color: #fff;
  width: 100%;
  height: 65px;
  margin: 0 auto;
  border: 3px solid #cacaca;
  padding: 10px;
  font-size: 1.8rem;
  color: #333;
}
.header-serch-btn {
  position: absolute;
  top: 63px;
  right: 15px;
  color: #333;
  font-size: 2.2rem;
}
.close-btn {
  font-size: 2.2rem;
  font-family: 'Lobster', sans-serif;
  text-transform: uppercase;
  display: block;
  width: fit-content;
  margin: 35px auto 0;
  cursor: pointer;
}
.close-btn i {
  font-size: 3rem;
  margin-right: 10px;
  vertical-align: bottom;
}


/*nav{
	width:510px;
	position:absolute;
	top:55px;
	right:0;
}

nav ul{
	margin:0;
	padding:0;

}

nav ul li{
	float:left;
	color:#000;
	font-size: 1.6rem;

	font-weight:bold;
	margin-right:20px;
	line-height:120%;
}

nav ul li:last-child{
	margin-right:0;
}

nav ul li a{
	color:#FFF !important;
	text-decoration:none;

}

nav ul li a:hover{
	color:#FFF !important;
	text-decoration:underline;
}

.nav_h{
	color:#FFF !important;
	text-decoration:underline !important;
}*/


#section1,
#section2,
#section3,
#section4,
#section5,
#section6,
#section7,
#section8,
#section9,
#section10,
#section11,
#section12,
#section13,
#section14
{
    margin-top:-160px;
    padding-top:160px;
}


#kyoten{
    margin-top:-40px;
    padding-top:40px;
}


/* footer ---------------------------------------------- */


footer{

	padding:27px 30px;
	box-sizing:border-box;

}

.footer_in{

	width:100%;
	height:auto;
	margin:0 auto;
	
	padding:0px 0 0px 0;
	box-sizing:border-box;
}


address{
	font-size: 1.8rem;
	line-height:160%;
	color:#000;
    text-align: center;



    margin-bottom: 7px;


}

.ad_ttl{
	font-size: 2.0rem;
	line-height:120%;
	margin-bottom:12px;	
    text-align: center;

}

footer a{
	color:#000000;
	text-decoration:none;
}

footer a:hover{
	color:#000000;
	text-decoration:none;
}


.f_cpy{
	font-size: 1.3rem;
	box-sizing:border-box;
	line-height:120%;
    text-align: center;
    color: #999999;

    font-family: "ryo-gothic-plusn", sans-serif;
    font-weight: 400;
    font-style: normal;
}

.link_a{
    padding-top: 130px;
    margin-top:-130px;
}





/*gnav*/



/*gnav*/




.nav_logo{
	margin-bottom:50px;
	display:none !important;
}

.nav_tel{
	display:none !important;
}



#g-nav-list{
    position: absolute;
    top: 50px;
    right: 240px;
   

}


#g-nav-list ul li{
    display: inline-block;

	font-size: 1.8rem;
    font-weight: 600;
	line-height:110%;
    text-align: center;

    box-sizing: border-box;
    margin-right: 20px;
}
	
    
#g-nav-list ul li:nth-child(5){
	margin-right:0px;
}

#g-nav-list ul li.contact{
	display: none;
}

#g-nav-list ul li a{
    color:#0e0e0e;
    text-decoration: none;
    position: relative;

    display: inline-block;
    transition: .3s;
}

#g-nav-list ul li a:hover{
    color: #b43f1b;

}


.gnav_on{
    color:#b43f1b !important;
}


  



/*========= ページトップのためのCSS ===============*/

/*リンクを右下に固定*/
#page-top {
    width: 50px;
    height: 34px;
	position: fixed;
	right: 10px;
	z-index: 8000;
    /*はじめは非表示*/
	opacity: 0;
	transform: translateY(100px);
}

/*　上に上がる動き　*/

#page-top.UpMove{
	animation: UpAnime 0.5s forwards;
}
@keyframes UpAnime{
  from {
    opacity: 0;
	transform: translateY(100px);
  }
  to {
    opacity: 1;
	transform: translateY(0);
  }
}

/*　下に下がる動き　*/

#page-top.DownMove{
	animation: DownAnime 0.5s forwards;
}
@keyframes DownAnime{
  from {
  	opacity: 1;
	transform: translateY(0);
  }
  to {
  	opacity: 1;
	transform: translateY(100px);
  }
}







/* h1 h2 h3 h4 h5 ---------------------------------------------- */


/* h1 h2 h3 h4 h5 ---------------------------------------------- */


h1.h1_01{
    width: 336px;
    position: absolute;
    top: 6px;
    left:40px;

}


h2.h2_01{
    position: relative;
    text-align: center;
    margin: 0px auto 60px;
}


h2.h2_01 p:first-child{
    font-size: 35px;
    line-height: 140%;
    color: #000;
    font-family: "m-plus-2p", sans-serif;
    font-weight: 700;
    font-style: normal;
}

h2.h2_01 p:last-child{
    font-size: 20px;
    line-height: 140%;
    color: #b43f1b;
    font-family: "corporate-logo-ver2", sans-serif;
    font-weight: 500;
    font-style: normal;
}

h2.h2_01 p:last-child span{
    position: relative;
    font-size: 20px;
    color: #b43f1b;
    padding:0px 20px;
}


h2.h2_01 p:last-child span::before{
    position: absolute;

    top: 50%;
    left: 0px;
  
    transform: translateY(-50%);
  
    content: '';
  
    width: 10px;
    height: 10px;
  
    background-color: #b43f1b;
    border-radius: 5px;
  
    z-index: 10;
}

h2.h2_01 p:last-child span::after{
    position: absolute;

    top: 50%;
    right: 0px;
  
    transform: translateY(-50%);
  
    content: '';
  
    width: 10px;
    height: 10px;
  
    background-color: #b43f1b;
    border-radius: 5px;
  
    z-index: 10;
}



h3.h3_01{
    position: relative;
    color: #b43f1b;
    font-size: 30px;
    padding: 30px 0;
    text-align: center;
    margin: 30px 0 60px;
}

h3.h3_01:before {
    content: "";
    position: absolute;
    top: -8px;
    left: 50%;
    width: 150px;
    height: 98px;
    border-radius: 50%;
    border: 5px solid #e9c26d;
    border-left-color: transparent;
    border-right-color: transparent;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
}



h4.h4_01{
    padding:5px 10px 7px;
    border-left: 16px solid #2c4cb2;

    margin-bottom: 20px;
}

h4.h4_01 p:first-child{
    font-size: 25px;
    font-weight: 500;
    line-height: 160%;
    color: #2c4cb2;
}

h4.h4_01 p:last-child{
    font-size: 20px;
    font-weight: 500;
    line-height: 180%;

}



/* スライド ---------------------------------------------- */







/*=============
slick
=============*/

.full{

	width:100%;
	height: calc(100dvh - 120px);
    


    

}

     
.full .slide {
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;

  height: calc(100dvh - 120px);
  margin: 0;
  text-decoration: none;
}


.full .slick-dots {
	bottom: 4%;
	z-index: +1;
}



.top_slide{
    background: -moz-linear-gradient(45deg, #02e1ba 0%, #26c9f2 29%, #d911f2 66%, #ffa079 100%);
    background: -webkit-linear-gradient(45deg, #02e1ba 0%,#26c9f2 29%,#d911f2 66%,#ffa079 100%);
    background: linear-gradient(45deg, #02e1ba 0%,#26c9f2 29%,#d911f2 66%,#ffa079 100%);
    background-size: 400% 400%;
    -webkit-animation: Gradient 15s ease infinite;
	-moz-animation: Gradient 15s ease infinite;
	animation: Gradient 15s ease infinite;
	/*min-height: calc(100vh - 2rem);*/
	display: flex;
	flex-direction: column;
	align-items: stretch;
	justify-content: space-evenly;
	overflow: hidden;
	position: relative; 
}

.top_slide::before, 
.top_slide::after {
	content: "";
	width: 70vmax;
	height: 70vmax;
	position: absolute;
	background: rgba(255, 255, 255, 0.07);
	left: -20vmin;
	top: -20vmin;
	animation: morph 15s linear infinite alternate, spin 20s linear infinite;
	z-index: 1;
	will-change: border-radius, transform;
	transform-origin: 55% 55%;
	pointer-events: none; 
}
	
.top_slide::after {
    width: 70vmin;
    height: 70vmin;
    left: auto;
    right: -10vmin;
    top: auto;
    bottom: 0;
    animation: morph 10s linear infinite alternate, spin 26s linear infinite reverse;
    transform-origin: 20% 20%; 
}

@-webkit-keyframes Gradient {
	0% {
		background-position: 0 50%
	}
	50% {
		background-position: 100% 50%
	}
	100% {
		background-position: 0 50%
	}
}

@-moz-keyframes Gradient {
	0% {
		background-position: 0 50%
	}
	50% {
		background-position: 100% 50%
	}
	100% {
		background-position: 0 50%
	}
}

@keyframes Gradient {
	0% {
		background-position: 0 50%
	}
	50% {
		background-position: 100% 50%
	}
	100% {
		background-position: 0 50%
	}
}

@keyframes morph {
  0% {
    border-radius: 40% 60% 60% 40% / 70% 30% 70% 30%; }
  100% {
    border-radius: 40% 60%; } 
}

@keyframes spin {
  to {
    transform: rotate(1turn); 
  } 
}
	.st0{display:none;}
	.st1{display:inline;}
	.st2{opacity:0.29;}
	.st3{fill:#FFFFFF;}
	.st4{clip-path:url(#SVGID_2_);fill:#FFFFFF;}
	.st5{clip-path:url(#SVGID_4_);}
	.st6{clip-path:url(#SVGID_6_);}
	.st7{clip-path:url(#SVGID_8_);}
	.st8{clip-path:url(#SVGID_10_);}
	.st9{fill:none;}
	.st10{clip-path:url(#SVGID_12_);}
	.st11{opacity:0.7;}
	.st12{clip-path:url(#SVGID_14_);}
	.st13{opacity:0.2;}
	.st14{clip-path:url(#SVGID_16_);}
	.st15{opacity:0.3;fill:#FFFFFF;enable-background:new    ;}



.top_slide{
    position: relative;
	width:100%;
	height: calc(100dvh - 80px);
    margin-top: 80px;
}


.slide_txt_out{

    width: 100%;
    max-width: 918px;
    padding: 0px 40px;
    box-sizing: border-box;

position:absolute;

top: 50%;
left: 50%;

transform: translate(-50%,-50%);

z-index: 10;
}


.slide_txt_out img{
    width: 100%;
}


.slide_txt_out img.pc{
    width: auto;
}


.slide_txt_out img.tb{
    display: none;
}


.slide_txt_out img.sp{
    display: none;
}


/*スクロールダウン全体の場所*/
.scrolldown2{
    /*描画位置※位置は適宜調整してください*/
	position:absolute;
	bottom:0px;
	left:50%;
}

/*Scrollテキストの描写*/
.scrolldown2 span{
    /*描画位置*/
	position: absolute;
	left:0px;
	bottom:50px;
    /*テキストの形状*/
	color: #eee;
	font-size: 18px;
	letter-spacing: 0.08em;

    transform: translateX(-50%);

}

/* 丸の描写 */
.scrolldown2:before {
    content: "";
    /*描画位置*/
    position: absolute;
    bottom:0;
    left:-4px;
    /*丸の形状*/
	width:10px;
	height:10px;
	border-radius: 50%;
	background:#eee;
    /*丸の動き1.6秒かけて透過し、永遠にループ*/
	animation:
		circlemove 1.6s ease-in-out infinite,
		cirlemovehide 1.6s ease-out infinite;
}

/*下からの距離が変化して丸の全体が上から下に動く*/
@keyframes circlemove{
      0%{bottom:45px;}
     100%{bottom:-5px;}
 }

/*上から下にかけて丸が透過→不透明→透過する*/
@keyframes cirlemovehide{
      0%{opacity:0}
     50%{opacity:1;}
    80%{opacity:0.9;}
	100%{opacity:0;}
 }

/* 線の描写 */
.scrolldown2:after{
	content:"";
    /*描画位置*/
	position: absolute;
	bottom:5px;
	left:0;
    /*線の形状*/
	width:2px;
	height: 45px;
	background:#eee;
}




/* 各ページイメージ ---------------------------------------------- */


.mi_bg01{
    margin-top: 120px;
    background: #197abc;
    padding-top: 40px;

}

.mi_bg01_in{
    max-width: 1000px;
    width: 100%;
    height: auto;
    margin: 0 auto 30px auto;

}

.mi_bg01_in dl dt{
    font-size: 54px;
    line-height: 140%;
    text-align: center;
    margin-bottom: 25px;
    color: #FFFFFF;
    


font-family: mochiy-pop-p, sans-serif;
font-weight: 400;
font-style: normal;
        
}

.mi_bg01_in dl dd{
    font-size: 20px;
    line-height: 200%;
    text-align: center;
    
    color: #FFFFFF;
    
}


.mi_bg01_in dl dd span::before {
	content: "\A" ;
	white-space: pre ;
}


.top_main_img{
    max-width: 1000px;
    width: 100%;
    height: auto;
    margin: 0 auto;
    text-align: center;
}

.top_main_img img{
    margin: 0 auto;
    text-align: center;

}




.facility_information_img{
	width: 100%;
	height:280px !important;
	background:url("../img/facility_information/main.jpg") center  no-repeat ; 
	 -moz-background-size: cover;
	-o-background-size: cover;
	 background-size: cover;
	 margin:80px auto 0px auto;
}

.circle_group_img{
	width: 100%;
	height:280px !important;
	background:url("../img/circle_group/main.jpg") center  no-repeat ; 
	 -moz-background-size: cover;
	-o-background-size: cover;
	 background-size: cover;
	 margin:80px auto 0px auto;
}


.citizen_lecture_img{
	width: 100%;
	height:280px !important;
	background:url("../img/citizen_lecture/main.jpg") center  no-repeat ; 
	 -moz-background-size: cover;
	-o-background-size: cover;
	 background-size: cover;
	 margin:80px auto 0px auto;
}

.home_delivery_course_img{
	width: 100%;
	height:280px !important;
	background:url("../img/home_delivery_course/main.jpg") center  no-repeat ; 
	 -moz-background-size: cover;
	-o-background-size: cover;
	 background-size: cover;
	 margin:80px auto 0px auto;
}



.about_img{
	width: 100%;
	height:280px !important;
	background:url("../img/about/main.jpg") center  no-repeat ; 
	 -moz-background-size: cover;
	-o-background-size: cover;
	 background-size: cover;
	 margin:80px auto 0px auto;
}


.citizen_teacher_img{
	width: 100%;
	height:280px !important;
	background:url("../img/citizen_teacher/main.jpg") center  no-repeat ; 
	 -moz-background-size: cover;
	-o-background-size: cover;
	 background-size: cover;
	 margin:80px auto 0px auto;
}



.local_school_collaboration_activities_img{
	width: 100%;
	height:280px !important;
	background:url("../img/local_school_collaboration_activities/main.jpg") center  no-repeat ; 
	 -moz-background-size: cover;
	-o-background-size: cover;
	 background-size: cover;
	 margin:80px auto 0px auto;
}


.activity_report_img{
	width: 100%;
	height:280px !important;
	background:url("../img/activity_report/main.jpg") center  no-repeat ; 
	 -moz-background-size: cover;
	-o-background-size: cover;
	 background-size: cover;
	 margin:80px auto 0px auto;
}

.news_img{
	width: 100%;
	height:280px !important;
	background:url("../img/news/main.jpg") center  no-repeat ; 
	 -moz-background-size: cover;
	-o-background-size: cover;
	 background-size: cover;
	 margin:80px auto 0px auto;
}



.contact_img{
	width: 100%;
	height:280px !important;
	background:url("../img/contact/main.jpg") center  no-repeat ; 
	 -moz-background-size: cover;
	-o-background-size: cover;
	 background-size: cover;
	 margin:80px auto 0px auto;
}












/* ページ共通背景 ---------------------------------------------- */




.button01{
	width:200px;
	height:auto;
	text-align: center;
	text-decoration: none;
    margin: 0 auto;
    background: #0358a7;
}

.button01 a{
    display: block;
	width:200px;
    height: 45px;
    font-size: 15px;
    line-height: 100%;
    color:#FFFFFF;

    background:url("../img/top/list.png") right 15px top 16px no-repeat;

	border: 2px solid #0358a7;

    
     box-sizing: border-box;

   -webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all  0.3s ease;
    
   display: -webkit-flex;
   display: flex;
   -webkit-align-items: center; 
   align-items: center; 
   -webkit-justify-content: center; 
   justify-content: center;     
}


.button01 a:hover {
    background:url("../img/top/list01.png") right 15px top 16px no-repeat,#FFFFFF;

	border: 2px solid #0358a7;
    color:#0358a7;
}



.button02{
	width:450px;
	height:auto;
	text-align: center;
	text-decoration: none;
    margin: 60px auto 0 auto;

}

.button02 a{
   display: block;

    max-width: 450px;
    width: 100%;
    height: 45px;
    font-size: 17px;
    line-height: 100%;
    color: #FFFFFF;
    background: #468526;
    padding-bottom: 2px;

    border-radius: 20px;


    margin: 0 auto;
    text-align: center;


	border: 2px solid #468526;   
    
    
     box-sizing: border-box;

   -webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all  0.3s ease;
    
   display: -webkit-flex;
   display: flex;
   -webkit-align-items: center; 
   align-items: center; 
   -webkit-justify-content: center; 
   justify-content: center;      
}


.button02 a:hover {
  background-color:#FFFFFF;
  color: #468526;
}


/* サブページタイトル部分---------------------------------------------- */

.sub_page_top{
	width: 100%;
    height: 200px;
	background:url("../img/common/sub_bg.jpg") center  no-repeat ; 
	 -moz-background-size: cover;
	-o-background-size: cover;
	 background-size: cover;
	 margin:80px auto 0px auto;

     padding:0 20px;
     box-sizing:border-box;
}

.sub_page_title{
    position: relative;
    width: 100%;
    height: 100%;
    text-align: center;
}

.sub_page_title div:first-child{
    position: absolute;
    top: 50%;
    left: 50%;

    transform: translate(-50%,-50%);

    font-size: 120px;
    color: #ffffff;

    font-family: "Train One", system-ui;
    font-weight: 400;
    font-style: normal;

    opacity: 0.6;

}

.sub_page_title div:last-child{
    position: absolute;
    top: 50%;
    left: 50%;

    transform: translate(-50%,-50%);

    font-size: 30px;

    font-family: fot-chiaro-std, sans-serif;
    font-weight: 700;
    font-style: normal;
}


/* トップメッセージ---------------------------------------------- */

.tp_msg_01 {
    width: 100%;

    position: relative;

    padding: 30px 20px;
    box-sizing: border-box;
    border: 3px solid #2c388c;

    text-align: center;
    margin: 0px auto 0px;
}

.tp_msg_01::after {
    content: "";
    position: absolute;
    top: calc(100% + 5px);
    left: 50%;
    width: 30px;
    height: 2px;
    box-sizing: border-box;
    background-color: #2c388c;
    box-shadow: 0 2px 0 #ffffff, 0 -2px 0 #ffffff; /* 背景色と同じ色を指定 */
    rotate: 50deg;
}

.tp_msg_01 dt{
    color: #2c4cb2;
    font-size: 32px;
    line-height: 120%;
    margin-bottom: 10px;
}

.tp_msg_01 dd{
    font-size: 24px;
    line-height: 120%;
    margin-bottom: 10px;
}



.top_kanban{
    width: 100%;
}


.top_kanban .top_kanban_img{
    width: 100%;
    
	height:800px !important;
	background:url("../img/top/top_kanban_01.png") center  no-repeat ; 
	 -moz-background-size: cover;
	-o-background-size: cover;
	 background-size: cover;
	 margin:0px auto 80px auto;
}

.top_kanban_list{
    width: 100%;
    padding: 0px 30px;
    box-sizing: border-box;

    overflow-y: auto;

    margin-bottom: 60px;
}

.top_kanban_list li{
    float: left;
    width: calc(100% / 3);

}

.top_kanban_list li img{
    width: 100%;
    height: auto;    
}

.top_kanban_list li:last-child{
    display: none;

}


.top_kanban_btn{
    width: 100%;
    max-width: 400px;

    margin: 0px auto;
    overflow: visible;
}

.top_kanban_btn a{
        position: relative;
        border: 2px solid #b43f1b;

        padding: 15px;
        box-sizing: border-box;

        font-size: 20px;

        -webkit-transition: all 0.3s ease;
         -moz-transition: all 0.3s ease;
         -o-transition: all 0.3s ease;
         transition: all  0.3s ease;
         
        display: -webkit-flex;
        display: flex;
        -webkit-align-items: center; 
        align-items: center; 
        -webkit-justify-content: center; 
        justify-content: center;    
        color: #b43f1b;

        overflow: visible;
}

.top_kanban_btn a:hover{
    border: 2px solid #b43f1b;
    color: #fff;
    background-color: #b43f1b;

}


.top_kanban_btn a::before {
    content: "";
    display: block;
    border-top: solid 2px #b43f1b;
    position: absolute;
    top: 49%;
    right: -40px;
    z-index: 1;
    width: 90px;
    height: 2px;
    transition: 0.3s;
}

.top_kanban_btn a:hover::before {
    width: 0px;
}

/* TOP コンテンツリスト---------------------------------------------- */

.tp_flow{
    width: 100%;
}

.tp_flow ul{
    overflow: auto;
    clear: both;
}

.tp_flow ul li{
    float: left;
    width: 49%;

    margin-right: 2%;
    margin-bottom: 30px;
    box-sizing: border-box;
    border: 2px solid #415cb2;
    padding: 30px;
    border-radius: 30px;

}

.tp_flow ul li:first-child{
    width: 100%;
}

.tp_flow ul li:nth-child(odd){
    margin-right: 0%;
}


.tp_flow ul li h2.h2_01{
    margin-bottom: 20px;
}

.tp_flow_img{
    width: 100%;
    margin-bottom: 20px;

    border-radius: 30px;

}

.tp_flow_img img{
    width: 100%;
    height: 300px;
    object-fit: cover;
    object-position: 20% 0%;

    border-radius: 30px;
}

.tp_flow_btn{
    width: 100%;
    max-width: 290px;
    margin: 0px auto;

}

.tp_flow_btn a{
    position: relative;
    height: 70px;

    box-sizing: border-box;

    font-size: 20px;

    -webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all 0.3s ease;
        
    display: -webkit-flex;
    display: flex;
    -webkit-align-items: center; 
    align-items: center; 
    -webkit-justify-content: center; 
    justify-content: center;    
    color: #fff;

    border-radius: 35px;

    background: linear-gradient(to right,#015eea, #00c0fa);
}

.tp_flow_btn a:hover{
    opacity: 0.8;
}


/* 共通お問い合わせ---------------------------------------------- */

.cmm_ctt_bg {
    width: 100%;
    height: 400px !important;
    background: url("../img/common/contact_bg.jpg") center no-repeat;
    -moz-background-size: cover;
    -o-background-size: cover;
    background-size: cover;
    margin: 0px auto 0px auto;
    display: -webkit-flex;
    display: flex;
    -webkit-align-items: center;
    align-items: center;
    -webkit-justify-content: center;
    justify-content: center;
}

.cmm_ctt dt h2.h2_01{
    margin-bottom: 20px;
}

.cmm_ctt dd{
    text-align: center;

    font-size: 45px;
    font-weight: 700;
    line-height: 140%;
    color: #b43f1b;
    margin: 0px auto 20px;
}

.cmm_ctt dd p{
    font-size: 18px;
    font-weight: 400;
    color: #000;
    line-height: 120%;
}

.cmm_ctt_btn{
    width: 100%;
    max-width: 380px;
    margin: 0px auto;

}

.cmm_ctt_btn a{
    position: relative;
    height: 60px;

    box-sizing: border-box;

    font-size: 20px;

    -webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all 0.3s ease;
        
    display: -webkit-flex;
    display: flex;
    -webkit-align-items: center; 
    align-items: center; 
    -webkit-justify-content: center; 
    justify-content: center;    
    color: #fff;

    border-radius: 30px;

    background: linear-gradient(to right,#015eea, #00c0fa);
}

.cmm_ctt_btn a:hover{
    opacity: 0.8;
}



/* 新着情報---------------------------------------------- */


.tp_news{

}

.tp_news dl{
margin-bottom: 30px;
}

.tp_news dl dt{
font-size: 1.8rem;
line-height: 160%;

float: left;
clear: both;

font-family: "ryo-gothic-plusn", sans-serif;
font-weight: 400;
font-style: normal;

letter-spacing: 0.03em;

}

.tp_news dl dt span{

    width: auto;
    min-width: 100px;
    height: auto;
    font-size: 13px;
    line-height: 120%;
    color: #FFFFFF;
    text-align: center;
    display:inline-block;
    margin-left: 15px;
    padding: 4px 10px 5px 10px;
    box-sizing: border-box;
       
}

.tp_news_bg01{
    background: #cc3300;
}

.tp_news_bg02{
    background: #006600;
}

.tp_news_bg03{
    background: #006699;
}




.tp_news dl dd{
font-size: 1.8rem;
line-height: 160%;
margin: 0 0 15px 0;
padding-left: 180px;
padding-bottom: 15px;


border-bottom: 1px dotted #999999;

font-family: "ryo-gothic-plusn", sans-serif;
font-weight: 400;
font-style: normal;

}


.tp_news dl dd a{
    color: #000000;
    text-decoration: none;
}


.tp_news dl dd a:hover{
    color: #000000;
    text-decoration:underline;
}


.news_ttl{
font-size: 2rem;
line-height: 140%;
border-bottom: 2px solid #333333;
padding-bottom: 7px;
margin-bottom: 15px;
}

.news_day{
font-size: 1.4rem;
line-height: 120%;
margin-bottom: 15px;
text-align: right;

}


.news_post{
font-size: 1.7rem;
line-height: 160%;
margin-bottom: 70px;

}

.news_post h1{
    line-height: 200%;
}

.news_post h2{
    line-height: 190%;
}

.news_post h3{
    line-height: 180%;
}

.news_post h4{
    line-height: 170%;
}


.news_post_in{
}


.news_post_in_l{
    width: 76%;
    height: auto;
    float: left;

}


.news_post_in_l a{
    color: #004486;
    text-decoration: underline;
}


.news_post_in_l a:hover{
    color: #004486;
    text-decoration:none;
}

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



.news_post_in_l ul li{
	list-style-type: disc;
	margin-left: 20px;
	text-align: left;
}

.news_post_in_l ol li{
	margin-left: 20px;
	text-align: left;
}




.news_post_in_r{
    width: 20%;
    height: auto;
    float: right;
    

}


.news_post_in_r dl dt{
    background: #DA8E99;
    padding: 10px 15px;
    color: #FFFFFF;
    font-size: 1.6rem;
    line-height: 120%;
    margin-bottom: 15px;
}


.news_post_in_r dl dd{
    margin-bottom: 35px;
}


.news_post_in_r dl dd:last-child{
    margin-bottom: 0px;
}



.news_post_in_r dl dd ul li{
    background:url("../img/common/list001.png") left 9px no-repeat;
    font-size: 1.6rem;
    line-height: 120%;
    margin-bottom: 14px;
    padding-left: 8px;
}


.news_post_in_r dl dd ul li a{
    color: #000000;
    text-decoration: none;
}

.news_post_in_r dl dd ul li a:hover{
    color: #000000;
    text-decoration:underline;
}

.news_post_in_r dl dd ul li:last-child{
    margin-bottom: 0px;
}


/* 看板商品---------------------------------------------- */

.product_list{
    width: 100%;
    margin-bottom: 60px;
}

.product_list ul{
    width: 100%;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
}

.product_list li{
    
    float: left;
    width: 32%;

    margin-right: 2%;
    margin-bottom: 30px;

    padding: 15px;
    box-sizing: border-box;

    border: 1px solid #000;

}

.product_list li:nth-child(3n){
    margin-right: 0%;

}

.product_list li .pl_img{
    width: 100%;
    margin-bottom: 10px;
}


.product_list li dt{

    text-align: center;
    font-size: 25px;
    color: #2c4cb2;

    margin-bottom: 10px;

}


.product_list li dd{
    font-size: 20px;
    margin-bottom: 10px;
}


.product_cont01{
    width: 100%;
    max-width: 1200px;
    margin: 0px auto;

    font-size: 20px;
    line-height: 160%;

    margin-bottom: 60px;
}




/* 納品までの流れ---------------------------------------------- */

.wf_cont01{
    width: 100%;
    max-width: 1100px;

    border: 2px solid #b43f1b;

    text-align: center;
    font-size: 20px;

    padding: 30px;
    box-sizing: border-box;

    margin: 0px auto 40px;
    border-radius: 15px;
}



.wf_cont02{
    padding:0px 50px;
    width: 100%;
    margin: 0px auto 60px;
    box-sizing: border-box;
}


.flow {
    padding-left: 170px;
    position: relative;
}
.flow::before {
    content: "";
    width: 15px;
    height: 100%;
    background: #c3c3c3;
    margin-left: -8px;
    display: block;
    position: absolute;
    top: 0;
    left: 170px;
}
.flow > li {
    position: relative;
    padding-top: 16px;
}
.flow > li:not(:last-child) {
    margin-bottom: 4vh;
}
.flow > li .icon {
    font-size: 20px;
    color: #fff;
    background: rgb(26,214,246);
    background: -moz-linear-gradient(left, rgba(26,214,246,1) 0%, rgba(147,212,152,1) 100%);
    background: -webkit-linear-gradient(left, rgba(26,214,246,1) 0%,rgba(147,212,152,1) 100%);
    background: linear-gradient(to right, rgba(26,214,246,1) 0%,rgba(147,212,152,1) 100%);
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#6b90db', endColorstr='#66d5e9',GradientType=1 );
    padding: 7px 35px;
    display: block;
    position: absolute;
    top: 10px;
    left: -170px;
    z-index: 100;
}
.flow > li .icon::after {
    content: "";
    border-style: solid;
    border-width: 7px 0 7px 10px;
    border-color: transparent transparent transparent #93d498;
    position: absolute;
    top: 50%;
    left: 100%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
}
.flow > li div {
    padding-left: 130px;
    position: relative;

    font-size: 18px;
    font-weight: 500;

    height: auto;
    height: 56px;
}
.flow > li div::before,
.flow > li div::after {
    content: "";
    display: block;
    position: absolute;
    top: 14px;
}
.flow > li div::before {
    width: 8px;
    height: 8px;
    margin-top: -3px;
    background: #19d6f6;
    border-radius: 50%;
    left: -4px;
}
.flow > li div::after {
    width: 100px;
    border-bottom: 1px dotted #999;
    position: absolute;
    left: 15px;
}


/* 施工事例---------------------------------------------- */

.cc_img_list{
    width: 100%;
    margin-bottom: 30px;
}

.cc_img_list li{
    float: left;
    width: 48.5%;

    margin-right: 3%;
    margin-bottom: 30px;
}

.cc_img_list li:nth-child(2n){
    margin-right: 0%;
}


/* 会社情報---------------------------------------------- */

.cp_msg01{
    width: 100%;

    font-size: 20px;
    line-height: 160%;
    margin-bottom: 40px;
}


.cp_msg02{
    width: 100%;

    margin-bottom: 80px;
}


.cp_msg02 dt{
    position: relative;
    font-size: 20px;
    font-weight: 600;
    color: #b5421e;
    padding: 35px 0px 25px 35px;

    margin-bottom: 10px;
}

.cp_msg02 dt::before{
    position: absolute;
    top: 0;
    left: 0;

    width: 80px;
    height: 80px;

    content:'';

    background-color: #f6e7c6;

    border-radius: 50%;

    z-index: -1;
}



.cp_msg02 dd{
    font-size: 20px;

    margin-bottom: 40px;
}





.cp_cont{
    margin-bottom: 80px;
}

.cp_cont dl{
margin-bottom: 30px;
}

.cp_cont dl dt{
font-size: 1.8rem;
line-height: 160%;

float: left;
clear: both;


letter-spacing: 0.03em;

}

.cp_cont dl dt span{

    width: auto;
    min-width: 100px;
    height: auto;
    font-size: 13px;
    line-height: 120%;
    color: #FFFFFF;
    text-align: center;
    display:inline-block;
    margin-left: 15px;
    padding: 4px 10px 5px 10px;
    box-sizing: border-box;
       
}


.cp_cont dl dd{
font-size: 1.8rem;
line-height: 160%;
margin: 0 0 15px 0;
padding-left: 130px;
padding-bottom: 15px;


border-bottom: 1px dotted #999999;


}


.cp_cont dl dd a{
    color: #000000;
    text-decoration: none;
}

.cp_cont dl dd a:hover{
    color: #000000;
    text-decoration:underline;
}


.cp_map{
    width: 100%;
}

.cp_map p{
    text-align: left;
    font-size: 20px;
    line-height: 160%;
    margin-bottom: 10px;
}


.cp_map iframe{
    width: 100%;
}

/* お問い合わせ---------------------------------------------- */

.contact_txt01{
    font-size: 23px;
    line-height: 160%;
    font-weight: 600;
    text-align: center;
    margin-bottom: 40px;

}

.contact_txt02{
    width: 100%;
    max-width: 760px;

    font-size: 35px;
    line-height: 160%;
    font-weight: 600;
    text-align: center;

    padding: 25px;
    box-sizing: border-box;

    border: 5px solid #b43f1b;

    margin: 0px auto 80px;
    
}


#contact-f{
	width:100%;
	height:auto;
	margin-bottom:60px;

}

#contact-f table{
	width:100%;
	height:auto;
	border-top:1px solid #cccccc;
}

#contact-f th,td{
	padding:15px;
}

#contact-f th{
	font-size:16px;
	border-collapse:collapse;

	border-bottom:1px solid #cccccc;
	text-align:left;
	font-weight:bold;
	color:#333;
	width:28%;	

	background:url(../img/contact/bg.png) repeat;
}

#contact-f td{
	font-size:16px;
	border-collapse:collapse;
	text-align:left;
	border-bottom:1px solid #cccccc;


	background:url(../img/contact/bg.png) repeat;
}


#contact-f span{
	color:#F00;
	font-size:12px;

}

.with-form1{
	width:90%;
	margin-right:5px;
	padding:5px;
	border:1px solid #CCC;

	filter:alpha(opacity=70); /* IE*/
	-moz-opacity: 0.7; /* Firefox*/
	opacity: 0.7; /* SafariやOpera*/
}

.with-form3{
	width:300px;
    height: 35px !important;

	padding:5px;
	border:1px solid #CCC;
	padding:5px;
}



.margin-r1{
	margin-right:5px;
}

.margin-r2{
	margin-right:15px;
}


.f_txt01{
    text-align: center;
    margin-bottom: 12px;
    font-size: 15px;
    line-height: 120%;
}

.f_txt01 a{
    color: #000000;
    text-decoration: none;
}

.f_txt01 a:hover{
    color: #000000;
    text-decoration:underline;
}


#form-center{
	margin-left:0 !important;
	margin-top:20px;
	text-align:center;
}

input:focus {
    border:solid 1px #EEA34A;
}

textarea:focus {
    border:solid 1px #EEA34A;
}




input.submit_button {
	width:150px;
	height:auto;
	padding:15px 0;
    font-size: 1.2em;
    background-color:#697489;
    color:#FFF;
	font-weight:bold;
    border-style: none;
	text-align:center;
	font-size:16px;

    /*角丸*/
	-webkit-border-radius: 3px;     /* for Safari and Chrome */
	moz-border-radius: 3px;    /* for Firefox */
	-o-border-radius: 3px;  /* when Opera Presto 2.3 or later is released */
	-khtml-border-radius:3px;   /* Linux browsers */
	border-radius: 3px;     /* CSS3 */
     behavior: url(css/border-radius.htc); /* IE用 */
    /*角丸*/
	
}

input.submit_button:hover {
	opacity: 0.7;
	filter: Alpha(opacity=70); 
}






#contact-f select {
    -webkit-appearance: button;
    -moz-appearance: button;
    appearance: button;
    text-indent: 0.5em;
    background:#FAFAFA;
    height: 20px;

    font-size: 13px;
    vertical-align: middle;
    border:1px solid #CCC;
}




#contact-f input[type=radio],
#contact-f input[type=checkbox] {
    display: inline-block;
    margin-right: 6px;
}
#contact-f input[type=radio] + label,
#contact-f input[type=checkbox] + label {
    position: relative;
     
    display: inline-block;
    margin-right: 5px;
     
    font-size: 14px;
    line-height: 30px;
     
    cursor: pointer;
}
 
@media (min-width: 1px) {
#contact-f input[type=radio],
#contact-f input[type=checkbox] {
        display: none;
        margin: 0;
    }
#contact-f input[type=radio] + label,
#contact-f input[type=checkbox] + label {
        padding: 0 0 0 24px;
    }
#contact-f input[type=radio] + label::before,
#contact-f input[type=checkbox] + label::before {
        content: "";
        position: absolute;
        top: 50%;
        left: 0;
         
        -moz-box-sizing: border-box;
        box-sizing: border-box;
        display: block;
        width: 18px;
        height: 18px;
        margin-top: -9px;
         
        background: #FFF;
    }
#contact-f input[type=radio] + label::before {
        border: 2px solid #ccc;
        border-radius: 30px;
    }
#contact-f input[type=checkbox] + label::before {
        border: 2px solid #ccc;
    }
#contact-f input[type=radio]:checked + label::after,
#contact-f input[type=checkbox]:checked + label::after {
        content: "";
        position: absolute;
        top: 50%;
         
        -moz-box-sizing: border-box;
        box-sizing: border-box;
        display: block;
    }
#contact-f input[type=radio]:checked + label::after {
        left: 5px;
         
        width: 8px;
        height: 8px;
        margin-top: -4px;
         
        background:#06C;
        border-radius: 8px;
    }
#contact-f input[type=checkbox]:checked + label::after {
        left: 3px;
         
        width: 16px;
        height: 8px;
        margin-top: -8px;
         
        border-left: 3px solid #E71063;
        border-bottom: 3px solid #E71063;
         
        -webkit-transform: rotate(-45deg);
        -ms-transform: rotate(-45deg);
        transform: rotate(-45deg);
    }
}


/* 個人情報保護方針---------------------------------------------- */


.privacy{
}


.privacy dt {
    font-size:20px;
    line-height: 160%;

    margin-bottom: 8px;

    font-family: noto-sans,sans-serif;
    font-weight: 700;
    font-style: normal;
}


.privacy dd {
    font-size:15px;
    line-height: 150%;
    margin-bottom: 25px;

    font-family: noto-sans,sans-serif;
    font-weight: 500;
    font-style: normal;
}

/* よくある質問---------------------------------------------- */

.faq_cont{
    width: 100%;
    max-width: 1100px;

    margin: 0px auto;


}

.faq_cont dt{
    position: relative;
    width: 100%;

    padding: 25px 10px 20px 70px;
    box-sizing: border-box;

    font-size: 20px;
    line-height: 100%;
    border-bottom: 1px solid #d7d6d6;

    margin-bottom: 15px;
    
}

.faq_cont dt::before{
    position: absolute;
    top: 0px;
    left: 0px;

    text-align: center;
    padding-top: 12px;
    box-sizing: border-box;

    width: 55px;
    height: 55px;

    content: 'Q';

    font-size: 35px;
    color: #fff;

    background-color: #2c4cb2;
    border-radius: 50%;
}



.faq_cont dd{

    background-color: #ebf0f4;

    font-size: 20px;
    padding: 20px 30px;
    box-sizing: border-box;
    margin-bottom: 40px;

    border-radius: 5px;
    
}


}