@charset "UTF-8";

*,
::before,
::after {
  box-sizing: border-box;
  border-style: solid;
  border-width: 0;
}

a {
	text-decoration: none;
	color: #ffffff;
}
a.textlink {
	color: #0000EE;
	text-decoration: underline;
}

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

.img-link:hover{
	transform: scale(1.1,1.1);
}
.img-radius{
	border-radius: 10px;
}
.personal-type{
	max-width: 70%;
}

html {
    font-size: 62.5%;
	font-weight:500;
}
body {
/*    letter-spacing: 0.05em;
    font-feature-settings: "palt";
    font-family: "Helvetica Neue", "Helvetica", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Arial", "Yu Gothic", "Meiryo", sans-serif; */
	font-family: "Kosugi Maru", sans-serif;
	font-style: normal;
	font-feature-settings: "palt";

	font-size: 1.5rem;
	font-weight: 500;
/*     font-style: normal; */
	line-height: 3.5rem;
	color:#555;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
	scroll-behavior: smooth;
	background-image: url("../img/fidia-mid-251017/lp_bg_body-min.png");
	background-attachment: fixed;
	background-repeat:no-repeat;
	background-position: center;
	background-size: cover;
	margin: 0 auto;
}
header{
    display: none!important;
}
footer{
    display: none!important;
}

h2{
	font-size: clamp(1.4rem, calc(8.0vw), 2.3rem);
	color: #26AB9C;
	border-bottom:5px dotted #26AB9C;
	text-align:center;
	font-weight:700;
}
h3{
	padding: 0.4em 1.0em;
	color: #494949;
	background: #fefefe;
	border-left: solid 5px #26AB9C;
	border-bottom: solid 3px #d7d7d7;
}

h4 {
	font-size: 1.3em;
	color: #fff;
	padding: 0.8em;
	display: inline-block;
	line-height: 1.3;
	background: #26AB9C;
	vertical-align: middle;
	border-radius: 25px 0px 0px 25px;
	margin-top: 0px;
	margin-bottom: 0.4em;
}

h4:before {
	content: '●';
	color: white;
	margin-right: 8px;
}

h5 {
	display: inline-block;
	font-size: 1.1em;
	position: relative;
	padding: 0.2em;
	background: #48729a;
	color: #ffffff;
}

