@charset "utf-8";

/* *******************************************************************
//
// Browser default initialization
//
// **************************************************************** */

html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video, svg {
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
  vertical-align: baseline;
  outline: 0;
}
*, ::before, ::after {
  box-sizing: inherit;
  font-style: normal;
  font-weight: inherit;
  font-size: inherit;
  -webkit-tap-highlight-color: rgba(0,0,0,0);
}
html, body {
  height: 100%;
}
html {
  overflow-y: scroll;
  box-sizing: border-box;
  line-height: 1;
  -webkit-text-size-adjust: 100%;
  -ms-text-size-adjust: 100%;
}
body {
  color: #333333;
  font-weight: normal;
  letter-spacing: normal;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
	min-width: inherit !important;
}
input, select, textarea, button {
  margin: 0;
  color: inherit;
  font-family: inherit;
  line-height: inherit;
}
blockquote, q {
  quotes: none;
}
blockquote::before, blockquote::after, q::before, q::after {
  content: '';
  content: none;
}
dl, ol, ul {
  list-style: none;
}
table {
  border-collapse: collapse;
  border-spacing: 0;
}
img {
  vertical-align: bottom;
}
img, x:-moz-any-link, x:default {
  box-shadow: #333 0 0 0;
}
a {
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  color: inherit;
  -webkit-user-select: none;
  -moz-user-select: none;
  -khtml-user-select: none;
}
a:hover {
	-webkit-transition: 0.5s;
	-moz-transition: 0.5s;
	-o-transition: 0.5s;
	transition: 0.5s;
	filter: alpha(opacity=60);
	-moz-opacity:0.6;
	opacity:0.6;
}
svg {
  line-height: 1;
  vertical-align: top;
}
svg:not(:root) {
  overflow: hidden;
}
:focus {
  outline: none;
}

/* *******************************************************************
//
//
//
// **************************************************************** */

html {
  color: #333333;  
}
body {
  background: #fff;
  font-weight: 400;
  font-size: 16px;
  line-height: 1.6;
	font-family: YakuHanJP, "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Noto Sans JP", Meiryo, sans-serif;
}
* {
  box-sizing: border-box;
}
h1, h2, h3, h4, h5, h6 {
  line-height: 1.5;
}
a {
  text-decoration: none;
}
img {
  max-width: 100%;
  height: auto;
}
@media screen and (max-width: 768px) {
  main img {
    width: 100%;
  }
}

/* env */
.env-device_is_mobile *,
.env-device_is_tablet * {
  cursor: pointer;
}

/* clearfix */
.clearfix::after {
  display: block;
  clear: both;
  content: '';
}

@media screen and (min-width: 769px) {
  .only-sp {
    display: none;
  }
}

@media screen and (max-width: 768px) {
  body {
    /*font-size: 3.8vw;*/
    font-size: 14px;
    line-height: 1.6;
  }
  h1, h2, h3, h4, h5, h6 {
    line-height: 1.4;
  }
  .only-pc {
    display: none;
  }
}


/* *******************************************************************
//
// Common component styles
//
// **************************************************************** */

/* =============================================================================
 common component
============================================================================= */


/* foot */
.st-footerSns_ico{
	width: 40px;
}

@media screen and (min-width: 769px) {
	.f-breadcrumb {
		width: auto;
		max-width: 1280px;
		padding-left: 4%;
		padding-right: 4%;
	}
	.f-breadcrumb li {
		font-size: 1.1rem;
	}
}



/* =============================================================================
 common header
============================================================================= */

header {
    width: 100%;
    height: 90px;
}
header .headInner {
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100%;
    height: 90px;
    margin: 0 auto;
    padding: 0 4%;
    box-sizing: border-box;
}
header .logo {
  	width: 120px;
}
header ul.head_btn {  
    display: flex;
    align-items: center;
    z-index: 10;
}
header ul.head_btn li {
	margin-right: 2em;
	position: relative;
}
header ul.head_btn li:last-child {
	margin-right: 0;
}
header ul.head_btn li a {
	display: inline-block;
	color: #014f2b;
	font-weight: 700;
	
}

header ul.head_btn li:last-child a {
	background: url("../images/btn_bg.png") no-repeat 50% 50% / 600px auto;
	width: 240px;
	height: 74px;
	line-height: 74px;
	text-align: center;
}
header ul.head_btn li:last-child a:after {
    display: block;
    content: '';
    position: absolute;
	top: 0;
	bottom: 0;
	right: 1.0em;
	margin: auto;
	width: 1.7em;
	height: 1em;
	background: url("../images/arrow.png") no-repeat 0 40% / 100% auto;
}
header .hd_btn {
	display: none;
}

