@charset "UTF-8";
/* ================================================
reset
================================================ */
* {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

*::before, *::after {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

html {
  -webkit-text-size-adjust: 100%;
  -webkit-tap-highlight-color: transparent;
}

html::-webkit-scrollbar {
  width: 7px;
}

html::-webkit-scrollbar-thumb {
  background: #5b8d19;
}

body, h1, h2, h3, h4, h5, h6, p, dl, dt, dd, ol, ul, li {
  margin: 0;
  padding: 0;
  font-size: inherit;
}

header, nav, footer, section {
  display: block;
}

a {
  color: #5b8d19;
  text-decoration: none;
  -webkit-transition: .2s;
  transition: .2s;
}

@media screen and (max-width: 768px) {
  a {
    font-size: 13px;
  }
}
@media screen and (max-width: 768px) {
  .photo a {
    font-size: 14px;
  }
}

img {
  border: 0;
  width: 100%;
  max-width: 100%;
  height: auto;
  vertical-align: middle;
}

/* ================================================
rem
================================================ */
html {
  font-size: 625%;
}

/* @media (min-width: 751px) and (max-width: 1280px) {
  html {
    font-size: calc(100vw / 12.8);
  }
} */


@media (min-width: 751px) and (max-width: 1000px) {
  html {
    font-size: calc(100vw / 9.8);
  }
}




@media (max-width: 750px) {
  html {
    font-size: calc(100vw / 7.67);
  }
}

/* ================================================
text-shadow
================================================ */


/* ================================================
layout
================================================ */
body {
	height: 100%;
	line-height: 1.6;
	background: url(../sw/images/common/bg.jpg);
	background-attachment:fixed;
	background-size: cover;
	font-family: -apple-system,BlinkMacSystemFont,'Helvetica Neue','Segoe UI','Hiragino Kaku Gothic ProN','ヒラギノ角ゴ ProN W3','Meiryo UI',Meiryo,sans-serif;
	font-size: .18rem;
/*	font-feature-settings: 'palt';
	-webkit-font-feature-settings: 'palt';
	letter-spacing: .08em;文字詰め*/
}

@media (max-width: 750px) {
  body {
    font-size: .24rem;
  }
}

.wrapper {
  margin: 0 auto;
  position: relative;
  width: 100%;
  max-width: 1200px;
}

@media (min-width: 751px) {
  .wrapper {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
}

.contents {/*bodyの背景色*/
  margin: 0 auto;
  width: 100%;
  height: 100%;
  min-height: 100vh;
  color: #196e07;
  background: rgb(255,255,255);
  box-shadow: 0 0 5px rgb(0,0,0,40%);
}

@media (min-width: 751px) {
  .contents {
    margin: 0 0 0 auto;
    padding: .25rem/*.3rem*/ .5rem;
    width: calc(100% - 240px);
  }
}

@media (max-width: 750px) {
  .contents {
    padding: 1.4rem .3rem;
  }
}
/*
.contents p, .contents dl, .contents ul {
  text-shadow: #000 2px 0 2px, #000 -2px 0 2px, #000 0 -2px 2px, #000 0 2px 2px, #000 2px 2px 2px, #000 -2px 2px 2px, #000 2px -2px 2px, #000 -2px -2px 2px, #000 1px 2px 2px, #000 -1px 2px 2px, #000 1px -2px 2px, #000 -1px -2px 2px, #000 2px 1px 2px, #000 -2px 1px 2px, #000 2px -1px 2px, #000 -2px -1px 2px;
}
*/

@media (min-width: 750px) {
.pc-none{
  display: none;
}
}

.top-btn--area{
  display: flex;
  width: 100%;
}

.top-btn--area a{
  width: 33%;
  margin: 0 auto 20px;
}

.top-btn{
  border-radius: 15px;
}

@media (max-width: 750px) {
  .top-btn--area{
    display: block;
    width: 100%;
  }

  .top-btn--area a{
    width: 95%;
    margin: auto;
  }

  .top-btn{
    border-radius: 15px;
    margin-bottom: 20px;
  }
}

.slide {
    position: relative;
    width: 100%;
    overflow: hidden;
    margin-bottom: 40px;
}

.slideInner {
    list-style: none;
    margin: 0 0 40px 0;
    padding: 0;
}

.slideInner li img {
    width: 100%;
    margin-bottom: 5px;
}

.slideInner li span {
    font-size: 13px;
    padding-top: 10px;
}

.slideInner li {
    position: absolute;
    width: 100%;
    margin: 0;
    padding: 0;
    text-align: center;
    line-height: 1em;
}

.slidePrev {
    position: absolute;
    display: none;
    width: 45%;
    height: 50%;
    left: 0;
    cursor: pointer;
    z-index: 10;
}

.slideNext {
    position: absolute;
    display: none;
    width: 45%;
    height: 50%;
    right: 0;
    cursor: pointer;
    z-index: 10;
}

.controlNav {
    position: relative;
    float: left;
    left: 50%;
}

.controlNav span {
    position: relative;
    left: -50%;
    float: left;
    margin: 5px;
    -webkit-border-radius: 5px;
    -moz-border-radius: 5px;
    border-radius: 5px;
    width: 10px;
    height: 10px;
    overflow: hidden;
    background: #ddd;
    text-indent: -9999px;
    vertical-align: middle;
}

.controlNav span.current {
    background: #af0037;
}

.controlNav span:hover {
    background: #ccc;
    cursor: pointer;
}

.sidebar {/*shiyo*/
  -webkit-box-shadow: 0 0 0.1rem 0 rgba(0,0,0, 0.4);
          box-shadow: 0 0 0.1rem 0 rgba(0,0,0, 0.4);
  position: fixed;
  z-index: 50;
  width: 100%;
/*画像を使用  background: url(../sw/images/common/menu_bg.jpg);*/
  overflow-y: scroll;
  scrollbar-width: none;
  -ms-overflow-style: none;
/*	background: rgba(231,231,230);*/
    background: #ffffff;
    background-repeat: repeat;
}

.sidebar::-webkit-scrollbar {
  display: none;
}

@media (min-width: 751px) {
  .sidebar {
    width: 240px;
    height: 100%;
  }
}

.sidebar .qr {
  margin: 26px 0 0 0;
  color: #196e07;
  font-weight: bold;
  font-size: 12px;
  text-align: center;
}

@media (max-width: 750px) {
  .sidebar .qr {
    display: none;
  }
}

.sidebar .qr img {
  margin: 0 0 20px 0;
  width: 82px;
}

.outline {
  color: black;
  text-shadow:
    -1px -1px 0 #fff,
     1px -1px 0 #fff,
    -1px  1px 0 #fff,
     1px  1px 0 #fff;
}

.icon-new{
  display: inline-flex;
  height:15px;
  width: auto;
	margin:0 6px 4px;
}


/* ================================================
nav
================================================ */
nav {
  line-height: 1;
  text-align: center;
  letter-spacing: .02em;
}

@media (min-width: 751px) {
  nav {
    /*padding: 10px;*/
    border-top: .01rem solid #cdd186;
    border-bottom: .01rem solid #cdd186;
    display: block !important;
     font-size: .15rem;
  }
}

@media (max-width: 750px) {
  nav {
    padding: .1rem;
    display: none;
/*    background: #211D12;*/
    font-weight: bold;
    font-size: .3rem;
    max-height: 100vh;
    overflow: scroll;
  }
}


nav dl,nav ul{margin: 0 0 0 0;}


nav dt {
	color:#fff;
	cursor: pointer;
	-webkit-transition: .2s;
	transition: .2s;
	cursor:pointer;
	border-bottom:1px solid #196e07;
/*background: #1A0058;
background: -moz-linear-gradient(top,  #af924d 0%, #84713c 100%);
background: -webkit-linear-gradient(top,  #af924d 0%,#84713c 100%);
background: linear-gradient(to bottom,  #af924d 0%,#84713c 100%);
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#af924d', endColorstr='#84713c',GradientType=0 );*/
	background: linear-gradient(52deg, rgb( 91, 141, 25) 27%, rgb(153, 185, 42) 93%);
	background-repeat: repeat-x;
    font-family: "Helvetica Neue",Arial,"Hiragino Kaku Gothic ProN","Hiragino Sans",Meiryo,sans-serif;
  text-shadow: 0 0 2px #2a4800;

}

nav dt a {
  pointer-events: none;
	margin:0;
	color:#fff;
	text-decoration:none;
	display:block;
}



nav dt:hover {/*きいてないような*/
	opacity:0.65;
	/*color: #1221ff;*/
}




nav dd {
  display: none;
 background:#ffffbc;
}

nav dd a {
  color: #196e07;
}

nav dd a.current {/*navの現在p*/
   color: #196e07;
   font-weight: bold;
   background: #ffff69;
/*  background: url("../sw/images/common/nav_current.png") no-repeat center/contain;*/
}

@media (max-width: 750px) {
  nav dd a.current {
/*	  background: rgba(18,0,61, 0.4);*/
	  background: #ffff69;
    /*画像使用 background-image: url("../sw/images/common/nav_current_sp.png");*/
  }
}

nav dd a:hover {/*使用中*/
  color: #196e07;
  font-weight: bold;
  background: #f7ff69;
  /*
  text-shadow:
  #fff 2px 0 2px,
  #fff -2px 0 2px,
  #fff 0 -2px 2px,
  #fff 0 2px 2px,
  #fff 2px 2px 2px,
  #fff -2px 2px 2px,
  #fff 2px -2px 2px,
  #fff -2px -2px 2px,
  #fff 1px 2px 2px,
  #fff -1px 2px 2px,
  #fff 1px -2px 2px,
  #fff -1px -2px 2px,
  #fff 2px 1px 2px,
  #fff -2px 1px 2px,
  #fff 2px -1px 2px,
  #fff -2px -1px 2px;
  */
}

nav a {
  padding: 1em 0;
  display: block;
}

nav dd ul li{
	width: 100%;
	border-bottom: 1px #cdd186/*#f2e3c6*/ solid;
	margin:0 1em 0em 0;
}
nav dd ul li:last-child{
border-bottom: none;
}


/* ================================================
header
================================================ */
@media (max-width: 750px) {
  header {
    padding: 0 .8rem 0 .3rem;
    -webkit-box-shadow: 0 0 0.1rem 0 rgba(0, 0, 0, 0.7);
            box-shadow: 0 0 0.1rem 0 rgba(0, 0, 0, 0.7);
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    position: relative;
    height: .8rem;
  }
}

header a {
  line-height: 1.2;
  color: #5b8d19;
  font-family: "Helvetica Neue",Arial,"Hiragino Kaku Gothic ProN","Hiragino Sans",Meiryo,sans-serif;
  font-weight: bold;
}

header a:hover {
  color: #5b8d19;
}

@media (min-width: 751px) {
  header a {
    padding: 20px 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: end;
        -ms-flex-align: end;
            align-items: flex-end;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    height: 190px;
    font-size: 16px;
    background: url("../sw/images/common/logo.png") no-repeat center 14px/212px;
  }
}

header a span {
  display: none;
}

@media (max-width: 750px) {
  header a span {
    display: block;
  }
}

header .toggle {
  position: absolute;
  top: .1rem;
  right: .1rem;
  width: .6rem;
  height: .6rem;
  background: #5b8d19/*#7b672e*/;
  cursor: pointer;
}

@media (min-width: 751px) {
  header .toggle {
    display: none;s
  }
}

header .toggle.open span {
  background: none;
}

header .toggle.open span::before {
  -webkit-transform: rotate(-45deg);
          transform: rotate(-45deg);
}

header .toggle.open span::after {
  -webkit-transform: rotate(-135deg);
          transform: rotate(-135deg);
}

header .toggle span {
  margin: auto;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  width: .4rem;
  height: .02rem;
  background: #fff;
  -webkit-transition: .2s;
  transition: .2s;
}

header .toggle span::before, header .toggle span::after {
  margin: auto;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  width: 100%;
  height: .02rem;
  content: '';
  background: #fff;
  -webkit-transition: .2s;
  transition: .2s;
}

header .toggle span::before {
  -webkit-transform: translateY(-0.08rem);
          transform: translateY(-0.08rem);
}

header .toggle span::after {
  -webkit-transform: translateY(0.08rem);
          transform: translateY(0.08rem);
}

/* ================================================
main
================================================ */
main section {
  margin: -.3rem 0 .5rem 0;
  padding: .3rem 0 0 0;
}

@media (max-width: 750px) {
  main section {
    margin-top: -1.1rem;
    padding-top: 1.1rem;
  }
}

main section:last-child {
  margin-bottom: 0;
}

@media (min-width: 751px) {/*最初のh2の前のあきつめ*/
main section:first-child {
  margin-bottom: 0;
}
}
/*main section:first-child p:last-child {
  margin-bottom: .1rem;
}
*/

main .sec {
  margin: 0 0 2em 0;
}

main .sec:last-child {
  margin-bottom: 0;
}
main .w80 {
  margin: 1em auto;
  width: 80%;
}

@media (max-width: 750px) {
  main .w80 {
    width: 90%;
  }
}

main p {
  margin: .5em 0 .5em 0;
  color: #333;
}

/*main p:last-child {
  margin-bottom: 0;
}*/

main p img {
  margin: -.3em .5em 0 0.5em;
}

main p img, main dl img, main ul img{
  width: auto;
  height: 1.5em;
}
main .disc{
    padding:1% 0 2% 0;
}
main .disc li {
  margin: 0 0 0 1.5em;
  list-style: disc outside;
}

main .reference, main .reference_list li {/*注釈*/
  padding: 0 0 0 1em;
  color: #222222;
  font-size: .16rem;
  text-indent: -1em;
}

@media (max-width: 750px) {
  main .reference, main .reference_list li {
    font-size: .2rem;
  }
}

main .reference::before, main .reference_list li::before {
  margin: 0 .2em 0 0;
  content: '\203b';
  font-family: ‘Hiragino Kaku Gothic ProN’,’ヒラギノ角ゴ ProN W3′,’Meiryo UI’,Meiryo,sans-serif;
}

/*================================================
 *  hover効果
 ================================================*/

.image:hover{filter: brightness(130%);}



/*
main .ic_list {
  margin: 1em 0;
}

main .ic_list:last-child {
  margin-bottom: 0;
}

main .ic_list li {
  margin: 0 0 .2em 0;
}

main .ic_list li:last-child {
  margin-bottom: 0;
}

main .ic_list dl {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

main .ic_list dt {
  white-space: nowrap;
}

main .ic_list dt::after {
  margin: 0 .2em;
  content: '：';
}
*/

.center{
	text-align: center;
	margin: 0 auto;
	clear: both;
}

/* ================================================
link
================================================ */
main + .pagination {
  margin: .5rem 0 0 0;
}

.pagination {
  margin: 0 0 .2rem 0;
  line-height: 1;
}

.pagination li {
  display: inline-block;
	margin-left:0em;
	margin-right:1em;

}

.pagination li.prev {
  margin: 0 0 0 .15rem;
  -webkit-transform: scale(-1, 1);
          transform: scale(-1, 1);
}



@media (max-width: 750px) {
  .pagination li + li {
    margin: 0 0 0 .0.7rem;
  }
}

.pagination a {
  display: block;
  width: .6rem;
  height: .6rem;
}
.pagination a.next {
  background: url("../sw/images/common/next.svg") no-repeat center/100%;
  -webkit-transition: none;
  transition: none;
}
.pagination a.prev {
  background: url("../sw/images/common/back.svg") no-repeat center/100%;
  -webkit-transition: none;
  transition: none;
}

@media (max-width: 750px) {
  .pagination a {
    width: 0.9rem;
    height: 0.9rem;
  }
}
.pagination a.next:hover {
  background: url("../sw/images/common/next_hover.svg") no-repeat center/100%;
  opacity:1;
}

.pagination a.prev:hover {
  background: url("../sw/images/common/back_hover.svg") no-repeat center/100%;
  opacity:1;
}



/* ================================================
rim・table
================================================ */

table {
  margin: 1em 0;
  border-collapse: collapse;
  border-spacing: 0;
  width: 100%;
  line-height: 1.2;
  color: #000;
  background-color: #f4fff0;
}

table:last-child {
  margin-bottom: 0;
}

table th, table td {
  padding: .5em;
  border: dotted .01rem #5e5e5e;
}

table th {
  width: 25%;
  background: #8b8b8b;
  font-weight: bold;
  text-align: center;
  color: #fff;
}



table th > span {/*thの改行*/
	display: inline-block;
}

@media (min-width: 751px) {
  table th br {
    /*display: none;*/
  }
}


table img {
 /* margin: 0 .5em;*/
  width: auto;
  height: 1.2em;
}

table.table_btn {
  table-layout: fixed;
}

table.table_btn th, table.table_btn td {
  width: auto;
	text-align: center;
}

table.table_btn th {
  background: rgba(68,68,68, 1.0);
  font-weight: bold;
  text-align: center;
}



th.th_second {/*表の見出しが2段階*/
  width: 20%;
 background: rgba(20,0,71, 0.8);
}

table.w_ttl {/*冒頭に見出し行あり*/
}

table.w_ttl th.midashigyo {
  width: auto;
  background-color: rgba(0,0,0,0.3)	;
	color: #000;
}

table.w_ttl th {
 width: 35%;
}


table.th_left th {
  text-align: left;
}

img.command {
    background: rgba(68,68,68, 1.0);
}
/* ================================================
表組の代用
================================================ */

.hyo_1dan p {
	margin: 0 0 0 2em;
}
.hyo_1dan h5 {
	margin: 0.5em 0 0 1.25em;
	padding: 0.1em 0 0 0.5em;

 background: rgba(20,0,71, 0.3);
}

.hyo_1dan table.hyo_1dan_mini {/*margin分右にはみ出すのをwidthで戻す*/
	margin: 0 0 0 2em;
	width: calc(100% - 2em);
  border: solid 2px rgba(20,0,71, 1);

}
.hyo_1dan_mini th, .hyo_1dan_mini td {
}
.hyo_1dan_mini th {
	  font-weight: inherit;

}



/* ================================================
ph
================================================ */
.ph {
  margin: 1em auto;
  border: solid .01rem #F1F6D5/;
}

.ph.controller {
  border: none;
}


.licence_oya {
	margin-top: 2em;
	padding: 1em 1em 1em 0em;
	background-color: #f1f1f1;
}

.licence li{
	margin-bottom: 0.8em;
	font-size: .16rem;
    color: #000000;
}

.licence li img{
	font-size: .1rem;
}


/* ================================================
芽愛のヴビギナー指南
================================================ */

.paper{
  background-color: #ffffff;
  opacity: 1;
  background-size: 30px 30px;
  background-image:  repeating-linear-gradient(0deg, #d9dbff, #d9dbff 1.5px, #ffffff 1.5px, #ffffff);
}


.show-overflow{
  overflow: visible;
}


.h2-mbs{
  position: relative;
  color: #393939;
  background-color: #fce4ff;
  opacity: 1;
  background-image: radial-gradient(#bf93cc 0.35px, #f4d0ff 0.35px);
  background-size: 7px 7px;
  background-repeat: repeat;
  border-radius:8px;
}

.h2-mbs:before{
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  border-width: 0 20px 20px 0;
  border-style: solid;
  border-radius:0 0 0 8px;
  border-color: #fff #fff #bf93cc #bf93cc;
  background: #bf93cc;
  /* Firefox 3.0 damage limitation */
  display: block; width: 0;
}

.h3-mbs{
  color: #990078;
  border: none;
  border-radius: 20px;
  background-color: #f6f6ff;
  opacity: 1;
  background-size: 7px 7px;
  background-image: repeating-linear-gradient(45deg, #f9e7ff 0, #f9e7ff 0.7px, #f6f6ff 0, #f6f6ff 50%);
  border: solid 3px #f2caff;
}


.text-w-polaroid{
  display: flex;
  align-items: center;
  margin-bottom: 50px;
}


.polaroid-name{
  width: 40%;
  margin-right: 5%;
  padding: 2%;
  background-color: #fff;
  box-shadow: 0px 5px 15px 0px #00000033;
  transform: rotate(-5deg);
  z-index: 100;
}

.polaroid-name img{
  width: 100%;
  border: solid 2px #eeeeee;
  margin-bottom: 10px;
}


.polaroid{
  width: 40%;
  margin-right: 5%;
  padding: 2%;
  background-color: #fff;
  box-shadow: 0px 5px 15px 0px #00000033;
  transform: rotate(-5deg);
  z-index: 100;
}

.polaroid img{
  width: 100%;
  border: solid 2px #eeeeee;
  margin-bottom: 60px;
}


.chara-name__content{
  display: block;
}

.chara-name__ruby{
  text-align: center;
  font-size: 0.6em;
  line-height: 1;
  letter-spacing: 0.5em;
  margin-bottom: 0.1rem;
}

.chara-name__text{
  text-align: center;
  font-size: 1.6em;
  line-height: 1;
  font-weight: 800;
}


.polaroid-2{
  width: 40%;
  margin-left: 5%;
  padding: 2%;
  background-color: #fff;
  box-shadow: 0px 5px 15px 0px #00000033;
  transform: rotate(5deg);
  z-index: 100;
}

.polaroid-2 img{
  width: 100%;
  border: solid 2px #eeeeee;
  margin-bottom: 60px;
}

.polaroid-text{
  width: 50%;
  margin-left: auto;
  margin-right: auto;
}

.bigger-text{
  font-size: x-large;
}

.wavy{
  text-decoration-line: underline;
  text-decoration-style: wavy;
  text-decoration-color: rgb(255, 65, 65);
  text-underline-offset: 6px;
}

.highlight{
  background: #ffef61;
}

.change-color{
  color: #da04be;
  font-weight: bold;
}

.oneword{
  display: inline-block;
}

@media (max-width: 750px){
  .text-w-polaroid{
  display: block;
  align-items: center;
  margin-bottom: 0;
}


.polaroid-name{
  width: 50%;
  margin: 30px auto 20px;
  padding: 2%;
  background-color: #fff;
  box-shadow: 0px 5px 15px 0px #00000033;
  transform: rotate(-5deg);
  z-index: 100;
}

.polaroid-name img{
  width: 100%;
  border: solid 2px #eeeeee;
  margin-bottom: 10px;
}


.polaroid{
  width: 50%;
  margin: 20px auto;
  padding: 2%;
  background-color: #fff;
  box-shadow: 0px 5px 15px 0px #00000033;
  transform: rotate(-5deg);
  z-index: 100;
}

.polaroid img{
  width: 100%;
  border: solid 2px #eeeeee;
  margin-bottom: 60px;
}

.polaroid-2{
  width: 50%;
  margin: 20px auto;
  padding: 2%;
  background-color: #fff;
  box-shadow: 0px 5px 15px 0px #00000033;
  transform: rotate(5deg);
  z-index: 100;
}

.polaroid-2 img{
  width: 100%;
  border: solid 2px #eeeeee;
  margin-bottom: 60px;
}

.polaroid-text{
  width: 95%;
  margin: 50px auto 20px;
}

.bigger-text{
  font-size: larger;
}

.wavy{
  text-decoration-line: underline;
  text-decoration-style: wavy;
  text-decoration-color: rgb(255, 65, 65);
  text-underline-offset: 4px;
}
}


/* ================================================
flexbox
================================================ */

/* ================================================
本文用flex
================================================ */

.flexbox_chara {
  display: flex;
  align-items: center;
}
.flexbox_chara > div{
  display: block;
  width: 65%;
}
.flexbox_chara > div:nth-of-type(1){
  padding-left: 20px;
}
.flexbox_chara > .image-wrap{
  width: 35%;
  img{
    display: block;
    filter: drop-shadow(5px 5px 0 rgb(172, 203, 235));
  }
}
.flexbox_chara .text-bubble-right{
  display: block;
  background-color: #fff;
  display: inline-block;
  border-radius: 10px;
  padding:15px 20px;
  box-shadow: 0 0 10px #7f55df;
  margin-left: 30px;
  position: relative;
}
.flexbox_chara .text-bubble-right::after{
  content: "";
  display: block;
  position: absolute;
  background-color: #fff;
  box-shadow: 0 0 10px #7f55df;
  border-radius: 20px;
  width: 14px;
  height: 14px;
  bottom:-14px;
  left:-14px;
}

.flexbox_chara .text-bubble-left{
  display: block;
  background-color: #fff;
  display: inline-block;
  border-radius: 10px;
  padding:15px 20px;
  box-shadow: 0 0 10px #7f55df;
  margin-right: 30px;
  margin-left: 20px;
  position: relative;
}
.flexbox_chara .text-bubble-left::after{
  content: "";
  display: block;
  position: absolute;
  background-color: #fff;
  box-shadow: 0 0 10px #7f55df;
  border-radius: 20px;
  width: 14px;
  height: 14px;
  bottom:-14px;
  right:-14px;
}

@media (max-width: 750px) {
  .flexbox_chara .text-bubble-left{
    margin-left: 0px;
  }
}


.flexbox_ph {
  margin: 1em 0;
}


.flexbox_ph img{
  	display: block;
 	  margin:0 0 0 auto;
    border: solid 4px #e7e7e7;
}

@media (max-width: 750px) {
  .flexbox_ph {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
	flex-direction: column;
	  position: relative;
  }
}
/*スマホ*/
@media (max-width: 750px) {
  .flexbox_ph img {
	display   : block;
    margin: 0.5em 0 1em 0em;
    width: 100%;
    border: solid 9px #f1f1f1;
  }
}
@media (max-width: 750px) {
    .flexbox_ph p {
		display   : block;
    width: 100%;
    }
  }

@media (max-width: 750px) {/*横並び画面説明文内のアイコンなどが横100％になるのを避ける*/
  .flexbox_ph img.btn {
    width: auto;
    height: 1.25em;
	display   : inline-block;
	margin: 0 0.2em;
  }
  }



/*PC 751以上*/
@media (min-width: 751px) {
    .flexbox_ph p {
/*	display   : block;*/
	width:100%;
		margin:0 1em 0 auto;
/*		margin:0 0 0 auto;*/
	}
  }
@media (min-width: 751px) {
    .flexbox_ph div.flex_txt {
	width: 100%;
	margin:0 1em 0 0;
	}
  }

@media (min-width: 751px) {
  .flexbox_ph div {
	display   : block;
	width:70%;
/*	  margin-left: 1em;*/
 		margin:0 0 0 auto;

  }
 }

@media (min-width: 751px) {
  .flexbox_ph div.aki_lr {
    margin: 0 1em 0 1em;
  }
 }



@media (min-width: 751px) {
  .flexbox_ph {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
	flex-direction: row-reverse;
  }
}




/* ================================================
コラム用flex
================================================ */

.flexbox_column_ph div{
  margin:3em 0.5em 0.3em 1em;
}

.flexbox_column_ph--center{
  justify-content: center;
  margin:-0.5em 0 1em 0;
}

@media (max-width: 750px) {
  .flexbox_column_ph {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
	flex-direction: column;
  }
}

@media (max-width: 750px) {
  .flexbox_column_ph div{
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
	flex-direction: column;
    margin:1em 1em 0.5em 1em;
  }
}

/*スマホ*/
@media (max-width: 750px) {
  .flexbox_column_ph img {
		display   : block;
    width: 100%;
  }
 }
@media (max-width: 750px) {
    .flexbox_column_ph p {
		display   : block;
    width: 100%;
    }
  }

@media (max-width: 750px) {
  .flexbox_column_ph--center img {
		display   : block;
    width: 100%;
  }
 }


/*PC 751以上*/
@media (min-width: 751px) {
    .flexbox_column_ph p {
		display   : block;
		width: 100%;
	}
  }

@media (min-width: 751px) {
  .flexbox_column_ph div {
	display: block;
	width:70%;
	margin-top: 1em;
  }
 }

@media (min-width: 751px) {
  .flexbox_column_ph--center div {
	display: block;
	width:50%;
	margin-top: 1em;
  }
 }



@media (min-width: 751px) {
  .flexbox_column_ph {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
	flex-direction: row;
  }
}


/* ================================================
phキャプションつきflex（入れ子）とキャプション
================================================ */
/*
.flexbox_withcap {
	display: flex;
	flex-direction: column;
}
.flexbox_withcap .capcenter {
	margin: 0px 0 0.5em 0;
	text-align:center;
	font-size: 90%;
	color: blue;
}

@media (max-width: 750px) {
.flexbox_withcap .withcap {
	margin: 0px 0 0.5em 0;
	text-align:center;
	font-size: 90%;
	color: blue;
}
}
@media (min-width: 751px) {
.flexbox_withcap .withcap {
	text-align:right;
	font-size: 90%;
	color: blue;
	}
}
*/
/*
.kakomi .capcenter,.capcenter_no {
	margin: 0px;
	font-size:17px;
	text-align:center;
}
@media (max-width: 750px) {
.kakomi .capcenter_no img {
	display: inline-block;
	width: auto;
margin-top: 0.0em;
margin-right: 0.1em;
}
}

@media (min-width: 751px) {
.kakomi .capcenter_no img {
	display: inline-block;
	width: auto;
margin-right: 0.1em;
}
}

*/



/*------------------------------------
pagejump
------------------------------------*/
/*ul.pagejump {
	border: 1px dotted black;
}
*/

.pagejump {
    margin: 0px 0 5% 0;
    font-size: 17px;
    text-align: center;
}

.pagejump a {
    width: 35%;
    border-radius: 5px;
    display: inline-block;
    background: #ffff69;
    padding: 1% 0;
    color: #264606;
    margin: 0 0.25% 1% 0.25%;
    font-size: 15px;
    box-shadow: 0 3px #dcdc57;
    border: solid 1px #dcdc57;
}

@media (max-width: 750px) {
  .pagejump{
    display: flex;
    flex-wrap: wrap;
    justify-content: space-evenly;
  }

  .pagejump a {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 47%;
    margin: 0 0.25% 2% 0.25%;
    font-size: 3vw;
  }
}

/*------------------------------------
pagejump - 芽愛のビギナー指南
------------------------------------*/
/*ul.pagejump {
	border: 1px dotted black;
}
*/

.pagejump-mbs {
  margin: 0px 0 5% 0;
  font-size: 17px;
  text-align: center;
}

.pagejump-mbs a {
  width: 35%;
  border-radius: 5px;
  display: inline-block;
  padding: 1% 0;
  color: #333333;
  margin: 0 0.25% 1% 0.25%;
  font-size: 17px;
  box-shadow: 2px 4px 2px -2px #7777772f;
  background-color: #fce4ff;
  opacity: 1;
  background-image: radial-gradient(#bf93cc 0.35px, #f4d4fd 0.35px);
  background-size: 7px 7px;
  background-repeat: repeat;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  border-bottom: 3px solid #bf93cc;
  /*border: solid 1px #f37302;*/
}

.shadow{
  position: relative;
}
.shadow:before{
    z-index: -1;
    position: absolute;
    content: "";
    bottom: 13px;
    right: 7px;
    width: 25%;
    top: 0;;
    box-shadow: 0 15px 10px #777;
    transform: rotate(4deg);
    transition: all 150ms ease-in-out;
}

.pagejump-mbs a:hover{
  opacity: 0.95;
  color: #fff;
  background-image: radial-gradient(#8b3f7f 0.35px, #c466b4 0.35px);
  border-bottom: 3px solid #86487c;
  transform: scale(0.98);
}

.shadow:hover::before{
  transform: rotate(0deg);
  bottom: 20px;
  z-index: -10;
}

@media (max-width: 750px) {
.pagejump-mbs{
  display: flex;
  flex-wrap: wrap;
  justify-content: space-evenly;
}

.pagejump-mbs a {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 47%;
  margin: 0 0.25% 1% 0.25%;
  font-size: 3vw;
}
}


/*
.pagejump a::before {飾り
  margin: auto;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  width: 1em;
  height: 1em;
  content: '';
  background: url("../sw/images/common/pagejump_ic.svg") no-repeat center/100%;
}
*/


/*------------------------------------
pagelink 参照p
------------------------------------*/

.pagelink {
    margin-top: 0.5em;
    font-size: 17px;
    text-align: left;
    clear: both;
}

.pagelink a {
    padding-left: 1.5em;
    /* text-decoration: none; */
    background-image: url("../sw/images/common/yajirushi.svg");
    background-position: left;
    background-size: 1.1em;
    background-repeat: no-repeat;
    margin-left: 10px;
    margin-bottom: 5px;
    display: inline-block;
    color: #7ca400;

}

.pagelink_3100{
    padding-left: 2.9em;
    /* text-decoration: none; */
    background-image: url("../sw/images/common/yajirushi.svg");
    background-position: left;
    background-size: 1.1em;
    background-repeat: no-repeat;
    margin-left: 10px;
    display: inline-block;
    color: #7ca400;

}

@media (max-width: 750px) {
  .pagelink {
    font-size: .26rem;
  }
}


@media (max-width: 750px) {
.pagelink a {
    padding-left: 1.5em;
    /* text-decoration: none; */
    background-image: url("../sw/images/common/yajirushi.svg");
    background-position: left;
    background-size: 1.1em;
    background-repeat: no-repeat;
    margin-left: 10px;
    margin-bottom: 5px;
    display: inline-block;
    color: #87ab15;
}
}


.pagelink li {
	display: block;
	 padding: 0 0 0 -0.25em;
	margin: 0em;
/*	border: 1px pink solid;*/
}

.pagelink li::before{
 content: "▷";
 display: inline-block;
 vertical-align: middle;
color: #3F83A6;
/* width: 6px;
 height: 6px;
 border-radius: 50%;
 margin: 0 6px;*/

}

@media (max-width: 750px) {
.pagelink_3100{
    padding-left: 2.9em;
    /* text-decoration: none; */
    background-image: url("../sw/images/common/yajirushi.svg");
    background-position: left;
    background-size: 1.2em;
    background-repeat: no-repeat;
    margin-left: 10px;
    display: inline-block;
    color: #7ca400;
}
}



/* ================================================
footer
================================================ */
footer {
  margin: .2rem 0 0 0;
}

footer .copyright {
  font-size: .12rem;
  text-align: center;
  letter-spacing: .05em;
  color: #777;
}

@media (max-width: 750px) {
  footer .copyright {
    font-size: .2rem;
  }
}

footer .pagetop {
  display: block;
  position: fixed;
  right: .3rem;
  bottom: .3rem;
  z-index: 10;
  width: .3rem;
  height: .44rem;
  content: '';
  background: url("../sw/images/common/totop.png") no-repeat center/100%;
}

@media (max-width: 750px) {
  footer .pagetop {
    width: .4rem;
    height: .6rem;
  }
}

footer .pagetop:hover {
  opacity: .8;
}

/* ================================================
TOP
================================================ */
.top {
		/* background:#ede4cd; */
}

@media (min-width: 751px) {
  .top {
    padding: 0 .3rem .3rem .3rem;
  }
}

@media (max-width: 750px) {
  .top {
    padding-top: .8rem;
  }
}

.top .mv {
  margin: 0 -.3rem;
  /* height: 5.5rem; */
  padding-top: 60%;
  background: url("../sw/images/0000/mv2.jpg") no-repeat center/cover;
}

@media (max-width: 750px) {
  .top .mv {
    height: 100vw;
    background-image: url("../sw/images/0000/mv_sp2.jpg");
    margin-bottom: 5vw;
  }
}

.top p, .top dl, .top ul {
  text-shadow: none;
}

.top .link {
  margin: 2em 0 6em;
  line-height: 1;
  font-weight: bold;
}

@media (min-width: 751px) {
  .top .link {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    font-size: .14rem;
  }
  @supports (display: grid) {
    .top .link {
      display: -ms-grid;
      display: grid;
      gap: .1rem;
      -ms-grid-columns: 1fr 1fr 1fr;
          grid-template-columns: 1fr 1fr 1fr;
    }
  }
}

@media (min-width: 751px) {
  .top .link .col {
    width: calc(100% / 3);
  }
  @supports (display: grid) {
    .top .link .col {
      width: auto;
    }
  }
}

@media (max-width: 750px) {
  .top .link .col {
    margin: 0 0 2em 0;
  }
  .top .link .col:last-child {
    margin-bottom: 0;
  }
}

.top .link dl {/*top目次リンク　項目名左ライン*/
  margin: 0 0 2em 0;
  padding: 0 1em 0 1em;
  /* border-left: .01rem solid #af9b7c; */
}
.top .link dl:last-child {
  margin-bottom: 0;
}

.top .link dt {/*top目次リンク　項目名　見出し*/
  margin: 0 0 1em 0;
  padding:0.5em 0;
  color: #000;
  /* border-top: solid 1px #000; */
  border-bottom: solid 1px #000;
  font-size: 130%;
}

.top .link li {
  margin: 0 0 1em 0;
}

.top .link li:last-child {
  margin-bottom: 0;
}





.top .link .pagejump {
  margin: .8em 0 0 0;
  padding: 0 0 0 1em;
  display: inherit;
  font-weight: normal;
  text-align: left;
}

.top .link .pagejump li {
  display: inherit;
  margin: 0 0 .5em 0;
}

.top .link .pagejump li:last-child {
  margin-bottom: 0;
}

.top .reference_list {
  margin: 2em 0;
}

.top .reference_list li {/*トップ注釈*/
  color: #011824;
  font-size: .12rem;
}

@media (max-width: 750px) {
  .top .reference_list li  {
    font-size: .2rem;
  }
}

.top .reference_list img {
  height: 1.2em;
}



.top .reference_list img.ps4 {
  height: .8em;
}


.top_remake {
	display: flex;
	flex-direction: column;
	 justify-content: center;
	background-color: rgba(255,255,255,0.50);
	padding: 1em;
	color: #555;
}
.top_remake p {
	display: block;
	text-align: center;
}
.top_remake img {
  margin: 0 auto;
  width: 82px;
}

/*# sourceMappingURL=style.css.map */




/* ================================================
ユーザーサポート
================================================ */
.column {
 /* display: grid;
  grid-template-columns: 1fr 4fr;
  grid-auto-rows: minmax(30px, auto);*/
	padding: 0.9em;
	 margin: 1em 0em 1em 0em;
	background: rgba(255,255,255, 0.5);
	border: double 1px #211d12;
}

/*
.column > div > p {
	text-shadow: inherit;
	font-weight: normal;
	color: #800000;
}

.column > div > p.bold {
	font-weight: bold;
	color: #000;
}
*/

@media (max-width: 750px) {
	.column {
/*  display: grid;
  grid-template-columns: 1fr 4fr;*/
	}
}
.column div.column_ttl {
	background: linear-gradient(to right, transparent 0%, rgba(121,91,29, 0.7) 30%, rgba(121,91,29, 0.7) 70%, transparent 100%);
	padding: 0.5em 0em;
	  display: flex;
  justify-content: center;
  align-items: center;
}




/*----------------------------------
h1 h2 h3
----------------------------------*/




h1	{
	position: relative;
	text-align:center;
	/* color: #4000d7; */
  font-size:300%/*55px*/;
	font-weight: bold;
	padding: 20px 5px;
	margin-bottom:0.5em;
	font-family: "Helvetica Neue",Arial,"Hiragino Kaku Gothic ProN","Hiragino Sans",Meiryo,sans-serif;
	line-height: 1.2em;
/*	snake*/
	/* background-position: center bottom; */
	/* background-size: 100% 45% ; */
	background-repeat: no-repeat;
  background: linear-gradient(52deg, rgb(110, 159, 30) 27%, rgb(25, 110, 7) 93%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
/*	background-image:url("../sw/images/common/light.png");	*/
}

h1 > span {
	font-weight: bold;
	}

h2	{
	position: relative;
	font-size: 145%/*25px*/;
	font-weight: bold;
	color: #fff;
	line-height: 1.2em;
	text-align: center;
	padding: 10px 10px 10px 10px;
    margin-top:0.5em;
	margin-bottom:0.5em;
	z-index: 4;
	font-family: "Helvetica Neue",Arial,"Hiragino Kaku Gothic ProN","Hiragino Sans",Meiryo,sans-serif;
	line-height: 1.2em;
  text-shadow: 0 0 2px #2a4800;
/*	border: double 3px #fff;*/
	background: linear-gradient(52deg, rgb(78 129 7) 27%, rgb(153 185 42) 93%);

/*	background-image:url("../sw/images/midashi_h2_02.png");
	background-position: center center;
	background-size: 100% 100% ;
	background-repeat: no-repeat;
	*/
}
/*
h2:before {
	content: '';
  	position: absolute;
  	top: 0;
  	bottom: 0;
  	right: 0;
  	left: 0;
	z-index: -1;
  	background-image:url("../sw/images/midashi_h2_01.png");
	background-position: center top;
	background-size: 100% auto ;
	background-repeat: no-repeat;
}

h2:after {
	content: '';
  	position: absolute;
  	top: 0;
  	bottom: 0;
  	right: 0;
  	left: 0;
	z-index: -1;
  	background-image:url("../sw/images/midashi_h2_03.png");
	background-position: center bottom;
	background-size: 100% auto ;
	background-repeat: no-repeat;
}


h2 img {
	height:30px;
	vertical-align:middle;
	padding:0px 5px;
}
*/
.before { /*スマホヘッダー固定用の空白 shiyo*/
	height:40px;
}


h3 {
	position: relative;
    text-align: center;
	font-size:120%/*22px*/;
	font-weight: bold;
	line-height: 1.2;
	padding: 0.3em 0.5em;
	margin-top:1.35em;
	margin-bottom:0.5em;
	vertical-align: middle;
	clear: both ;
	text-decoration: none;
    background-color: #fdffda;
    color: #196e07;
    border: solid 1px #196e07;
    border-radius: 5px;
/*    border: dotted 1px #ffffff;*/
}
h3 img {
	height:120%/*22px*/;
	padding:0px;
	margin:0px 5px ;
	vertical-align: middle;
}
h3 > span {
	font-weight: bold;
	}
h3 > span > span {
	font-weight: bold;
	}





h4 {
	/*width: 100%;*/
	font-size:110%/*20px*/;
	clear: both ;
	color:#5b8d19;
	font-weight: bold;
	line-height: 1.2em;
	padding: 3px 0px 5px 10px;
	margin-top:1em;
	margin-bottom:0.5em;
	border-bottom: 1px solid #5b8d19;
  position: relative;
  padding-bottom: 5px;
}

h4 img {
	height:110%/*20px*/;
	vertical-align:middle;
	padding:0px 0px 0px 0px;
}

h4 a {
	text-decoration: none;
	color:#72640c;
}


h4::after {
  position: absolute;
  left:  0px;
  bottom: -3px;
  display: block;
  content: " ";
  width: 20%;
  border-bottom: 3px solid #5b8d19;
}

h4.us::after{border-bottom: none;}



h5 {
	/*width: 100%;*/
	font-size:18px;
	clear: both ;
	color:#264606;
	font-weight: bold;
	line-height: 1.2em;
	padding: 3px 0px 5px 0px;
	margin-top:3%;
	margin-bottom:0.5em;
	border-bottom: 2px solid rgba(85,71,56,0.5);
}

h5 img {
	height:1.5em;/*25px;*/
	width: 2em;
	vertical-align:middle;
	padding:0px 10px 0px 0px;

}

section {
	/* overflow: hidden; */
	margin-bottom:0.5em;
	clear: both ;
}
section:first-child {
	margin-bottom:0;
}

/*
a {
	color:#131D8B;
	font-weight: bold;
}
*/

a:hover {
/*	color:#6b0000;*/
/*	font-weight: bold;*/
	opacity:0.65;
}
p {
	margin:0 0 1em 0;
}
img {
	vertical-align:middle;
}
img.frame {/*shiyo*/
	border:1px solid #b8860b;
	background-color: rgba(0,0,0,0.5);
}
img.frame_02 {/*mishiyo*/

}
ul,ol,dl {
	margin:0 0.5em -0.5em 0;
}
ul li {
		list-style-type: none;
/*	list-style:disc;*/
}

li {
	margin-left:1.5em;
}

ul.maru li {
	list-style:disc;
	text-indent: -0em;
	padding-left: 1em;
}
ul.nodisc li {
	list-style:none;
/*	text-indent: -0em;
	padding-left: 1em;*/
}
ul.maru_kei li {
	list-style:disc;
	text-indent: -0em;
	padding-left: 1em;
}
div.list_kei {
	border: 2px #be0006 solid;
	margin: 0.5em 0 1em;
}
div.list_back {
/*	border: 2px #be0006 solid;*/
	margin: 0.5em 0 1em;
	background: rgba(245, 240, 187, 0.4)/*rgba(190,0,6,0.1)*/;
	padding-bottom: 0.1em;
}
p.list_back_ttl {
	border-bottom: 3px solid rgba(245, 240, 187, 1);
	margin: 0 0 0.5em;
	background: rgba(245, 240, 187, 0.6)/*rgba(190,0,6,1)*/;
	padding: 0.2em 0 0 0.5em;
	color: rgba(190,0,6,1);
}
/*
@media screen and (max-width:1000px) {
h1	{font-size:5vw;}
}



@media screen and (max-width:767px) {
h1	{
    font-size:40px;
}
}
*/

/*================================================
 *  表
 ================================================*/
table {
	border: solid 2px #8b8b8b;
}

th {
	text-align:left;
	font-weight:bold;
}

.th_01 {
	text-align:center;
	font-weight:bold;
    color: #fff;
    padding: 2px 0.5em 2px 0.5em;
    /* background: #af9fd3; */
    width: 15%;
}

.th_03 {
	text-align:center;
	font-weight:bold;
    color: #fff;
    padding: 2px 0.5em 2px 0.5em;
    background: #acacac;
    width: 9%;
}

.th_02 {
	text-align:center;
	font-weight:bold;
    color: #fff;
    padding: 2px 0.5em 2px 0.5em;
    background-color: #8b8b8b;
    /* background: #9172dd; */
    width: 7%;
}

.th_04 {
	text-align:left;
    padding: 2px 0.5em 2px 0.5em;
    background: #f9fff5;
    width: 25%;
}

.th_05 {
	text-align:left;
    padding: 2px 0.5em 2px 0.5em;
    background: #616161/*#8b8b8b*/;
    width: 10%;
    font-weight:bold;
}
.th_06 {
	text-align:left;
    color: #fff;
    padding: 2px 0.5em 2px 10px;
    background: #a2a2a2;
    width: 30%;
}
.th_10per {
    width: 10%;
}
.th_15per {
    width: 15%;
}

.th_25per {
    width: 25%;
}
.th_75per {
    width: 74%;
}

/*
.th_07 {
	text-align:left;
	font-weight:bold;
    color: #fff;
    padding: 2px 0.5em 2px 10px;
    background: #c7b9e9;
    width: 20%;
}
*/


td {
	text-align:left;
	color:#000;
	padding:2px 10px;
	background: #fff;
}
th img {
	height:1.5em;
	vertical-align:middle;
/*	margin:0.3em 0 0 0;*/
}

th img.ps4icon {
	height:25px;
	vertical-align:middle;
	margin:5px;
}


td img {
	height:25px;
	vertical-align:middle;
	margin:5px;
}
th,td {
  	border: solid 1px #7b672e;
	vertical-align: middle;
}

td p.shita_midashi {
	font-weight: bold;
	color: rgba(20,0,71, 1.0);
	border-bottom: 1px rgba(20,0,71, 1.0) solid;
	border-left: 3px rgba(20,0,71, 1.0) solid;
	margin-top: 0.5em;
	margin-bottom: 0.5em;
	padding-left: 0.2em;
	}
td p.shita_midashi:first-child{
	margin-top: 0em;
}

img.tall {/*leo追加 ボタン画像を大きめに*/
	height: 2.5em;
}

table.th10 th{/*leo追加 th10%を一括で*/
	width: 10%;
}
table.th20{margin-top:3%;}
table.th20 th{/*leo追加 th20%を一括で*/
	width: 20%;
}
table.th25 th{/*leo追加 th25%を一括で*/
	width: 25%;
}

table.th30 th{/*leo追加 th30%を一括で*/
	width: 30%;
}
table.th40 th{/*leo追加 th30%を一括で*/
	width: 40%;
}

.routine table {
    margin:0 auto;
    border-collapse: collapse;
    border-spacing: 0;
    width: 100%;
    line-height: 1.2;
    color: #000;
    background-color: #fff;
    border: solid 0px #24140e;
}

.routine td {
    border: solid 0px #24140e;
    text-align:center;
}

.routine td img {
    display: inline-block;
    width: 50%;
    height: auto;
    vertical-align: middle;
}

.routine th {
    color: #ca0909;
    padding: 0px;
    width: 25%;
    border: solid 0px #24140e;
    background-color: #fff;
    line-height: 1.2;
    text-align: center;
}


div.tokusei_table td:nth-child(odd) {
    background: #f1f1f1;
}
.th_09 {
	text-align:center;
     /*background: #f1f1f1;*/
	/*font-weight:bold;
    color: #fff;*/
    padding: 2px 0.25em 2px 0.25em;
    /*background: #c7b9e9;*/
    width: 14%;
}

/*
table.tokusei_table {
    background: pink;
}
table.tokusei_table tr{
    background: pink;
}
*/

div.tokusei_table table.tokusei_table td{
    width: 60%;
}

.td_g {
    background: #f1f1f1;
}
/*
table.tokusei_table td:nth-of-type(even) {
    background: red/*#f1f1f1;
}*/

/*================================================
 *  表（テキストセンター）
 ================================================*/
.center th {
  	text-align: center;
}
.center td {
  	text-align: center;
}



/*================================================
 *  表　2段組変形
 ================================================*/

.flexbox_sousa {
  margin: 1em 0;
	  width: 50%;
	border-top: 1px black solid;
}
@media (max-width: 750px) {
.flexbox_sousa {
  margin: 2em 0 0 0;
	  width: 98%;
}
.flexbox_sousa:nth-last-child(1)  {
  margin: 0em 0 0 0;
	border-top: none;
	border-bottom: 2px black solid;
}
}


@media (max-width: 750px) {
  .flexbox_sousa_oya {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
	flex-direction: column;
	  position: relative;
	  margin: inherit;
  }
}
.sousa_line {
	margin: inherit;
	margin: 0;
	display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
	flex-direction: row;
	  position: relative;
	border-top: 1px black solid;
	  color: #000;
  background: rgba(255, 255, 255, 0.8);


}
.sousa_th {
/*	border: 1px pink solid ;*/
		width: 45%;
	padding: 0.25em;
	background: rgba(20,0,71, 1.0);
  font-weight: bold;
	color: #D0CCDA;
}
.sousa_td {
	width: 54%;
	padding: 0.25em;
}



/*PC 751以上*/
@media (min-width: 751px) {
  .flexbox_sousa_oya {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
	flex-direction: row;
	  position: relative;
	  gap: 1em;
	}
}






/*================================================
 *  クラス
 ================================================*/

/*.box_right {
	float: right;
	width:20%;
	margin-top: 0.25em;
  	margin-bottom:1em;
}
.box_left {
	float: left;
	width:20%;
	margin-top: 0.25em;
  	margin-bottom:1em;
	margin-right: 1em;
}*/

.float_clear{
	clear: both ;
}
.line {
	display: inline-block;
}
.text_main{/*shiyo*/
	margin-top: 0.5em;
  	margin-bottom:0.5em;
	padding:0;
	text-align: justify;
}
.text_main img {/*shiyo*/
	height:22px;
	margin:5px;
}
.reflect_lr {/*左右反転*/
  display: inline-block;
  transform: scale(-1,1);
}
.reflect_ud {/*上下反転*/
  display: inline-block;
  transform: scale(1,1);
}
.rotated_90 {
transform: rotate(90deg)
}


.thirty_per {/*shiyo*/
	border: 2px black dotted;
	display: block;
	height:30%;
	margin:auto;
}
/*
main.span_kyocho  span {
	background: skyblue;
	margin: 0.25em;
	padding: 0.1em;
	font-size: 80%;
}
*/
/*================================================
 *  注釈
 ================================================*/

p.hint0,p.hint1 {/*注釈1*/
	font-size: .16rem;
	color: #cd0000;
    padding-left:1em;
	text-indent:-1em;
}

@media (max-width: 750px) {
p.hint0,p.hint1 {/*注釈1*/
	font-size: .23rem;
	color: #cd0000;
    padding-left:1em;
	text-indent:-1em;
}}

.hint0::before {
	content: '\203b';
	margin-right: 0.2em;
}

div.flexbox_ph p.hint0 {/*flex内*/
	font: 1em;
	color: rgba(54,12,6, 0.9);
　display: inline-block;
}



.hint1::before {/*\203b*/
	content: 'Caution';
	color: pink;
	background: red;
	padding: 0.2em;
	margin-right: 0.25em;
}



/*
.hint_hako1,.hint_hako2 {/*注釈箱入り*
  position: relative;
  padding: 2em 1em 1em;/*要素内の余白*
  background: silver;/*背景色*
}
.hint_hako1:before{/*疑似要素*
  position: absolute;
  content: '注';
  top: 0;
  left: 0;
	font-size: 80%;
  color: white;/*文字色*
  padding: 0.2em;/*余白*
  background: #F89174;/*背景色*
}

.hint_hako2:before{
  position: absolute;
  content: '注釈';
  top: 0;
  left: 0;
	font-size: 80%;
  color: white;/*文字色*
  padding: 0.2em;/*余白*
  background: #000;/*背景色*
}


*/






/*================================================
 *  写真につける矢印（スマホは縦）
 ================================================*/

/*スマホ変形あり =flexbox_ph_arrow*/
/*スマホ変形なし =flexbox_ph_arrow_yoko*/

/*親*/
.flexbox_ph_arrow,.flexbox_ph_arrow_yoko {
  margin: 1em 0;
}
/*変形あり　スマホでは縦*/
  .flexbox_ph_arrow {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
	flex-direction: column;
	  position: relative;
  }
  .flexbox_ph_arrow div {/*矢印*/
  }
  .flexbox_ph_arrow img.ph_w_arrow {
	  width: 80%;
	  height: 80%;
  }

/*変形あり　751以上は横*/
@media (min-width: 751px) {
  .flexbox_ph_arrow,.flexbox_ph_arrow_yoko {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
	flex-direction: row;
	  position: relative;
  }
  .flexbox_ph_arrow img.ph_w_arrow {
	  width: auto;
  }
  .flexbox_ph_arrow div {
	  width: 20%;
	 top: 0;
	 bottom: 0;
	 margin: auto;
  }
 .flexbox_ph_arrow img.arrow_roteted {
	transform: rotate(-90deg);
  }
  }

/*変形なし　常時横*/
.flexbox_ph_arrow_yoko {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
	flex-direction: row;
	  position: relative;
  }
.flexbox_ph_arrow_yoko img.ph_w_arrow {
	  width: 40%;
	height: auto;
  }
  .flexbox_ph_arrow_yoko div {
	  width: 20%;
	 top: 0;
	 bottom: 0;
	 margin: auto;
	height: auto;
  }
 .flexbox_ph_arrow_yoko img.arrow_roteted {
	transform: rotate(-90deg);
  }


/*================================================
 *  photo
 ================================================*/
/*
.photo_em {
	width:100%;
}
*/

.photo_main {
	width:100%;
	padding:2.5%;
	margin: 0 auto;
	text-align: center;
    background-color:#f1f1f1;
}
.photo a{color:#e84a11}

/*
.photo_right_cap {
	float: right;
	width:40%;
	margin-top: 0.5em;
	margin-left: 1em;
  	margin-bottom:1em;
}
.photo_left_cap {
	float: left;
	width:40%;
	margin-top: 0.5em;
	margin-right: 1em;
  	margin-bottom:1em;
}
.photo_right {
	float: right;
	width:40%;
	margin-top: 0.5em;
	margin-left: 1em;
  	margin-bottom:1em;
}
.photo_right_02 {
	float: right;
	width:30%;
	margin-top: 0.5em;
	margin-left: 1em;
  	margin-bottom:1em;
}
*/
/*
.photo_left {
	float: left;
	width:40%;
	margin-top: 0.5em;
	margin-right: 1em;
  	margin-bottom:1em;

}
*/

.photo_center_02 {
    height: 3em;
    margin-top: 0.5em;
    margin-bottom: 0.5em;
}
div.photo span {
    display: inline-block;
}

/*================================================
 *  画像（横並び)
 ================================================*/


.block_30 {
	display: inline-block;
	width: 30%;
	vertical-align: text-top;
	margin: 0% 1%;
}





/*================================================
 *  cap
 ================================================*/
/*
.cap {/*本文より小さいテキスト*
	margin-top: 0.5em;
	font-size:17px;
}
.cap img {
	height:20px;
	margin:5px;
}

.capblue{/*画像cap shiyo*
	margin-top: 0.5em;
	font-size:17px;
	color:#6a1917;
	text-align: justify;
}
.capblue img {/*shiyo*
	height:20px;
	margin:5px;
}

@media (max-width: 750px) {
	.capblue{
	font-size:12px;
	}
	.capblue img {
	height:15px;
	}
}


*/
/*
.capcenter,.capcenter_no {
	margin: 0px;
	font-size:17px;
	text-align:center;
}
@media (max-width: 750px) {
.capcenter_no img {
	display: inline-block;
	width: auto;
margin-top: 0.75em;
margin-right: 0.1em;
}
}

@media (min-width: 751px) {
.capcenter_no img {
	display: inline-block;
	width: auto;
margin-right: 0.1em;
}
}
*/
/*
.capright {
	margin-top: 0.5em;
	font-size:17px;
	text-align:right;
	clear: both ;
}
.capright a {
	padding-left: 25px;
	background-image:url("../sw/images/sankaku.png");
	background-position: left ;
	background-size:20px;
	background-repeat: no-repeat;
	margin-left: 10px;
	display: inline-block;
}
*/
/*
.capleft {
	margin-bottom: 1.5em;
	font-size:15px;
	text-align:left;
	clear: both ;
}
*/
/*
@media (max-width: 1000px) {
.capcenter a{
	font-size: 12px;
}
}



@media (max-width: 750px) {
.capcenter a{
	width: 47%;
	margin:0 0.5% 1% 0.5%;
	font-size: 3vw;
}
}
*/

/*================================================
 *  番号付き見出し インデントあり
 ================================================*/
.number{
	margin-left: 9%;
	margin-right: 9%;
	text-align: justify;
}

.number h3 {
	font-weight: bold;
	clear: both ;
	background-color: inherit;
	border:none;
	box-shadow: none;
	color:#730031;
	font-size: 1.2em !important;
	line-height: 0.5;
	padding-left:1.75em;
	text-indent:-1.75em;
	margin-bottom: 0 ;
	padding-bottom: 0;
	text-align: left;
}
.number_img{ /*数字画像 sample使用*/
	height: 1.5em;
	width: 1.5em;
	margin: 0em 0.25em 0em 0em;
	vertical-align: middle;
}
.inshi_img{ /*よこなが画像*/
	height: 1.5em;
	width: auto;
	margin: 0em 0.25em 0em 0em;
	vertical-align: middle;
}


/*================================================
 *  番号付き見出し インデントなし
 ================================================*/

.number_akinashi {
	margin-left: 0%;
	margin-right: 0%;
}

.number_akinashi h3 {
	font-weight: bold;
	clear: both ;
	background-color: inherit;
	border:none;
	box-shadow: none;
	color:#e84a11;
	font-size: 1.2em !important;
	line-height: 0.5;
	padding-left:1.75em;
	text-indent:-1.75em;
	margin-bottom: 0 ;
	padding-bottom: 0;
	text-align: left;
}
.number_img{
	height: 1.3em;
	width: 1.3em;
	margin: 0em 0.25em 0.2em 0em;
	vertical-align: middle;
}

@media (max-width: 750px) {
.capcenter_no img {
	display: inline-block;
	width: auto;
margin-top: 0.1em;
margin-right: 0.1em;
}
}

@media (min-width: 751px) {
.capcenter_no img {
	display: inline-block;
	width: auto;
margin-right: 0.1em;
}
}


@media (min-width: 751px) {/*plus使用*/
.number_akinashi br{
	display: none;
}
}
@media (max-width: 750px) {
.number_akinashi.capcenter_no br{
	display: inline;
}
}



/*================================================
 *  囲み
 ================================================*/
.kakomi li {
	margin-right: 1em;
}


/*
.kakomi {
	margin: .5em auto;
	border: solid 1px #a00032;
	clear: both;
	color: #a00032;
	background: rgba(255,255,255,.8);
}
.kakomi table {
	margin: .5em auto;
	width: calc(100% - 1em);
}
.kakomi p {
	padding: 0.5em;
	margin: 0.25em 0em;
	color:#49241e;
}
.kakomi ul {
	padding: .75em .5em 0 .5em;
}
.kakomi ul li {
	margin-top: 0.25em;
	margin-bottom: 0.25em;
	margin-right: 1em;
}
.kakomi h3 {
	margin: 0;
	border: none;
	border-bottom: solid 1px #a00032;
	color: #FFF;
}
.kakomi h4 {
	margin: 0;
	padding: 0.5em;
   }

*/
/*================================================
 *  囲み
 ================================================*/

.kakomi {
	margin: .5em auto 1em;
	border: solid 1px #196e07;
	clear: both;
	color: #196e07;
	background: #fff;
    padding: .8em ;
}
.kakomi table {
	margin: .5em auto;
	width: calc(100% - 1em);
}
.kakomi p {
    padding: 0.1em 1em 0.1em;
	color: #196e07;
}
.kakomi ul {
/*	padding: .75em .5em 0 .5em;*/
    display: inline-block;
}
.kakomi ul li {
	margin-top: 0.25em;
	margin-bottom: 0.25em;
	margin-right: 1em;
}
.kakomi h3 {
	margin: 0;
	border: none;
	border-bottom: solid 1px #a00032;
	color: #FFF;
}
.kakomi h4 {
	margin: 0;
   }
.kakomi.photo {
/*	margin: 1em;*/
	padding:1em;
   }
.kakomi p img {
	height: 1.2em;
	width: 1.2em;
	margin: 0em;
	vertical-align: middle;
    display: inline;
}
.kakomi h5 {
	margin: 0 1em;
	padding: 0em 0 0.2em;
    border-bottom: solid 1px #264606;
    text-align: center;
   }

/*================================================
 *  吹き出し (6100)
 ================================================*/
.balloon1-left,.balloon1-right {
  position: relative;
  display: inline-block;
  margin: .5em 0 .5em 15px;
  padding: 7px 10px;
width: 100%;
/*  font-size: 16px;*/
  background: #e0edff;
  color: #555;
}

.balloon1-left:before {
  content: "";
  position: absolute;
  top: 50%;
  left: -30px;
  margin-top: -15px;
  border: 15px solid transparent;
  border-right: 15px solid #e0edff;
}

.balloon1-left p,.balloon1-right p {
  margin: 0;
  padding: 0;
}
.balloon1-left p span, .balloon1-right p span{
  color: brown;
	font-weight: bold;
	font-size: 120%;
}

.balloon1-right {
  position: relative;
  display: inline-block;
  margin: 0.5em 15px 0.5em 0;
  padding: 7px 10px;
width: 100%;
  color: #555;
/*  font-size: 16px;*/
  background: #e0edff;
}

.balloon1-right:before {
  content: "";
  position: absolute;
  top: 50%;
  left: 100%;
  margin-top: -15px;
  border: 15px solid transparent;
  border-left: 15px solid #e0edff;
}

/*================================================
 *  吹き出し
 ================================================*/

.arrow_box{
  display: flex;
  align-items: center;
 	width: calc(100% - 121px);
	position: relative;
  color: #000;
	background: #efefef;
	/* border: solid 1px #a59e96; */
	border-radius: 10px;
	padding: 2% 3.5%;
	font-size:18px;
	-webkit-flex: 1; flex: 1;
  margin-left: 15px;
}
.arrow_box:after, .arrow_box:before {
	right: 100%;
	top: 35%;
	border: solid transparent;
	content: "";
	height: 0;
	width: 0;
	position: absolute;
	pointer-events: none;
}

.arrow_box:after {
  border-width: 0 0 20px 25px;
  border-color: transparent transparent #efefef transparent;
	margin-top: 5px;
}
.arrow_box:before {
  /* border-width: 0 0 12px 22px;
  border-color: transparent transparent #8c8379 transparent;
	margin-top: -21px; */
}


.arrow_box2 {
 	width: calc(90% - 121px);
	position: relative;
	background: #fff;
	border: solid 1px #a59e96;
	border-radius: 10px;
	padding: 5%;
	font-size:16px;
	-webkit-flex: 1; flex: 1;
}
.arrow_box2:after, .arrow_box2:before {
	left: 100%;
	top: 35%;
	border: solid transparent;
	content: "";
	height: 0;
	width: 0;
	position: absolute;
	pointer-events: none;
}


.arrow_box--text{
  width: 70%;
}

.arrow_box--img{
  width: 25%;
  margin-left: 5%;
}

.arrow_box--img img{
  border-radius: 15px;
}

@media (max-width: 750px) {
  .balloon{
    display: flex;
    flex-wrap: wrap;
    flex-flow: column;
    align-items: center;
  }

  .arrow_box{
    width: 100%;
    display: block;
    padding: 3.5%;
    align-items: center;
    margin-left: 0;
  }

  .arrow_box:after{
    display: none;
  }

  .arrow_box--text{
    width: 100%;
    margin-bottom: 10px;
  }

  .arrow_box--img{
    width: 40%;
    margin-left: auto;
    margin-right: auto;
  }

  .arrow_box--img img{
    border-radius: 15px;
  }
}


.balloon-box{background: #dcd7d7; padding: 2.5% 2.5% 3% 2.5%; margin: 3% 0;}

.balloon {
  width: 100%;
  margin: 1.5em 0;
  display: -webkit-flex; display: -moz-flex; display: -ms-flex; display: -o-flex; display: flex; flex-wrap: wrap;

}

.balloon .faceicon {display: flex; justify-content: center; width: 150px; height:150px; overflow: hidden; border: solid 3px #fff; border-radius: 200px; box-shadow:rgba(156, 141, 211, 0.309804) 0px 0px 6px 3px; -webkit-box-shadow:rgba(156, 141, 211, 0.309804) 0px 0px 6px 3px; -moz-box-shadow:rgba(156, 141, 211, 0.309804) 0px 0px 6px 3px; }
.balloon .faceicon img{ width: 100%; height: auto; transform: scale(1.5); }

.balloon .faceicon2 { width: 200px; margin-left:20px;}
.balloon .faceicon2 img{ width: 85%; height: auto; border: solid 3px #fff; border-radius: 200px 10px 10px 10px; box-shadow:rgba(156, 141, 211, 0.309804) 0px 0px 6px 3px; -webkit-box-shadow:rgba(156, 141, 211, 0.309804) 0px 0px 6px 3px; -moz-box-shadow:rgba(156, 141, 211, 0.309804) 0px 0px 6px 3px; margin-right:3%;}



.balloon .chatting {
  width: 100%;
}


.says {
  display:block ;
  position: relative;
  margin: 0px 0 0 80px;
  padding: 17px 13px;
  border-radius: 12px;
  background: #FFFFFF;
}

.says:after {
  content: "";
  display: inline-block;
  position: absolute;
  top: 18px;
  left: -24px;
  border: 12px solid transparent;
  border-right: 12px solid #FFFFFF;
}

.says p {
  margin: 0;
  padding: 0;
}


/*================================================
 *  Q and A (6100)
 ================================================*/

.qa {
	border: solid 1px #a00032;
	clear: both;
	width: 100%;
    margin: 1.5em 0;
    overflow: hidden;
	padding: 1em;
/*	color: #a00032;*/
	background-color: rgba(255,255,255,.8);
	margin: .5em auto 1em;
}
.face_l, .face_r {
	display: flex;
	align-items: center;
	position: relative;
	margin: 0 5em 0.5em 5em;
}
@media (max-width: 750px) {
.face_l, .face_r {
	margin: 0 0 1em 0;
}
}


.face_name {
	padding: 0 10px;
	background: pink;
	font-size: 60%;
	height: 1.75em;
}
.face_r .face_name {
 position: absolute;
  bottom: 0;
  right: 0;
}
.face_l .face_name {
 position: absolute;
  bottom: 0;
  left: 0;
}



@media (max-width: 750px) {
.face_l img,.face_r img {
	width: 25%;
  height: auto;
  border: solid 3px #d7ebfe;
  border-radius: 20%;
}
}

@media (min-width: 751px) {
.face_l img,.face_r img {
	width: 13%;
  height: 100%;
  border: solid 3px #d7ebfe;
  border-radius: 20%;
}
}


.commentary {
  display: flex;
  flex-direction: row;
/*  border-left: 3px double pink;	*/
  border-top: 1px solid pink;
  border-bottom: 1px solid pink;
  padding:1.5em 0em 0.5em 0em;
  position: relative;
  margin-top: 1em;
	margin-bottom: 0.5em;
  /*background-color: rgba(255,192,203,0.5);*/
}

.commentary .note {
  font-size: 80%;
  position: absolute;
  top: 0;
  left: 0;
  padding: 0 10px;
  background: pink;
	}



.commentary .photo {
	display: block;
	width:80%;
	padding: 0.75em;
	margin: 0 auto;
/*	text-align: center;*/
	background-color:rgba(33, 29, 18, 0.6);
}

.commentary .commentary_body {
	display: block;
	width:100%;
	padding:0 1em 0 0;
	margin: 0 auto;
}

@media (max-width: 750px) {
.commentary {
  display: flex;
  flex-direction: column;
}
.commentary .photo {
	width:80%;
	padding:0.5em;
	margin: 0.75em auto;
}
.commentary .commentary_body {
	padding:0 0 0em 0;
	margin: 0 auto;
}
}

.qa ul.pagelink {
  margin: 0 auto 0;
}




/*開発チェック用*/
.new2025 {
    border: 1px solid black;
}




/*5200作戦の種類表*/
table.sakusen th.img {
 height: 0.9em;
    width: 0.9em;
}
table.sakusen th span {
    font-size: 90%;
    color: yellow;
}

table.sakusen th br {
    @media (min-width: 751px){
        display:none;
    }
}

