

/* CSS Document */

.ab1 {
  position: relative;
  padding: 1rem;
  text-align: center;
  font-size:25px;
  margin-bottom:30px;
}

.ab1:before {
  position: absolute;
  bottom: -10px;
  left: calc(50% - 30px);
  width: 60px;
  height: 5px;
  content: '';
  border-radius: 3px;
  background: #000;
}

.ab2 {
  padding: 0.5rem 2rem;
  margin-bottom:20px;
  border-bottom: 3px solid #000;
  background: #f4f4f4;
  font-size:20px;
  font-weight:bold;
}


*, *:before, *:after {
	box-sizing: border-box;
}
.col_3{
	width: 100%;
	display: flex;
	display: -ms-flexbox; /* IE10 */
	flex-wrap: wrap;
	-ms-flex-wrap: wrap; /* IE10 */
}
.col_3 > div{
	width: 30%;
	padding: 10px;
}

.col_3 > div img{
	width:100%;
	padding: 10px;
}
@media screen and (max-width: 960px) {
	.col_3 > div{
		width: 50%;
	}
}
@media screen and (max-width: 480px) {
	.col_3 > div{
		width: 100%;
	}
}


.col_2{
	width: 100%;
	display: flex;
	display: -ms-flexbox; /* IE10 */
	flex-wrap: wrap;
	-ms-flex-wrap: wrap; /* IE10 */
}
.col_2 > div{
	width: 48%;
	padding: 10px;
}

.col_2 > div img{
	width:100%;
	padding: 10px;
}
@media screen and (max-width: 960px) {
	.col_2 > div{
		width: 100%;
	}
}