@media screen and (max-width: 768px) {
	header {
		position: relative;
		height: 56px;
	}
	header .headInner {    
        padding: 0 4%;
        height: 56px;
	}
	header .logo {
	  	width: 210px;
	}	
	header .logo img {
		width: 100%;
	}
	header ul.head_btn {
		display: none;
		font-size: 1.4rem;
	}
	header ul.head_btn li {
		margin-right: 1em;
	}
	header ul.head_btn li:last-child a {
		font-size: 1.5rem;
		width: 20vw;
		min-width: 160px;
		height: 54px;
		line-height: 54px;
		border-radius: 27px;
		padding-right: 0.5em;
	}
	header ul.head_btn li:last-child a:after {    
		width: 6vw;
	}
	header .menu_head {
        padding: 0;
        position: static;
        margin-top: 0;
		background: none;
	}
	header .menu_head nav {
	  	width: auto;
	}
	header .menu_head .menu-trigger, header .menu_head .menu-trigger span {
        display: inline-block;
        transition: all .4s;
        box-sizing: border-box;
	}
	header .menu_head .menu-trigger {
        display: block;
        position: absolute;
        top: 16px;
        right: 4%;
        width: 30px;
        height: 24px;
        z-index: 10002;
        cursor: pointer;
	}
	header .menu_head .menu-trigger span {
        position: absolute;
        width: 100%;
        height: 2px;
        background-color: #2fb383;
	}
	header .menu_head .menu-trigger span:nth-of-type(1) {
	  	top: 0;
	}
	header .menu_head .menu-trigger span:nth-of-type(2) {
	  	top: 11px;
	}
	header .menu_head .menu-trigger span:nth-of-type(3) {
	  	bottom: 0;
	}
	header .menu_head .gnav {
        position: absolute;
        display: none;
	}
	header .menu_head .gnav.active {
        display: block;
        background: rgba(35, 24, 21, 0.85);
        right: 0;
        top: 0;
        width: 90%;
        padding: 8vw 0 8vw 2em;
        z-index: 10001;
	}
	header .menu_head .menu-trigger.active span {
	  	background-color: #fff;
	}
	header .menu_head .menu-trigger.active span:nth-of-type(1) {
        -webkit-transform: translateY(12px) rotate(-315deg);
        transform: translateY(12px) rotate(-315deg);
	}
	header .menu_head .menu-trigger.active span:nth-of-type(2) {
	  	opacity: 0;
	}
	header .menu_head .menu-trigger.active span:nth-of-type(3) {
	  	-webkit-transform: translateY(-10px) rotate(315deg);
	  	transform: translateY(-10px) rotate(315deg);
	}
	header .menu_head .gnav.active ul {
	  	display: block;
	  	font-size: 3.8vw;
	}
	header .menu_head .gnav.active ul li {
	  	margin-bottom: 0.5em;
		padding-bottom: 0.5em;
	  	line-height: 1.6;
	}
	header .menu_head .gnav ul li:first-child {
        display: block;
        position: relative;
        line-height: 2.1;        
        color: #fff;
	}
	header .menu_head .gnav ul li a {
        padding-left: 1em;
        position: relative;
        color: #fff;
	}
	header .menu_head .gnav ul li:last-of-type {
		margin-top: 7vw;
	}
	header .menu_head .gnav ul li:last-of-type a {
		color: #014f2b;
		width: 74vw;
		height: 14vw;
		line-height: 14vw;
		border-radius: 7vw;
		font-size: 4.2vw;
	}
	header .menu_head .gnav ul li a:before {
        display: inline-block;
        content: '';
        width: 0.45em;
        height: 0.45em;
        position: absolute;
        top: 45%;
        left: 0;
        margin-top: -0.2em;
        border-top: 0.4vw solid #fff;
        border-right: 0.4vw solid #fff;
        -webkit-transform: rotate(135deg);
        transform: rotate(135deg);
        transition: 0.4s;
	}
	header .menu_head .gnav ul li:last-of-type a:before {
		content: none;
	}
	header .menu_head .gnav ul li a:hover {
	  	opacity: 1;
	}
	header .menu_head .gnav ul li.spBtn {
        width: 84vw;
        margin-bottom: calc(26/750*100vw);
	}
	header .menu_head .gnav ul li.susume {
        width: 55vw;
        margin-bottom: calc(64/750*100vw);
	}
	header .menu_head .gnav ul li.spBtn a {
	  	padding-left: 0;
	}
	header .menu_head .gnav ul li.spBtn a:before {
	  	content: none;
	}
	header .menu_head .gnav.active ul li.hd_btn {
		display: block;
		margin-bottom: 0;
		padding-bottom: 0;
		border-bottom: none;
	}
	.hd_btn a{
		display: block;
		background-color:#bcba72;
		padding: 2% 5%;
	}
	header .menu_head .gnav ul li.hd_btn {
		margin-top: 1.0em;
	}
	header .menu_head .gnav ul li.hd_btn a {
		padding: 0.8em 0 0.8em 1em;		
	}
	header .menu_head .gnav ul li.hd_btn a:before {
		left: 90%;
	}	
}

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