h5:after {
	position: absolute;
	content: '';
	top: 100%;
	left: 2.0em;
	border: 15px solid transparent;
	border-top: 15px solid #48729a;
	width: 0;
	height: 0;
}
p{
	font-size: 1.2em;
	line-height: 1.8em;
	padding-left: 1.2em;
	padding-right: 1.2em;
	margin-bottom: 2.0em;
}
p.nomargin{
	margin-bottom: 0;
}
ul{
	list-style: none;
	display: inline-block;
	text-align: left;
	padding-right:24px;
	padding-left: 24px;
	border:5px dashed #e8bfbf;
	border-radius:10px;
}
li {
	font-size: clamp(1.3rem, calc(4.5vw), 3.0rem);
	position: relative;
	padding: 0.5em 0 0.5rem 0;
	border-bottom: 3px dotted #ccc;
	  display: flex;
  align-items: flex-start;
}
li::before {
  content: "✅"; /* ← ここで絵文字を指定（&#x2705; でもOK） */
  color: #26AB9C; /* チェックの色（任意） */
  margin-right: 0.6em;
  flex-shrink: 0;
/*
	content: '';
	display: inline-block;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	left: 0;
	width: 10px;
	height: 10px;
	background-color: #e8bfbf;
	border-radius: 5px;
*/
}
li:last-child {
	border-bottom: none;
}
li .small{
	font-size: clamp(1.2rem, calc(2.0vw), 2.0rem) !important;
}
@media (max-width: 480px) {
	ul{
		padding-left: 12px;
		padding-right: 12px;
		margin-left: 6px;
		margin-right: 6px;
	}
	li {
		font-size: clamp(1.2rem, calc(5.0vw), 2.2rem);
	}
	li.large{
		font-size: clamp(1.2rem, calc(10.0vw), 3.0rem);
	}
	li .small{
		font-size: clamp(1.2rem, calc(4.0vw), 2.0rem) !important;
	}
}
.large-text{
	font-size: clamp(1.4em, 4vw, 2.8em);
	color:#494949;
	font-weight:700;
	line-height: 1.2em;
}
.large-text-ex{
	font-size: clamp(1.4em, 5vw, 3.0em);
	color:#494949;
	font-weight:700;
	line-height: 1.2em;
}
@media (max-width: 480px) {
	.large-text{
		font-size: clamp(1.4em, 6.0vw, 2.0em);
		color:#494949;
		font-weight:700;
		line-height: 1.2em;
	}
	.large-text-ex{
		font-size: clamp(1.4em, 9.0vw, 4.0em);
		color:#494949;
		font-weight:700;
		line-height: 1.2em;
	}
}
.marker{
	background:linear-gradient(transparent 60%, #b8fdff 60%);
}
.center{
	text-align:center;
}
.bg-white{
	background-color: #ffffff;
}
.bg-green{
	background-color: #26AB9C;
	color:#fff;
	padding:0.25em 0.1em;
	margin:0.5em 0em;
}
.tx-red{
	color: #c70202;
}
.tx-green{
	color: #26AB9C;
}
.triangle {
	width: 0;
	height: 0;
	border-style: solid;
	border-right: 50px solid transparent;
	border-left: 50px solid transparent;
	border-top: 40px solid #26AB9C;
	border-bottom: 0;
	display: block;
	margin: 0 auto;
}
.wrap{
	background-color:#e8bfbf;
    max-width: 750px;
    padding:  0px 20px;
    margin:0 auto;
}
.wrap1{
	width:100%;
	border:5px solid #e8bfbf;
	border-radius:10px;
	box-shadow: 1px 5px 5px 1px #222222;
	background-color: #fcfcf7;
	padding:0.5em 0.5em 1.5em 0.5em;
	margin: 0 auto;
	box-sizing: border-box;
}
.wrap2{
	width: 100%;
	border:5px solid #e8bfbf;
	border-radius:10px;
	box-shadow: 1px 5px 5px 1px #222222;
	background:#fcfcf7;
	padding:0.5em 0.5em 1.5em 0.5em;
	margin: 0em 0em 2.0em 0em;
}
.wrap-image{
	width:100%;
	border:5px solid #e8bfbf;
	border-radius:15px;
	box-shadow: 1px 5px 5px 1px #222222;
	background-color: #fcfcf7;
	padding:0em 0em 0em 0em;
	margin: 0 auto;
	box-sizing: border-box;
}
.wrap-image h2{
	margin-bottom: 0;
}
.wall{
	position: relative;
	background-color: #ffffff;
	background-image: radial-gradient(#ffedba 2px, transparent 2px);
	background-size: 30px 30px;
}
.lr-box {
	display: flex;
}
.lr-block {
	display: flex;
	width: 50%;
	font-size: 1.6em;
	color:#48729a;
	font-weight:700;
	align-items: center;
	padding: 0em 0.25em;
}
/* スマホの場合は1列に */
@media (max-width: 700px) {
	p{
		padding-left: 0.5em;
		padding-right: 0.5em;
	}
	.lr-box {
		display: block;
		text-align: center;
	}
	.lr-block {
		display: inline-block;
		width: fit-content;
		text-align: left;
		padding: 0;
	}
}
.pconly{
	display:block;
}
.sponly{
	display:none;
}

/*FV-area ファーストビュー*/
.fv-area{
	width:100%;
	border:5px solid #e8bfbf;
	border-radius:10px;
	box-shadow: 1px 5px 5px 1px #222222;
	background:#fcfcf7;
	padding:0.5em 1em 0.5em 1em;
	margin: 0 auto;
}
.fv-area img{
    width: 100%;
}
.cta-container {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	gap: 2rem;
	margin-top: 2rem;
	flex-wrap: wrap;
}
.cta-btn{
    display: block;
    width: 100%;
    text-align: center;
    bottom: .3rem;
}
.cta-btn a{
    display: inline-block;
    background-color: #26AB9C;
    padding: 1vw;
    border-radius: 15px;
    font-size: 2.1rem;
    font-weight: 700;
    min-width: 280px;
    width: 17%;
	box-shadow:0px 10px 15px -10px;
	transition:.5s;
}
.cta-btn a:hover{
	transform:scale(1.2,1.2);
}

.cta-btn-o{
    display: block;
    width: 100%;
    text-align: center;
    bottom: .3rem;
}
.cta-btn-o a{
    display: inline-block;
    background-color: #ffb121;
    padding: 1vw;
    border-radius: 15px;
    font-size: 2.3rem;
    font-weight: 700;
    min-width: 280px;
    width: 17%;
	box-shadow:0px 10px 15px -10px;
	transition:.5s;
}
.cta-btn-o a:hover{
	transform:scale(1.2,1.2);
}


/*sec5*/
.sec5-area{
    background: url("../img/evand-mid/sec5-bg.jpg");
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center bottom;
}
.sec5-area h2 img{
    margin: 0 auto;
    padding-bottom: 40px;
}
.int-white{
    background-color: #fff;
    padding: 50px;
    margin-bottom: 80px;
}
.int-white h3 img{
    margin: 0 auto;
    padding-bottom: 35px;
}
.int-top{
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-size: 1.8rem;
    font-weight: 700;
    padding-bottom: 60px;
}
.int-top-l{
    width: 43%;
}
.int-top-r{
    width: 50%;
    font-size: 2.2rem;
}
.int-tab{
    padding-left: 6rem;
    display: block;
}

/*table*/

.oubo-item{
    margin-bottom: 2.0em;
    border: solid 1px #156a70;
}
.oubo-item .table-row{
    display: flex;
    border-bottom: solid 1px #156a70;
    justify-content: space-between;
}
.oubo-item .table-row:last-child{
    border-bottom: none;
}
.table-l{
    width: 23%;
    text-align: center;
    font-size: 2rem;
    font-weight:700;
    background-color: #26AB9C;
	color: #fff;
    padding: 20px 10px;
}
.table-r{
    width: 77%;
    font-size: 2rem;
    padding: 20px 25px;
}
.table-r p{
	font-size: 1.0em;
	padding-left: 0em;
	padding-right: 0em;
	padding-bottom: 40px;
}
.table-r p:last-child{
	padding-bottom:0;
}

.oubo-item:last-child{
    padding-bottom: 0;
}

/*entry-area エントリー*/
.contact-form{
    background: #fff;
    padding: 0px 20px 100px 20px;
}
.contact-form .hissu{
    color: #ff0000;
}
.form-item input, .form-item textarea{
    width: 100%;
}
.footer{
    text-align: center;
    background-color: #e8bfbf;
    font-weight: 700;
}
input:focus{
    outline: none;
}
/****************************************************************************
 * 
 * 20221226追加
 * 
 *****************************************************************************/
.table-r p.areattl{
    color: #38AB84;
    border-bottom: solid 2px #38AB84;
    display: block;
    padding:0 0 6px 2px;
    margin-bottom: 10px;
}
@media screen and (max-width:768px){
    .table-r p.areattl{
        border-bottom: solid 1px #38AB84;
        padding:0 0 1px 2px;
         margin-bottom: 5px;
    }
}


@media screen and (max-width:768px){
    .pconly{
        display: none;
    }
    .sponly{
        display: block;
    }
    .wrap{
        padding: 0px 5px;
    }

    /*fv*/
    .fv-area{
        padding-bottom: 10px;
    }
    .cta-btn a{
        font-size: 4.0vw;
        width: 60%;
        padding: 1.5vw;
		min-width:auto;
    }
    .cta-btn{
        bottom: 1.0em;
		min-width:auto;
    }
    .cta-btn-o a{
        font-size: 4.0vw;
        width: 60%;
        padding: 1.5vw;
		min-width:auto;
    }
    .cta-btn-o{
        bottom: 1.0em;
		min-width:auto;
    }
    .oubo-item .table-row{
        display: block;
        border-bottom:none;
    }
    .table-l{
        width: 100%;
        text-align: left;
        font-size: 1.5rem;
        padding: 5px;
    }
    .table-r{
        width: 100%;
        font-size: 1.5rem;
        padding: 5px;
		font-weight: 600;
    }
	.table-r p{
		padding-bottom:20px;
	}
    .oubo-item{
        margin-bottom: 1.0em;
    }

    /*entry-area エントリー*/
    .contact-form{
        padding: 50px 20px;
        background-size: 100% 100%;
    }
    .contact-form h2{
        padding-bottom: 10px;
        width: 80%;
        margin: 0 auto;
    }
    .contact-text{
        font-size: 1.5rem;
			font-weight:600;
    }
    .contact-white{
        padding: 25px 10px;
    }
    .form-item{
        flex-direction: column;
    }
    .form-item br{
        display: none;
    }
    .form-text{
        width: 100%;
        line-height: normal;
        padding-bottom: 10px;
        font-size: 1.8rem;
    }
    .form-item .wpcf7-form-control-wrap{
        width: 100%;
    }
    .contact-btn input{
        font-size: 1.5rem;
    }
    .form-item .wpcf7-form-control-wrap{
        padding: 0;
        margin: 0;
        border: none;
        font-size: 1.8rem;
    }
    .form-item input, .form-item textarea{
        padding: 10px;
    }
}

@media screen and (max-width:479px){
    body{
        line-height: 2em;
    }
    .cta-btn{
        bottom: 1.0em;
    }
	.cta-btn a{
		font-size: 1.8rem;
		padding: 1.0rem;
	}
    .cta-btn-o{
        bottom: 1.0em;
    }
	.cta-btn-o a{
		font-size:1.8rem;
		padding: 1.0rem;
	}
    .fv-area{
        padding-bottom: 1.0em;
    }

/****************************************************************************
 * 
 * チェックボックスの追加cssここまで
 * 
 *****************************************************************************/

}
/*追従ボタン*/
.fixed-btn {
  position: fixed;
  bottom: 10px;
  right: 10px;
  transition: 0.3s;
  opacity: 0; /*デフォルトで非表示 */
  visibility: hidden; /*デフォルトで非表示 */
  z-index: 1000;
}

.active {
  opacity: 1;/* クラス付与で表示 */
  visibility: visible;/* クラス付与で表示 */
}

.fixed-btn:hover {
  transform: scale(1.1);
}
@media screen and (max-width: 768px){
  .fixed-btn {
    position: fixed;
    right: auto;
    left: 50%;
    transform: translate(-50%, 0);
    transition: 0.3s;
    width: 90%;
}
.fixed-btn:hover {
   transform: translate(-50%, 0) scale(1);
}
}


/* もっと見るボタン */
.btn-area {
  text-align: center;
}
.txt-hide1,.txt-hide2,.txt-hide3{
    display: none;
	padding-top: 2.0em;
}
.txt-hide1 p,.txt-hide2 p,.txt-hide3 p{
	padding: 0.5em 1.0em;
	background-color:#fff;
}
.accordion:before{
  display: block!important;
  content: "";
  position: absolute;
  top:0;
  right:-150px;
  bottom:0;
  left:0;
  margin:auto;
  width: 15px;
  height: 2px;
  background-color: #26AB9C;
  transition: .2s;
  transform: rotate(90deg);
  -webkit-transform: rotate(90deg);
}
.accordion:after{
  display: block!important;
  content: "";
  position: absolute;
  top: 0;
  right:-150px;
  bottom: 0;
  left: 0;
  margin: auto;
  width: 15px;
  height: 2px;
  background-color: #26AB9C;
  transition: .3s;
}
.accordion.on-click:before{
  transform: rotate(0deg);
  -webkit-transform: rotate(0deg);
}
.accordion.on-click:after{
  background-color: transparent;
}
button.more1,button.more2,button.more3 {
    display: inline-block;
    color:#26AB9C;
    background-color: #fff;
    padding: 10px 80px;
    border-radius: 17px;
    font-size:1.7rem;
    position: relative;
    outline: 0;
    transition: .5s;
    -erbkit-transition: .5s;
    border:none;
    border: solid 2px #26AB9C;
    font-weight: 700;
    margin-top: 10px;
}
@media screen and (max-width: 470px){
  button.more1,button.more2,button.more3 {
    font-size: 1.4rem;
  }
}
.bottom-btn{
    text-align: center;
    padding-bottom: 80px;
}
.bottom-btn .btn-area{
    padding-top: 0;
}
.bottom-btn .btn-area a{
    display: inline-block;
    color:#FF79AD;
    background: #fff;
    padding: 20px 80px;
    border-radius: 17px;
    font-size:1.7rem;
    position: relative;
    outline: 0;
    transition: .5s;
    -erbkit-transition: .5s;
    border:none;
    border: solid 2px #FF79AD;
    font-weight: 700;
}
.bottom-btn .btn-area a::after {
    content: '';
    width: 6px;
    height: 6px;
    border: 0px;
    border-top: solid 2px #FF79AD;
    border-right: solid 2px #FF79AD;
    -ms-transform: rotate(45deg);
}


/*------ FORM ------*/
#mid-form {
    border: 1px solid #26ab9c;
    display: flex;
	flex-flow: wrap;
    font-size: 22px;
}
#mid-form dt {
    width: 30%;
    background: #e6f6f4;
    display: flex;
    align-items: center;
    justify-content: space-between;
}
#mid-form dd {
    width: 70%;
}
#mid-form dt, #mid-form dd {
	margin: 0;
    padding: 30px 18px;
}
#mid-form dt:not(:last-of-type), #mid-form dd:not(:last-of-type) {
    border-bottom: 1px solid #089f8e;
}
#mid-form dt span.req {
    color: #fff;
    background: #089f8e;
    font-size: 18px;
    padding: 0 14px;
}
#mid-form input[type="text"], #mid-form input[type="email"], #mid-form select#your-job {
    width: 100%;
	font-size: 100%;
    box-sizing: border-box;
    border: 1px solid #d8d8d8;
    padding: 8px 20px;
}
#mid-form input[name="your-birth-year"]{
    width: 30%;
	font-size: 100%;
    box-sizing: border-box;
    border: 1px solid #d8d8d8;
    padding: 8px 20px;
}
#mid-form input[name="your-birth-month"]{
    width: 20%;
	font-size: 100%;
    box-sizing: border-box;
    border: 1px solid #d8d8d8;
    padding: 8px 20px;
}
#mid-form input[name="your-birth-day"]{
    width: 20%;
	font-size: 100%;
    box-sizing: border-box;
    border: 1px solid #d8d8d8;
    padding: 8px 20px;
}
#entry-form-link .submit-btn {
    text-align: center;
    margin-top: 80px;
}
#entry-form-link .submit {
    font-size: 34px;
    background:  #26AB9C;
	color:#fff;
    font-weight: 700;
    border-radius: 20px;
    padding: 24px 112px;
}

