/* ---------------------------------------
             追加
------------------------------------------ */
html {
            scroll-behavior: smooth;
        }
/* -----非表示------ */
.hihyouji{
display:none;
}

/* ---------　dot line ------------------- */
.dotblue {
   border-bottom: 1px dotted blue;
   margin: 0 20 px;
}
.dotred {
   border-bottom: 1px dotted red;
   margin: 0 20 px;
}
.dotgreen {
   border-bottom: 1px dotted green;
   margin: 0 20 px;
}
.dotgray {
   border-bottom: 1px dotted #888;
   margin: 0 20 px;
}
.dotorange {
   border-bottom: 1px dotted orange;
   margin: 0 20 px;
}

/* ------------  submit botton color ----- */
.btn-orange {
    padding: 15px 80px;
    /* float: inherit; */
    background: #FF4F02;
    float: left;
    color: #fff;
    font-weight: 600;
    text-transform: uppercase;
    border-radius: 0px;
    border: 0px;
    width: 512px;
    height: 50px;
    padding-top: 15px;
    -webkit-transition: .3s all;
    -o-transition: .3s all;
    transition: .3s all;
}


/* ----------------     ----------------- */
  .input-group button {
    width: 212px;
    height: 65px;
    border: none;
    border-radius: 0px;
    background: #7EC3BB;
    color: #fff;
    font-weight: 600;
    font-size: 16px;
    letter-spacing: 2px;
    text-transform: uppercase;
    -webkit-transition: .3s all;
    -o-transition: .3s all;
    transition: .3s all;
    }

/* --------  イメージ縦横比 4:3  ----------------- */
#imgbox{
    position: relative;
    width: 100%;
    height: 100%;
    padding: 75% 0 0;
}

#imgbox .img-inner{
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

/* --------- Q&A ----------- */
img.markqa {
float: left; 
margin: 0 20px 50px 0;
}

/*--- tooltip ----- */
div.tooltip {  
	    width: 600px;  
	    position: absolute;  
	    left: -9999px;  
	    background: #EEE;  
	    padding: 5px;  
	    border: 1px solid #AAA;  
	}  
	  
	div.tooltip p{  
	    color: #FFF;  
        line-height: 1.5;
	    background: #484848;  
	    padding: 8px 10px;  
	}  
/* --- Youtube スマホ対応   --- */

.video-container {
position: relative;
padding-bottom: 56.25%;
padding-top: 30px;
height: 0;
overflow: hidden;
}
.video-container iframe {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
}

/* ----  縦横比固定   -------- */
.boxHW {
    position: relative;
    width: 100%;
   /*  background: #444; */
}
.boxHW:before {
    content:"";
    display: block;
    padding-top: 120%; /* ここを変えると比率が変わる */
}
.innerHW {
    position: absolute;
    top: 0; left: 0;
    bottom: 0;
    right: 0;
/*    width: 100%;
    height: 100%; */
}

/*-------------- pdf -------------------- */
a[href$=".pdf"]:after {
    content:" ";
    display: inline-block;
    width: 24px;
    height: 24px;
    background: url("../img/share/Adobe_PDF_file_icon_24x24.png") no-repeat;
}

/* ------------------ *?
.white a{
padding: 5px;0 0 0;
color: #fff;
}
.contentA {
   line-height: 1.4em;
}
/* ------------ block要素縦比率指定 ------------- */
.wrapper-img {
    position: relative;
    width: 100%;
}
.wrapper-img:before {
    content:"";
    display: block;
    padding-top: 75%; /* 高さを幅の75%に固定 */
}
.content-img {
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
}
.content-img img {
  width: 100%;
  object-fit: cover;
}

/* ----------------- その他 ---------------- */

.hantoumei {
   background-color: rgba(0,0,0,0.5);
　 padding: 20px;
}
/* --- Youtube スマホ対応   --- */

.video-container {
position: relative;
padding-bottom: 56.25%;
padding-top: 30px;
height: 0;
overflow: hidden;
}
.video-container iframe {
position: absolute;
top: 0;
left: 0;
width: 100% !important;
height: 100% !important;
}