main {
	overflow: hidden;
    margin: 0 auto;
	background: linear-gradient(90deg, #DEECFF 0%, #E3F6DF 100%);
    text-align: center;
}
.secInner {
  	max-width: 1080px;
  	margin-left: auto;
  	margin-right: auto;
	text-align: left;
	padding: 0 4% 4em;
	box-sizing: border-box;
}
.txt_sml {
	font-size: 70%;
}
.txt_lar {
	font-size: 120%;
}
.txt_bold {
	font-weight: 700;
}
.txt_torikeshi {
	text-decoration: line-through;
}
.highlighter {
	background: linear-gradient(transparent 75%, #f9f89c 75%);
}
.txt_slash:before,
.txt_slash:after {
    display: inline-block;
    content: '';
    width: 0.8em;
    height: 0.6em;
    border-left: 1px solid #509d58;
    -webkit-transform: rotate(-30deg);
    transform: rotate(-30deg);
	vertical-align: 0.2em;
}
.txt_slash:after {
	width: 0.7em;
    border-left: none;
    border-right: 1px solid #509d58;
    -webkit-transform: rotate(30deg);
    transform: rotate(30deg);
}
.ttl-border {
	display: flex;
	align-items: center;
}
.ttl-border:before,
.ttl-border:after {
    border-top: 1px solid #8f7030;
    content: "";
    flex-grow: 1;
}
.ttl-border:before {
	margin-right: 2em;
}
.ttl-border:after {
	margin-left: 2em;
}
.flexbox {
	display: flex;
	justify-content: space-between;
}
.whitebox {
	padding: 3em;
	background: #ffffff;
}
.borderbox {
	border: 10px solid #ededed;
	padding: 2em;
}
.borderbox_in {
	position: relative;
	padding: 3em;
	background: #ffffff;
	border-radius: 1.5em;
	margin-bottom: 2.5em;
	z-index: 1;	
}
.borderbox_in:before {
	display: block;
	position: absolute;
	top: 0.5em;
	left: 0.5em;
	width: calc(100% - 1em);
	height: calc(100% - 1em);
	border: 2px solid #027b47;
	border-radius: 1em;
	content: '';
	z-index: -1;
}
.borderbox_in a {
	position: relative;
	z-index: 10;
}
.kadomarubox {
	background: #ffffff;
	max-width: 860px;
	border: 0.5em solid #2fb383;
	border-radius: 20px;
	box-sizing: border-box;
	padding: 1.5em 3em;
	margin: auto;
	position: relative;
}
.shadowbox {
	background: #ffffff;
	box-shadow: 0 0 1em -0.3em #777777;	
}
a.shadowbox:hover {
	box-shadow: 0 0 0 0;
}
.btnarea {
	text-align: center;
	background: url("../images/img_robot03.png") no-repeat calc(50% - 290px) 50% / 100px auto;
	padding: 30px 0;
}
.btnarea a {
	display : inline-block;
	color: #014f2b;
	text-align: center;
	background: url("../images/btn_bg.png") no-repeat 50% 50% / 600px auto;
	width: 450px;
	height: 90px;
	line-height: 90px;
	position: relative;	
	font-size: 2.6rem;
	font-weight: 700;
	border-radius: 45px;
}
.btnarea a:before {
    display: block;
    content: '';
    position: absolute;
    z-index: 2;
    top: 0;
	bottom: 0;
    right: 8%;
	margin: auto;
    width: 1.5em;
    height: 1em;
	background: url("../images/arrow.png") no-repeat 0 40% / 100% auto;
}
ul.list_dot li{
  padding-top: 0.2em;
  padding-left: 1em;
  text-indent: -0.45em;
  line-height: 1.5;
  margin-bottom: 0.3em;
}
ul.list_dot li:before {
  content: "●";
  font-size: 40%;
  padding-right: 0.8em;
  display: inline-block;
  vertical-align: 0.6em;
}
ul.list_border li{
  padding-top: 0.2em;
  padding-left: 1em;
  text-indent: -0.45em;
  line-height: 1.5;
  margin-bottom: 0.3em;
}
ul.list_border li:before {
	content: "━";
	font-size: 60%;
	vertical-align: 0.2em;
}
ul.list_cir li{
  padding-top: 0.2em;
  padding-left: 1em;
  text-indent: -1em;
}
ul.list_cir li:before {
  content: "";
  display: inline-block;
  border: 3px solid #999999;
  width: 0.7em;
  height: 0.7em;
  border-radius: 50%;
  margin-right: 0.2em;
}
ul.list_cir.pink  li:before {
	border-color: #ed3780;	
}
ul.list_slash li:after {
  content: "/";
  display: inline-block;
  margin: 0 0.5em;
}
ul.list_kome li,
p.kome {
    text-indent: -1em;
    margin-left: 1em;
	font-size: 1.2rem;
	color: #5a5a5a;
}
ul.list_kome li:before,
p.kome:before {
	content: "※";
}
table {
	width: 100%;
	border-right: 1px solid #9ec565;
	border-bottom: 1px solid #9ec565;
	background: #ffffff;
}
table th,
table td {
	border-top: 1px solid #9ec565;
	border-left: 1px solid #9ec565;
	padding: 0.8em 1em;
	line-height: 1.4;
	text-align: center;
}
table th {
	color: #ffffff;
	background: #8bbc45;	
	vertical-align: middle;
}
table th:nth-of-type(n+2) {
	border-left: 1px solid #ffffff;
}
table tr.green td {
	background: #f5f9ef;
}
table td {
	font-size: 1.5rem;
}
table td.kouza {
	text-align: left;
}
.shadow {
	position: relative;
}
.shadow:before,
.shadow:after {
	z-index: 0;
	position: absolute;
	content: "";
	bottom: 15px;
	left: 8px;
	width: 50%;
	top: 80%;
	max-width:140px;
	background: #d0cecb;
	-webkit-box-shadow: 0 15px 10px #827f7e;
	-moz-box-shadow: 0 15px 10px #827f7e;
	box-shadow: 0 15px 10px #827f7e;
	-webkit-transform: rotate(-4deg);
	-moz-transform: rotate(-4deg);
	-o-transform: rotate(-4deg);
	-ms-transform: rotate(-4deg);
	transform: rotate(-4deg);
}
.shadow:after {
	-webkit-transform: rotate(4deg);
	-moz-transform: rotate(4deg);
	-o-transform: rotate(4deg);
	-ms-transform: rotate(4deg);
	transform: rotate(4deg);
	right: 8px;
	left: auto;
}
.pagetop {
    display: none;
    position: fixed;
    right: 20px;
    bottom: 20px;
	z-index: 100;
}
.pagetop a {
	position: relative;
    display: block;
    font-size: 0;
    width: 50px;
    height: 50px;
    text-align: center;
    background: #111111;
    border-radius: 50%;
    line-height: 50px;	
	filter: alpha(opacity=75);
	-moz-opacity:0.75;
	opacity:0.75;
}
.pagetop a:hover{
	-webkit-transition: 0.5s;
	-moz-transition: 0.5s;
	-o-transition: 0.5s;
	transition: 0.5s;
	filter: alpha(opacity=100);
	-moz-opacity:1;
	opacity:1;
}
.pagetop a::before {
    display: block;
    content: '';
    position: absolute;
    z-index: 2;
    margin: auto;
    top: 20px;
	left: 0;
    right: 0;
    width: 10px;
    height: 10px;
    border-right: 3px solid #FFFFFF;
    border-bottom: 3px solid #FFFFFF;
    -webkit-transform: rotate(-135deg);
    transform: rotate(-135deg);
}

@media screen and (max-width: 768px) {
    main {  
		padding-top: 0;
    }
	.sec_cont {
		padding: 8vw 0;
		box-sizing: border-box;
	}
	.ttl-border:before {
		margin-right: 1em;
	}
	.ttl-border:after {
		margin-left: 1em;
	}
	.flexbox {
		flex-direction: column;
	}
	.whitebox {
		padding: 1.5em 4%;
	}
	.borderbox {
		border-width: 6px;
		padding: 1em 4%;
	}
	.borderbox_in {
		margin-bottom: 1.5em;
	}
	.borderbox_in:before {
		top: 1.5vw;
		left: 1.5vw;
		width: calc(100% - 3vw);
		height: calc(100% - 3vw);
	}
    .kadomarubox {        
        border-radius: 10px;
        padding: 7vw 5vw;
		border-width: 6px;
        padding-top: 5vw;
        padding-bottom: 5vw;
    }
	.btnarea {
		background-position: 5vw 50%;
		background-size: 20vw auto;
		padding: 14vw 0 3vw 10vw;
	}
	.btnarea a {
		width: 64vw;
		height: 14vw;
		line-height: 14vw;
		padding: 0 7vw 0 0;
		font-size: 4.6vw;
	}
	.btnarea a:before {
		width: 7vw;
	}
	ul.list_kome li,
	p.kome {
		font-size: 2.8vw;
	}
	.shadow:before {
		  left: 8%;
	}
	.shadow:after {
		  right: 8%;
	}
	table th,
	table td {
		padding: 0.6em;
	}
	.pagetop {
		right: 2%;
		bottom: 4vw;
	}	
	.i_block {
		display: inline-block;
	}
}


.ttlarea {
	margin: 3em auto 2em;
	text-align: center;
	max-width: 960px;	
}
.ttlarea h1 {
    font-size: 2.2em;
	line-height: 1.3;
	margin-bottom: 0.5em;
}
.ttlarea p {
	font-size: 1.1em;
}

.contwrap:not(:last-of-type) {
	margin-bottom: 3em;
}
.contwrap h2 {
	font-size: 1.8em;
	margin-bottom: 1em;
	text-align: center;
	background: #24b7b3;
	color: #fff;
	font-weight: 600;
}

.report-container {
    max-width: 900px;
    margin: 0 auto 3em;
    background: #ffffff;
    padding: 40px 50px;
    box-shadow: 0 10px 15px -3px rgb(0 0 0 / 0.1);
    border-radius: 12px;
}
.question-title {
    font-size: 1.15em;
    font-weight: 700;
    display: flex;
    align-items: flex-start;
    margin-bottom: 25px;
}

.q-number {
    background: #24b7b3;
    color: white;
    padding: 2px 12px;
    border-radius: 4px;
    margin-right: 15px;
    font-size: 0.9em;
    flex-shrink: 0;
}

/* グラフ統計エリア */
.chart-area {
    margin: 20px 0 20px 55px;
}
.bar-item {
    margin-bottom: 20px;
}
.bar-label {
    display: flex;
    justify-content: space-between;
    margin-bottom: 8px;
}
.star-type-long .bar-label {
    margin-bottom: 0;
}
.bar-outer {
    background: #f1f5f9;
    border-radius: 20px;
    height: 16px;
    overflow: hidden;
}
.bar-inner {
    background: linear-gradient(90deg, #2DB0DC 0%, #5FE9AC 100%);
    height: 100%;
    border-radius: 20px;
}

.star-list {
	display: flex;
	align-items: center;
	gap: 1em;
	margin-bottom: 0.5em;
}
.star-list .icon {
	width: 18%;
}
.star-list .icon img {
	vertical-align: -0.25em;
}
.star-list .bar-outer {
	width: 60%;
}
.star-list span {
	display: inline-block;
	width: 12%;
	text-align: right;
}

/* ラベルあり */
.star-type-long .bar-item {
	margin-bottom: 0;
}
.star-type-long .star-list {
	justify-content: space-between;
	gap: 0;
}
.star-type-long .star-list .bar-outer {
	width: 79%;
}

.note {
	text-align: center;
}

@media screen and (max-width: 768px) {
	.ttlarea h1 {
		font-size: 2em;
	}
	.ttlarea p {
		margin: 0 4%;
	}
	.question-title {
		font-size: 1em;
		margin-bottom: 1em;
		line-height: 1.4;
	}
	.q-number {
		padding: 2px 6px;
		margin-right: 10px;
	}
	.star-list {
		gap: 3%;
	}
	.star-list .icon {
		width: 25%;
		max-width: 120px;
	}
	.star-list .bar-outer {
		width: 45%;
	}
	.star-list span {
		width: 24%;
	}
	.star-type-long .star-list .bar-outer {
		width: 72%;
	}
}

@media (max-width: 640px) {
    .report-container {
        padding: 20px; margin-bottom: 2em;
    }
    .chart-area, .comment-list {
        margin-left: 0;
    }
}
@media (max-width: 413px) {
	.star-list .icon img {
		vertical-align: text-top;
	}
	.star-type-long .star-list .bar-outer {
		width: 70%;
	}
}