@media screen and (max-width:1024px) {
    #mid-form {
        font-size: 16px;
		flex-wrap: wrap;
    }
    #mid-form dt span.req {
        font-size: 14px;
        padding: 0 1.4vw;
        line-height: 1.8;
    }
    #mid-form dt, #mid-form dd {
        padding: 2.8vw 1.8vw;
    }
    #mid-form input[type="text"], #mid-form input[type="email"] {
        padding: 1vw 2vw;
    }
    #entry-form-link .submit {
        font-size: 24px;
        padding: 2.3vw 12vw;
    }
    #entry-form-link .submit-btn {
        margin-top: 6vw;
    }
}

@media screen and (max-width:750px) {
    #mid-form dt, #mid-form dd {
        width: 100%;
        padding: 3.8vw;
    }
    #entry-form-linl .submit-btn {
        margin-top: 10vw;
    }
    #entry-form-link .submit {
        font-size: 20px;
        padding: 3.3vw 16vw;
        border-radius: 12px;
    }
    main {
        padding-bottom: 26vw;
    }
}

/****************************************************************************
 * 
 * 浮かび上がる文字ここから
 * 
 *****************************************************************************/

:root{
	--reveal-distance: 18px;
	--reveal-duration: 1200ms;
	--reveal-ease: cubic-bezier(.2,.9,.3,1);
}
.reveal{
	opacity:0;
	transform:translateY(var(--reveal-distance));
	transition-property:opacity,transform;
	transition-duration:var(--reveal-duration);
	transition-timing-function:var(--reveal-ease);
	transition-delay:var(--delay, 0s);
	will-change:transform,opacity;
}
@media (prefers-reduced-motion: reduce) {
  .reveal {
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
  }
}
.reveal.is-revealed{
	opacity:1;
	transform:translateY(0);
}
.card{
	background:linear-gradient(180deg, rgba(255,255,255,0.03), rgba(255,255,255,0.02));
	border:1px solid rgba(255,255,255,0.05);
	padding:2rem;
	margin:2rem 0;
	border-radius:12px;
	box-shadow:0 6px 18px rgba(2,6,23,0.6);
}