/* Youtube スマホ対応２　*/
.youtube2 {
  position: relative;
  width: 100%;
  padding-top: 56.25%;
}
.youtube2 iframe {
  position: absolute;
  top: 0;
  right: 0;
  width: 100% !important;
  height: 100% !important;
}
/* MAP */
iframe.map {
    width: 100%;
/*    height: 600px; */
}
/* -----------上部を開ける-------------- */
#gaiyou,#map {
   margin-top:-90px;
  padding-top:90px;
} 
/* -----------Q & A icon-------------- */
.question-icon {
    font-family: HiraginoSans-W4, sans-serif;
    font-style: normal;
    display: inline-block;
    width: 32px;
    height: 32px;

    color: #fff;
    border-radius: 100%;
    position: relative;
    margin-right: 15px;
    font-weight: normal;
    font-size: 21px;
    text-align: center;
    line-height: 32px;

    background-image: initial;
    background-position-x: initial;
    background-position-y: initial;
    background-size: initial;
    background-repeat-x: initial;
    background-repeat-y: initial;
    background-attachment: initial;
    background-origin: initial;
    background-clip: initial;
    background-color: salmon;
}
.anser-icon {
    font-family: HiraginoSans-W4, sans-serif;
    font-style: normal;
    display: inline-block;
    width: 32px;
    height: 32px;

    color: #fff;
    border-radius: 100%;
    position: relative;
    margin-right: 15px;
    font-weight: normal;
    font-size: 21px;
    text-align: center;
    line-height: 32px;

    background-image: initial;
    background-position-x: initial;
    background-position-y: initial;
    background-size: initial;
    background-repeat-x: initial;
    background-repeat-y: initial;
    background-attachment: initial;
    background-origin: initial;
    background-clip: initial;
    background-color: blue;
}
/* -----------横並び------------ */
.box_left {
    color: #FFF;
    width:100px;
    height:100px;
    margin-left:10px;
    float:left;
    background-color:#F00;
}
.box_wrap {
    width:500px;
    height:auto;
    border:1px solid #000;
}
.clearfix:after {
  display: block;
  clear: both;
  content: "";
}
/* -------VIDEO-----------------  */
video {
  max-width: 100%;/* はみ出ないように */
}
/* p {margin: 0 0 5px;} */