.com1 { margin-top:15px;}
.com2 { margin-top:30px;font-size:1.3em;margin-bottom:5px;}
.com3 {background:#fff;width:100%;float:left;}

.voi1-left {width:60%;float:left;margin-top:20px;padding-right:30px;box-sizing:border-box;font-size:1.4em;line-height:180%;padding-top:20px;}
.voi1-left  img {width:100%;}
.voi1-right {width:40%;float:left;font-size:1.4em;line-height:180%;padding-top:20px;}

.img_rep { width:60%;}

.voi2-left {width:50%;float:left;margin-top:20px;padding-right:10px;box-sizing:border-box;font-size:1.4em;line-height:180%;padding-top:20px;}
.voi2-left  img {width:100%;}
.voi2-right {width:50%;float:left;font-size:1.4em;line-height:180%;padding-top:20px;}
.voi2-right img {width:98%;}


.mida2 {
  position: relative;
  padding: 1em 1em;
  background-color: #f0fed5;
  border-radius: 6px;
  margin-top: 20px;
  font-size: 18px;
  color:#333;
  font-weight:bold;
}
.mida2::after {
  position: absolute;
  top: 100%;
  left: 30px;
  content: '';
  width: 0;
  height: 0;
  border: 10px solid transparent;
  border-top: 15px solid #f0fed5;
  color:#333;
}


.box2 {
    padding: 0.5em 1em;
    margin: 0em 0;
   
    color: #333;/*文字色*/
    background: #FFF;
    border: solid 3px #fdc693;/*線*/
    border-radius: 10px;/*角の丸み*/
}
.box2 p {
    margin: 0; 
    padding: 0;
}


.box26 {
    position: relative;
    margin: 2em;
    padding: 0.5em 1em;
    border: solid 2px #8ba262;
    border-radius: 8px;
}
.box26 .box-title {
    position: absolute;
    display: inline-block;
    top: -13px;
    left: 10px;
    padding: 0 9px;
    line-height: 1;
    font-size: 17px;
    background: #FFF;
    color: #2e3b0f;
    font-weight: bold;
    
}
.box26 p {
    margin: 0; 
    padding: 0;
    margin-top:20px;
    
}

.box16{
    padding: 1em;
    margin: 2em;
    background: -webkit-repeating-linear-gradient(-45deg, #ebf9c7, #ebf9c7 3px,#e9f4ff 3px, #e9f4ff 7px);
    background: repeating-linear-gradient(-45deg, #ebf9c7, #ebf9c7 3px,#e9f4ff 3px, #e9f4ff 7px);
}
.box16 p {
    margin: 0; 
    padding: 0;
}




.insta_btn {
  display: inline-block;
  text-align: center;/*中央揃え*/
  color: #ed7a71;/*文字色*/
  font-size: 15px;/*文字サイズ*/
  text-decoration: none;/*下線消す*/
  padding:20px;
}

.insta_btn:hover {/*ホバー時*/
  color:#668ad8;/*文字色*/
  transition: .5s;/*ゆっくり変化*/
}

.insta_btn .insta{/*アイコンの背景*/
  position: relative;/*相対配置*/
  display: inline-block;
  width: 50px;/*幅*/
  height: 50px;/*高さ*/
  vertical-align: middle;/*垂直中央に*/
  background: -webkit-linear-gradient(135deg, #427eff 0%, #f13f79 70%) no-repeat;
  background: linear-gradient(135deg, #427eff 0%, #f13f79 70%) no-repeat;/*グラデーション@*/
  overflow: hidden;/*はみ出た部分を隠す*/
  border-radius: 13px;/*角丸に*/

}

.insta_btn .insta:before{/*グラデーションを重ねるため*/
  content: '';
  position: absolute;/*絶対配置*/
  top: 23px;/*ずらす*/
  left: -18px;/*ずらす*/
  width: 60px;/*グラデーションカバーの幅*/
  height: 60px;/*グラデーションカバーの高さ*/
  background: -webkit-radial-gradient(#ffdb2c 10%, rgba(255, 105, 34, 0.65) 55%, rgba(255, 88, 96, 0) 70%);
  background: radial-gradient(#ffdb2c 10%, rgba(255, 105, 34, 0.65) 55%, rgba(255, 88, 96, 0) 70%);/*グラデーションA*/
}

.insta_btn .fa-instagram {/*アイコン*/
  color: #FFF;/*白に*/
  position: relative;/*z-indexを使うため*/
  z-index: 2;/*グラデーションより前に*/
  font-size: 35px;/*アイコンサイズ*/
  line-height: 50px;/*高さと合わせる*/
}

.tdll {width:19%;}
.tbb1 tr td {border-bottom:1px dotted #ccc;line-height:260%;}
 @media screen and (max-width: 640px) {
	 .voi1-left, .voi1-right {width:100%;padding:0;}
.com1 img {width:100%;}


 }


.cont2-txt {
	font-size: 1.8em;
	float: left;
	width: 100%;
	line-height: 180%;
	padding: 5%;
	box-sizing: border-box;
	font-family: "Kosugi Maru", sans-serif;
	
}



.voi11-left {width:35%;float:left;margin-left:10px;margin-left:20px;box-sizing:border-box;font-size:1.4em;line-height:180%;padding-top:20px;}
.voi11-left  img {width:100%;}
.voi11-right {width:60%;float:left;font-size:1.6em;line-height:180%;padding-top:20px;margin-left:20px;}
.voi11-right  img {width:100%;}


.voi12-left {width:48%;float:left;margin-left:10px;box-sizing:border-box;font-size:1.4em;line-height:180%;padding-top:20px;}
.voi12-left  img {width:100%;}
.voi12-right {width:48%;float:left;font-size:1.6em;line-height:180%;padding-top:20px;margin-left:20px;}
.voi12-right  img {width:100%;}



@media screen and (max-width: 740px) {

.voi11-left {width:100%;margin: 0px;}
.voi11-left  img {width:100%;}
.voi11-right {width:100%;margin: 0px;padding: 5%;}
.voi11-right  img {width:100%;}


.voi12-left {width:100%;}
.voi12-left  img {width:100%;}
.voi12-right {width:100%;}
.voi12-right  img {width:100%;}

.img_rep { width:100%;}

}






*,
*:before,
*:after {
  -webkit-box-sizing: inherit;
  box-sizing: inherit;
}


.btn,
a.btn,
button.btn {
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1.5;
  position: relative;
  display: inline-block;
  padding: 1rem 4rem;
  cursor: pointer;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  text-align: center;
  vertical-align: middle;
  text-decoration: none;
  letter-spacing: 0.1em;
  color: #212529;
  border-radius: 0.5rem;
}

a.btn-3d-circle {
  display: block;

  width: 100px;
  height: 100px;
  margin: 0 auto;
  padding: 0;

  border-radius: 50%;
}

.btn-3d-circle-content {
  display: block;
  line-height: 100px;
font-size: 30px;
  width: 100px;
  height: 100px;

  -webkit-transition: all 0.6s;

  transition: all 0.6s;

  border-radius: 50%;
  background: #f2f5f6;
  background: -webkit-gradient(
    linear,
    left top,
    left bottom,
    from(#f2f5f6),
    color-stop(37%, #e3eaed),
    to(#c8d7dc)
  );
  background: -webkit-linear-gradient(
    top,
    #f2f5f6 0%,
    #e3eaed 37%,
    #c8d7dc 100%
  );
  background: linear-gradient(to bottom, #f2f5f6 0%, #e3eaed 37%, #c8d7dc 100%);

  -webkit-transform-style: preserve-3d;

  transform-style: preserve-3d;
  -webkit-perspective: 150px;
  perspective: 150px;
}

.btn-3d-circle:hover .btn-3d-circle-content {
  -webkit-transform: rotateY(0.5turn) rotateX(-0.03turn);
  transform: rotateY(0.5turn) rotateX(-0.03turn);
}

.btn-3d-circle:hover .btn-3d-circle-front {
  opacity: 0;
}

.btn-3d-circle:hover .btn-3d-circle-back {
  top: calc(50% - 2rem);
  left: calc(50% - 1.2rem);

  opacity: 1;
}

.btn-3d-circle-back {
  font-size: 2.5rem;

  position: absolute;
  top: 50%;
  left: 50%;

  -webkit-transition: all 0.3s;

  transition: all 0.3s;
  letter-spacing: 0;

  opacity: 0;
}