/****************************************************************************
 * 
 * 浮かび上がる文字ここまで
 * 
 *****************************************************************************/
 /****************************************************************************
 * 
 * 選考フローここから
 * 
 *****************************************************************************/
 
 .flow-box{
    position: relative;
    background: #fff8e8;
    box-shadow: 0px 0px 0px 5px #fff8e8;
    border: dashed 2px white;
    padding: 0.2em 0.5em;
}
.flow-box:after{
    position: absolute;
    content: '';
    right: -10px;
    top: -10px;
    border-width: 0 20px 20px 0;
    border-style: solid;
    border-color: #fff0cd #fff #fff0cd;
    box-shadow: -1px 1px 1px rgba(0, 0, 0, 0.15);
}
 .flow-box-gray{
    position: relative;
    background: #dedede;
    box-shadow: 0px 0px 0px 5px #dedede;
    border: dashed 2px white;
    padding: 0.2em 0.5em;
}
.flow-box-gray:after{
    position: absolute;
    content: '';
    right: -10px;
    top: -10px;
    border-width: 0 20px 20px 0;
    border-style: solid;
    border-color: #a6a6a6 #fff #a6a6a6;
    box-shadow: -1px 1px 1px rgba(0, 0, 0, 0.15);
}

 /****************************************************************************
 * 
 * 選考フローここまで
 * 
 *****************************************************************************/
  /****************************************************************************
 * 
 * 数字でわかるここから
 * 
 *****************************************************************************/
 
 .data-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr); /* 横3列 */
	gap: 2rem;
	max-width: 800px;
	margin: 0 auto;
	padding: 2rem 1rem;
}