/* --------------- 明朝 -------------　*/
.mincho p, .mincho h2 {
font-family: "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}
/*
.font-mincho, .alert {
font-family: "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
} */
.font-mincho {
font-family: "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}
.topcatalog a{
   color: #990000;
   font-size: 130%;
}

/* ------ Titlebar ------ */
.bar01 {
   padding: 10px 15px;
}
/* ------ clear ---------- */
.clear {
   clear: both;
}
/* --------------- table ---------------- */
table.t01 {
  width: 100%;
  border-spacing: 0;
}

table.t01 th{
  border-bottom: solid 2px #fb5144;
  padding: 10px 0;
}

table.t01 td{
  border-bottom: solid 2px #ddd;
  text-align: leftr;
  padding: 10px 0;
}
/* ------------- TMP -------------- */
.tmp {
 background-color: rgba(105,105,105,0.5);
}
/* ==================================================================================== */
/* ----------両先端を尖らせた見出し------- */
.midashi1 h1 {
  position: relative;
  padding: 5px 26px 5px 42px;
  background: #fff0d9;
  font-size: 18px;
  color: #2d2d2d;
  margin-left: -33px;
  line-height: 1.3;
  border-bottom: solid 3px orange;
  z-index:-2;
}

.midashi1 h1:before {
  position: absolute;
  content: '';
  left: -2px;
  top: -2px;
  width: 0;
  height: 0;
  border: none;
  border-left: solid 40px white;
  border-bottom: solid 79px transparent;
  z-index: -1;
}

.midashi1 h1:after {
  position: absolute;
  content: '';
  right: -3px;
  top: -7px;
  width: 0;
  height: 0;
  border: none;
  border-left: solid 40px transparent;
  border-bottom: solid 79px white;
  z-index: -1;
}
/* ------途中で色の変わる下線------------- */
.midashi2 h1 {
  font-size: 130%; 
  border-bottom: solid 3px skyblue;
  position: relative;
}

.midashi2 h1:after {
  position: absolute;
  content: " ";
  display: block;
  border-bottom: solid 3px #ffc778;
  bottom: -3px;
  width: 30%;
}
/* ---------タグ風------------ */
.midashi3 h1 {
  font-size: 130%; 
  color: #505050;/*文字色*/
  padding: 0.1em 1em 0.1em 0.1em/*文字周りの余白 0.5em; */
  display: inline-block;/*おまじない*/
  line-height: 1.3;/*行高*/
  background: #dbebf8;/*背景色*/
  vertical-align: middle;
  border-radius: 25px 0px 0px 25px;/*左側の角を丸く  25px 0px 0px 25px; */
}

.midashi3 h1:before {
  content: '●';
  color: white;
  margin-right: 8px;
}
/* --------------------------------- 
   背景・影を入れたデザイン
--------------------------------- */
.midashi4 h1{
  padding: 1rem 1rem;
  color: #fff;
  background: #094;
  font-size: 130%; 
  -webkit-box-shadow: 5px 5px 0 #007032;
  box-shadow: 5px 5px 0 #007032;
}
/* -------------------------------
シンボルを追加した見出し
<div class="midashi5">
<h1><span>02</span>CSS見出し</h1>
</div>
---------------------------------- */
.midashi5 h1 {
  position: relative;
  overflow: hidden;
  padding: 1.5rem 2rem 1.5rem 130px;
  border: 2px solid #000;
}

.midashi5 h1:before {
  position: absolute;
  top: -150%;
  left: -100px;
  width: 200px;
  height: 300%;
  content: '';
  -webkit-transform: rotate(25deg);
  transform: rotate(25deg);
  background: #000;
}

.midashi5 h1 span {
  font-size: 40px;  
  font-size: 4rem; 
  position: absolute;
  z-index: 1;
  top: 0;
  left: 0;
  display: block;
  padding-top: 3px;
  padding-left: 16px;
  color: #fff;
}
/* ------------------------------- */
.midashi6 h1 {
  position: relative;
  overflow: hidden;
  padding: 1.5rem 2rem 1.5rem 130px;
  border-top: 3px solid #000;
}

.midashi6 h1:before {
  position: absolute;
  top: -150%;
  left: -100px;
  width: 200px;
  height: 300%;
  content: '';
  -webkit-transform: rotate(25deg);
  transform: rotate(25deg);
  background: #000;
}

.midashi6 h1 span {
  font-size: 40px;  
  font-size: 4rem; 

  position: absolute;
  z-index: 1;
  top: 0;
  left: 0;
  display: block;
  padding-top: 3px;
  padding-left: 16px;
  color: #fff;
}
/* ---------------------------------- */
.midashi7 h1 {
  position: relative;
  overflow: hidden;
  padding: 1.5rem 2rem 1.5rem 130px;
  word-break: break-all;
  border-top: 3px solid #000;
  border-radius: 12px 0 0 0;
}

.midashi7 h1 span {
  font-size: 40px;  
  font-size: 4rem; 
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  padding: 3px 20px;
  color: #fff;
  border-radius: 10px 0 20px 10px;
  background: #000;
}
/* -------------サブコピーを入れた見出し---------------- */
.midashi8 h1 {
  position: relative;
  padding: 1rem 2rem;
  text-align: center;
  color: #0075a9;
  border-radius: 0 10px 10px 10px;
  background: #d8ecf5;
}

.midashi8 h1:before {
/*  font-family: 'Font Awesome 5 Free'; */
  font-size: 15px;
  font-size: 1.5rem;
  position: absolute;
  top: -24px;
  left: 0;
  height: 24px;
  padding: 0 1em;
  content: '\POINT';
  color: #fff;
  border-radius: 10px 10px 0 0;
  background: #0075a9;
}
/* --------左ポイントデザイン---------- */
.midashi9 h1 {
  position: relative;
  padding-left: 5em;
}

.midashi9 h1 span {
  position: absolute;
  top: 0;
  left: 0;
  padding: 0 1.5rem;
  color: #fff;
  border-radius: 10px;
  background: #0075a9;
}

.midashi9 h span i {
  margin-right: 1rem;
}

.midashi9 h1 span:after {
  position: absolute;
  top: calc(50% - 7px);
  right: -11px;
  width: 0;
  height: 0;
  content: '';
  border-width: 7px 0 7px 12px;
  border-style: solid;
  border-color: transparent transparent transparent #0075a9;
}

/* -----シンボルを中央に入れたデザイン-------------*/
.midashi10 h1 {
  position: relative;
  padding: 1.5rem;
  text-align: center;
  border: 2px solid #000;
  background: #fff;
}

.midashi10 h1:before,
.midashi10 h1:after {
  position: absolute;
  content: '';
}

.midashi10 h1:before {
  top: -40px;
  left: calc(50% - 40px);
  width: 80px;
  height: 80px;
  border: 2px solid #000;
  border-radius: 50%;
  background: #fff;
}

.midashi10 h1:after {
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: #fff;
}

.midashi10 h1 i {
  font-size: 30px;
  font-size: 3rem;
  line-height: 60px;
  position: absolute;
  z-index: 1;
  top: -40px;
  left: calc(50% - 40px);
  width: 80px;
  height: 60px;
  text-align: center;
}

.midashi10 h1 span {
  position: relative;
  z-index: 1;
}
/* -------------タイトルや見出しを2色でアンダーライン（下線）を装飾した見出し
「display: inline-block;」を削除すれば横幅いっぱいの見出しが実装
----------------------- */
.midashi11 {
    position: relative;
    display: inline-block; /* 削除すれば横幅いっぱいの見出しが実装 */
    font-weight: bold;
    border-bottom: solid 3px #d5d5d5;
    margin: 0 auto 50px;
    padding: 5px 0 5px 0;
}
.midashi11::after {
  position: absolute;
  content: " ";
  display: block;
  border-bottom: solid 3px #77bcff;
  bottom: -3px;
  width: 30%;
}

/* -------------------------------------------------
 BOX
---------------------------------------------------- */
.box {
	margin: 2px;
	padding: 5px;
　　/* color: white; */
	background: #fff;
	/* font-size: 11px; */
	line-height: 1.4;
    border : solid 1px #7b0000;
	/* float: left; */
	-webkit-border-radius: 5px;
	-moz-border-radius: 5px;
	border-radius: 5px; 
}

.box dt{ padding: 0 10px;
}
.box img {
  display: block;
  width: 100%;
}
.boxgray {
	margin: 2px;
	padding: 5px;
	background: #e8e8e8;
	/* font-size: 11px; */
	line-height: 1.4;
    border : solid 1px #e8e8e8; /* Gray */
	/* float: left; */
	-webkit-border-radius: 5px;
	-moz-border-radius: 5px;
	border-radius: 5px; 
}

.boxg {
	margin: 2px;
	padding: 5px;
    color: #fff;
	background: #489b4c;
	/* font-size: 11px; */
	line-height: 1.4;
    border : solid 1px #007105;
	/* float: left; */
	-webkit-border-radius: 5px;
	-moz-border-radius: 5px;
	border-radius: 5px; 
}
.boxblue {
	margin: 2px;
	padding: 5px;
    color: #fff;
	background: #26a4fd;
	/* font-size: 11px; */
	line-height: 1.4;
    border : solid 1px #006ab5;
	/* float: left; */
	-webkit-border-radius: 5px;
	-moz-border-radius: 5px;
	border-radius: 5px; 
}
/* ------------------------------------------------ */
.box1 {
	margin: 10px 0px;
	padding: 5px;
	background: #fff;
	/* font-size: 11px; */
	line-height: 1.4;
    border : solid 1px #c30474;
	/* float: left; */
	-webkit-border-radius: 5px;
	-moz-border-radius: 5px;
	border-radius: 5px; 
}
.box1 img {
  display: block;
  width: 100%;
}
.box2 {
	margin: 10px 0px;
	padding: 5px;
	background: whiteSmoke;
	/* font-size: 11px; */
	line-height: 1.3;
    border : solid 1px #0196b1;
	/* float: left; */
	-webkit-border-radius: 5px;
	-moz-border-radius: 5px;
	border-radius: 5px; 
}
.box3 {
	margin: 2px;
	padding: 5px;
    color: #fff;
	background: #4f4f4f;
	/* font-size: 11px; */
	line-height: 1.4;
	/* float: left; */
	-webkit-border-radius: 5px;
	-moz-border-radius: 5px;
	border-radius: 5px; 
}
.box4 {
	margin: 2px;
	padding: 5px;
/*　　background: #d675ac;　*/
	background: #8dd4ec;
	/* font-size: 11px; */
	line-height: 1.4;
	/* float: left; */
	-webkit-border-radius: 5px;
	-moz-border-radius: 5px;
	border-radius: 5px; 
}
.box4 a{
color: #fff;
text-decoration:none;
}
.box5 {
	margin: 5px;
	padding: 10px;
	line-height: 1.4;
    border: 1px dotted #683d1d;
	-webkit-border-radius: 5px;
	-moz-border-radius: 5px;
	border-radius: 5px; 
}
/* ---------文字を丸ボックスで囲む----------------- */
.boxA {
    padding: 0.5em 1em;
    margin: 2em 0;
    font-weight: bold;
    color: #6091d3;/*文字色*/
    background: #FFF;
    border: solid 3px #6091d3;/*線*/
    border-radius: 10px;/*角の丸み*/
}
.boxA p {
    margin: 0; 
    padding: 0;
}
/* --------------枠の途中にタイトル
<div class="boxB">
    <span class="box-title">ここにタイトル</span>
    <p>ここに文章</p>
</div>
------------------- */
.boxB {
    position: relative;
    margin: 2em 0;
    padding: 0.5em 1em;
    border: solid 3px #95ccff;
    border-radius: 8px;
}
.boxB .box-title {
    position: absolute;
    display: inline-block;
    top: -13px;
    left: 10px;
    padding: 0 9px;
    line-height: 1;
    font-size: 19px;
    background: #FFF;
    color: #95ccff;
    font-weight: bold;
}
.boxB p {
    margin: 0; 
    padding: 0;
}
/* ---------文字の上下にだけ線----------------- */
.boxC {
    padding: 8px 19px;
    margin: 2em 0;
    color: #2c2c2f;
    background: #cde4ff;
    border-top: solid 5px #5989cf;
    border-bottom: solid 5px #5989cf;
}
.boxC p {
    margin: 0; 
    padding: 0;
}
/* ---------文字を破線丸ボックスで囲む----------------- */
.boxD {
    padding: 0.5em 1em;
    margin: 2em 0;
    background: #f0f7ff;
    border: dashed 2px #5b8bd0;/*点線*/
}
.boxD p {
    margin: 0; 
    padding: 0;
}
/* --------- 枠線ではなく影によりボックス領域が分かるように ----------------- */
.boxE {
    padding: 0.5em 1em;
    margin: 2em 0;
    color: #5d627b;
    background: white;
    border-top: solid 5px #5d627b;
    box-shadow: 0 3px 5px rgba(0, 0, 0, 0.22);
}
.boxE p {
    margin: 0; 
    padding: 0;
}
/* -------------左にだけ太線--------------- */
.boxF {
    padding: 0.5em 1em;
    margin: 2em 0;
    color: #232323;
    background: #fff8e8;
    border-left: solid 10px #ffc06e;
}
.boxF p {
    margin: 0; 
    padding: 0;
}
/* ---------------二重線の枠----------------- */
.boxG {
    padding: 0.5em 1em;
    margin: 2em 0;
    border: double 5px #4ec4d3;
}
.boxG p {
    margin: 0; 
    padding: 0;
}
/* -----------------左右二重線------------------ */
.boxH {
    padding: 0.5em 1em;
    margin: 2em 0;
    color: #474747;
    background: whitesmoke;/*背景色*/
    border-left: double 7px #4ec4d3;/*左線*/
    border-right: double 7px #4ec4d3;/*右線*/
}
.boxH p {
    margin: 0; 
    padding: 0;
}
/* ------------上にだけ太線---------------- */
.boxI {
    padding: 0.5em 1em;
    margin: 2em 0;
    color: #ff7d6e;
    background: #ffebe9;
    border-top: solid 10px #ff7d6e;
}
.boxI p {
    margin: 0; 
    padding: 0;
}
/* ----------------上にだけ太線 影をつけた場合----------------- */
.boxJ {
    padding: 0.5em 1em;
    margin: 2em 0;
    color: #00BCD4;
    background: #e4fcff;/*背景色*/
    border-top: solid 6px #1dc1d6;
    box-shadow: 0 3px 4px rgba(0, 0, 0, 0.32);/*影*/
}
.boxJ p {
    margin: 0; 
    padding: 0;
}
/* ------------ステッチを白に--------------- */
.boxK h1 {
  background: #dfefff;
  box-shadow: 0px 0px 0px 5px #dfefff;
  border: dashed 2px white;
  padding: 0.2em 0.5em;
}
/* ------------ステッチ 黒--------------- */
.boxL h1 {
  background: #dfefff;
  box-shadow: 0px 0px 0px 5px #dfefff;
  border: dashed 1px #96c2fe;
  padding: 0.2em 0.5em;
  color: #454545;
}
/* ----------布風 破線により布っぽさ・テープっぽさを表現 Blue------- */
.boxM{
    padding: 0.2em 0.5em;
    margin: 2em 0;
    background: #d6ebff;
    box-shadow: 0px 0px 0px 10px #d6ebff;
    border: dashed 2px white;
}
.boxM p {
    margin: 0; 
    padding: 0;
}
/* ----------布風 破線により布っぽさ・テープっぽさを表現 Pink------- */
.boxN {
    padding: 0.2em 0.5em;
    margin: 2em 0;
    color: #565656;
    background: #ffeaea;
    box-shadow: 0px 0px 0px 10px #ffeaea;
    border: dashed 2px #ffc3c3;
    border-radius: 8px;
}

.boxN p {
    margin: 0; 
    padding: 0;
}
.box-frame1 {
  font-weight: bold;
  padding: 0.5em 1em;
  border: 3px solid #4c9ac0;
  overflow: hidden;
  position: relative;
}


/*-------------------【タイトル付】枠始まりにタイトル--------------------
<div class="waku-title01">
    <span class="waku_box_title">ここにタイトルを入力</span>
    <p>ここに文字を入力</p>
</div>
-------------------------------------------------------------------------- */
.waku-title01 {
    position: relative;
    padding: 1em 1.5em;
    margin: 2em 0;
    border: solid 3px #c71585;/*線*/
    border-radius: 8px;/*角の丸み*/
    color: #000000;/*文字色*/
}
.waku-title01 .waku_box_title{
    position: absolute;
    display: inline-block;
    top: -13px;
    left: 10px;
    padding: 0 10px;
    line-height: 1;
    font-size: 1.3em;/*タイトル文字サイズ*/
    background: #ffffff;/*タイトル文字背景色*/
    color: #c71585;/*タイトル文字色*/
    font-weight: bold;
}
.waku-title01 p {
    margin: 0; 
    padding: 0;
    font-size: 120%;
}
/* --------------破線枠------------------------------- */
.waku-hasen1 {
    padding: 1em 1.5em;
    margin: 2em 0;
    background-color:#fff0f5;/*背景色 pink*/
    border: dashed 2px #773d50;/*線*/
    color:#000000;/*文字色*/
}
.waku-hasen1  p {
    margin: 0; 
    padding: 0;
}

.waku-hasen2 {
    padding: 1em 1.5em;
    margin: 2em 0;
    background-color:#ffffe0;/*背景色*/
    border: dotted 6px #ffa500;/*線*/
    color:#000000;/*文字色*/
}
.waku-hasen2 p {
    margin: 0; 
    padding: 0;
}

.waku-leftline1 {
    padding: 1em 1.5em;
    margin: 2em 0;
    background-color:#f6faee;/*背景色*/
    border-left: solid 10px #6b8e23;/*左ライン*/
    color:#000000;/*文字色*/
}
.waku-leftline1 p {
    margin: 0; 
    padding: 0;
}
/* ----------左上にアクセントのあるデザイン(□)----------------- */
.box-frame1 {
  font-weight: bold;
  padding: 0.5em 2em;
  border: 3px solid #4c9ac0;
  overflow: hidden;
  position: relative;
}
.box-frame1::before {
  content: '';
  position: absolute;
  left: 0;
  top: 0;
  border-width: 25px 25px 0 0;
  border-style: solid;
  border-color: #4c9ac0 #fff #4c9ac0;
}
/* ----------左上にアクセントのあるデザイン（角を丸く）----------------- */
.box-frame1r {
  font-weight: bold;
  padding: 0.5em 2em;
  border: 3px solid #4c9ac0;
  overflow: hidden;
  position: relative;
  border-radius: 10px;
}
.box-frame1r::before {
  content: '';
  position: absolute;
  left: 0;
  top: 0;
  border-width: 25px 25px 0 0;
  border-style: solid;
  border-color: #4c9ac0 #fff #4c9ac0;
}
/* -----------枠１ ラベル付き-------------------------
<div class="waku01">
    <span class="waku01-title">ここにタイトル</span>
    <p>ここに文章</p>
</div>
--- */
.waku01 {
    position: relative;
    margin: 2em 0;
    padding: 0.5em 2em;
    border: solid 3px #95ccff;
    border-radius: 8px;
}
.waku01 .waku01-title {
    position: absolute;
    display: inline-block;
    top: -13px;
    left: 10px;
    padding: 0 9px;
    line-height: 1;
    font-size: 19px;
    background: #FFF;
    color: #95ccff;
    font-weight: bold;
}
.waku01 p {
    margin: 0; 
    padding: 0;
}
/* --------------------- */
.waku02 {
    position: relative;
    margin: 2em 0;
    padding: 0.5em 2em;
    border: solid 3px #8a8f37;
    border-radius: 8px;
}
.waku02 .waku02-title {
    position: absolute;
    display: inline-block;
    top: -13px;
    left: 10px;
    padding: 0 9px;
    line-height: 1;
    font-size: 19px;
    background: #FFF;
    color: #8a8f37;
    font-weight: bold;
}
.waku02 p {
    margin: 0; 
    padding: 0;
}
/* ---------枠　斜線---------------------- */
.waku-syasen1 {
    padding: 1em 1.5em;
    margin: 2em 0;
   background: -webkit-repeating-linear-gradient(-45deg, #f4f9ff, #f4f9ff 3px, #eaf4ff 3px, #eaf4ff 6px);/*ストライプ*/
    background: repeating-linear-gradient(-45deg, #f4f9ff, #f4f9ff 3px, #eaf4ff 3px, #eaf4ff 6px);/*ストライプ*/
    color: #000000;/*文字色*/
}
.waku-syasen1 p {
    margin: 0; 
    padding: 0;
}

/* -------------背景色＋下線------------------ */
.kasen h1 {
  padding: 0.5em;/*文字周りの余白*/
  color: #010101;/*文字色*/
  background: #eaf3ff;/*背景色*/
  border-bottom: solid 3px #516ab6;/*下線*/
}
/* ----------セロハンテープでぺたりと張ったようなBOX---------- */
.tape-memo {
   width: 260px;/* 紙の横幅 100%にすると全幅表示に */
   padding: 15px;
   margin: 2em auto;
   background: #f7f092;/* 紙の色 */
   color: #000;/* 文字色 */
   box-shadow: 4px 4px 4px rgba(0,0,0,0.03);transform:rotate(2deg);
   word-break: break-all;
}
.tape-memo p {
    margin: 0; 
    padding: 0;
    font-size: 0.9em;
}
.tape-memo-tape {
    width: 50%;
    height: 35px;
    margin: -25px auto 0;
    background: #989898;
    transform: rotate(-3deg);
    opacity: 0.1;
}
.tape-memo-title {
    text-align: center;
    font-size: 1.3em!important;
    margin-top: 10px!important;
}
.tape-memo-subtitle {
    text-align: center;
    font-size: 0.7em!important;
    margin-bottom: 1em!important;
}
/*-----セロハンテープでぺたりと張ったようなBOX 色違い------ */
.tape-memo2{
   width: 260px;/* 紙の横幅 100%にすると全幅表示に */
   padding: 15px;
   margin: 2em auto;
   background: #fbc7f5;/* 紙の色 */
   color: #000;/* 文字色 */
   box-shadow: 4px 4px 4px rgba(0,0,0,0.03);transform:rotate(2deg);
   word-break: break-all;
}
.tape-memo2 p {
    margin: 0; 
    padding: 0;
    font-size: 0.9em;
}
.tape-memo2-tape {
    width: 50%;
    height: 35px;
    margin: -25px auto 0;
    background: rgba(251, 234, 144, 0.5);/* テープの色 */
    transform: rotate(-3deg);
    opacity: 0.9;
}
.tape-memo2-title {
    text-align: center;
    font-size: 1.3em!important;
    margin-top: 10px!important;
}
.tape-memo2-subtitle {
    text-align: center;
    font-size: 0.7em!important;
    margin-bottom: 1em!important;
}
 /* ====================================== */
/* -------------上を空ける---------- */
.t20 {
 margin-top: 20px;
}
.t30 {
 margin-top: 30px;
}
.t40 {
 margin-top: 40px;
}
.t50 {
 margin-top: 50px;
}
/* -------------下を空ける---------- */
.b20 {
 padding-bottom: 20px;
}
.b30 {
 padding-bottom: 30px;
}
.b40 {
 padding-bottom: 40px;
}
.b50 {
 padding-bottom: 50px;
}
/* -------------上下を空ける---------- */
.tb20 {
 margin: 20px 0 0 20px;
}
.tb30 {
 margin: 30px 0 0 30px;
}
.tb40 {
 margin: 40px 0 0 40px;
}
.tb50 {
 margin: 50px 0 0 50px;
}

/* -------------------上下線付きBUTTON----------------------- */
/* <a href="#" class="btn-horizontal-border">BUTTON</a> */

.btn-horizontal-border {
  position: relative;
  display: inline-block;
  font-weight: bold;
  padding: 12px 0 4px; /* FONTの大きさにより上下の線間隔調整　*/
  text-decoration: none;
  color: #67c5ff;
  transition: .4s;
}

.btn-horizontal-border:before {
  position: absolute;
  content: '';
  width: 100%;
  height: 4px;
  top:100%;
  left: 0;
  border-radius: 3px;
  background:#67c5ff;
  transition: .2s;
}

.btn-horizontal-border:after {
  position: absolute;
  content: '';
  width: 100%;
  height: 4px;
  top:0;
  left: 0;
  border-radius: 3px;
  background:#67c5ff;
  transition: .2s;
}

.btn-horizontal-border:hover:before {
  top: -webkit-calc(100% - 3px);
  top: calc(100% - 3px);
}

.btn-horizontal-border:hover:after {
  top: 3px;
}
/* ==================================== */
/* 縦横比調整　横 / 縦 
https://developer.mozilla.org/ja/docs/Web/CSS/aspect-ratio　*/
.aspect-ratio-block {
  aspect-ratio: 4 / 3;
}