/* 各ブロック全体 */
.data-block {
	border-radius: 12px;
	overflow: hidden; /* 角丸を内側要素にも反映 */
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
	background: #fff;
	text-align: center;
	transition: transform 0.2s ease;
}

.data-block:hover {
	transform: translateY(-4px);
}

.data-title {
	background-color: #26AB9C;
	color: white;
	font-weight: bold;
	font-size: clamp(1.0em, calc(2.5vw), 1.4em);
	padding: 0.8em 0;
}

.data-content {
	background-color: #fff;
	color: #26AB9C;
	font-size: 1.2em;
	font-weight: bold;
	padding: 1.5em 0em 0.5em 0em;
}

.data-number{
	font-size:4.0em;
	font-weight:700;
}

/* スマホの場合は2列に */
@media (max-width: 700px) {
	.data-grid {
		grid-template-columns: repeat(2, 1fr);
		gap: 1.5rem;
	}
}

  /****************************************************************************
 * 
 * 数字でわかるここまで
 * 
 *****************************************************************************/
   /****************************************************************************
 * 
 * よくある質問ここから
 * 
 *****************************************************************************/
.wrap-line{
	width:100%;
	border:5px solid #e8bfbf;
	border-radius:10px;
	box-shadow: 1px 5px 5px 1px #222222;
	background: #8aa9d7;
	padding: 0 auto;
	margin: 0 auto;
	box-sizing: border-box;
}
.wrap-line h2{
	display: block;
	background:#fcfcf7;
	margin-top: 0em;
	padding-top: 1em;
	width: 100%;
}
.faq {
	width: 100%;
	margin: 0 auto;
	padding: 0em 1em 2em 1em;
	font-family: "Hiragino Sans", "Noto Sans JP", sans-serif;
}

.faq p{
	font-size: 1.5em;
	padding-left: 0.5em;
	padding-right: 0.5em;
	margin-bottom: 0.5em;
	margin-top:0.5em;
}

/* 各チャットの間隔 */
.chat {
	display: flex;
	flex-direction: column;
	gap: 0.6em;
	margin-bottom: 0.5em;
}

/* 質問（右寄せ） */
.question {
	align-self: flex-end;
	background: #9fe6a0;
	color: #000;
	border-radius: 1em 1em 0 1em;
	padding: 0.8em 1.2em;
	max-width: 80%;
	position: relative;
	font-weight: 600;
}
.question::after {
	content: "";
	position: absolute;
	right: -8px;
	bottom: 8px;
	border-width: 8px 0 8px 10px;
	border-style: solid;
	border-color: transparent transparent transparent #9fe6a0;
}

/* 回答（左寄せ） */
.answer {
	align-self: flex-start;
	background: #fdfdfd;
	color: #333;
	border-radius: 1em 1em 1em 0;
	padding: 0.8em 1.2em;
	max-width: 80%;
	position: relative;
	box-shadow: 0 2px 4px rgba(0,0,0,0.05);
}
.answer::after {
	content: "";
	position: absolute;
	left: -8px;
	bottom: 8px;
	border-width: 8px 10px 8px 0;
	border-style: solid;
	border-color: transparent #fdfdfd transparent transparent;
}

/* モバイル対応 */
@media (max-width: 600px) {
	.question,
	.answer {
		max-width: 95%;
		font-size: 1rem;
	}
}

    /****************************************************************************
 * 
 * よくある質問ここまで
 * 
 *****************************************************************************/